364
edits
(Remove "docs" variant and include "arpack" as a dependent library) |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This prototype [http://www.macports.org/ MacPorts] portfile is intended to be used to produce a [[Create_a_MacOS_X_App_Bundle_Using_MacPorts|Octave App bundle for MacOS X]]. Before using it, please verify that the ''version'' number of Octave is correct. If a change is made to the file, it is recommended that the ''revision'' number be incremented to ensure that MacPorts recognizes that the port is outdated and in need of being upgraded. | This prototype [http://www.macports.org/ MacPorts] portfile is intended to be used to produce a [[Create_a_MacOS_X_App_Bundle_Using_MacPorts|Octave App bundle for MacOS X]]. Before using it, please verify that the ''version'' number of Octave is correct. If a change is made to the file, it is recommended that the ''revision'' number be incremented to ensure that MacPorts recognizes that the port is outdated and in need of being upgraded. | ||
This portfile deviates significantly from the Octave portfile provided by MacPorts. Specifically, this portfile has fltk-devel, epstool, pstoedit, and transfig as required dependencies. In addition, METIS has been removed, as it's license is not compatible with GPL. | This portfile deviates significantly from the Octave portfile provided by MacPorts. Specifically, this portfile has fltk-devel, epstool, pstoedit, and transfig as required dependencies. In addition, METIS has been removed, as it's license is not compatible with GPL. Since the <code>transfig</code> port ultimately includes <code>xord-libx11</code> which triggers an error during the <code>port mdmg</code> the <code>transfig</code> port has also been removed. | ||
<nowiki># -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 | <nowiki># -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 | ||
# $Id$ | # $Id: Portfile 106065 2013-05-14 09:28:04Z ryandesign@macports.org $ | ||
PortSystem 1.0 | PortSystem 1.0 | ||
name octave-local | name octave-local | ||
version 3. | version 3.6.4 | ||
revision | revision 3 | ||
conflicts octave octave-devel | conflicts octave, octave-devel | ||
categories math science | categories math science | ||
maintainers michaelld openmaintainer | maintainers michaelld openmaintainer | ||
license GPL-3 | |||
platforms darwin | platforms darwin | ||
description a Matlab-like environment for numerical analysis | description a Matlab-like environment for numerical analysis | ||
long_description Octave provides a convenient command line interface \ | long_description Octave provides a convenient command line interface \ | ||
Line 24: | Line 26: | ||
homepage http://www.gnu.org/software/octave/ | homepage http://www.gnu.org/software/octave/ | ||
master_sites | master_sites gnu:octave | ||
dist_subdir octave | dist_subdir octave | ||
distname octave-${version} | distname octave-${version} | ||
use_bzip2 yes | |||
checksums | checksums rmd160 b0356f0c5d9366b8129d72ac58bbde837fee1a95 \ | ||
sha256 fa185df9591f5d740f4d37ff6eaf06db576fdd3e0ddd9d0737365799e5d1c962 | |||
depends_build port:bison \ | depends_build port:bison \ | ||
Line 37: | Line 39: | ||
port:gperf \ | port:gperf \ | ||
port:grep \ | port:grep \ | ||
path:bin/perl:perl5 \ | path:bin/perl:perl5 \ | ||
port:pkgconfig \ | |||
port:texinfo | port:texinfo | ||
depends_lib | depends_lib port:curl \ | ||
port:fftw-3 \ | port:fftw-3 \ | ||
port:fftw-3-single \ | port:fftw-3-single \ | ||
port:ftgl \ | port:ftgl \ | ||
port:ghostscript \ | port:ghostscript \ | ||
port:glpk \ | port:glpk \ | ||
port:GraphicsMagick \ | port:GraphicsMagick \ | ||
port:gnuplot \ | port:gnuplot \ | ||
port:gsed \ | |||
port:hdf5-18 \ | port:hdf5-18 \ | ||
port:less \ | port:less \ | ||
port:ncurses \ | port:ncurses \ | ||
port:pcre \ | port:pcre \ | ||
port:qhull \ | port:qhull \ | ||
port:qrupdate \ | port:qrupdate \ | ||
port:readline \ | |||
port:SuiteSparse | port:SuiteSparse | ||
depends_run port:epstool \ | depends_run port:epstool \ | ||
port:pstoedit | port:pstoedit | ||
# allow us to disable checking for FLTK | |||
# via the environment variable "FLTK_CONFIG" | |||
patchfiles-append patch-configure.diff | |||
universal_variant no | universal_variant no | ||
# | # octave requires a fortran compiler, so require the use of one of the | ||
# MacPorts GCC ports (for now). | |||
compiler.blacklist gcc-3.3 gcc-4.0 gcc-4.2 llvm-gcc-4.2 \ | |||
apple-gcc-4.0 apple-gcc-4.2 clang macports-clang-2.9 \ | |||
macports-clang-3.0 macports-clang-3.1 macports-clang-3.2 \ | |||
macports-clang-3.3 macports-llvm-gcc-4.2 | |||
configure.args --disable-dependency-tracking \ | configure.args --disable-dependency-tracking \ | ||
--without-x \ | --without-x \ | ||
--with-cholmod="-lcholmod" | --disable-docs \ | ||
--with-cholmod="-lcholmod" \ | |||
--with-umfpack="-lumfpack -lSuiteSparse" | |||
# octave uses a number of other ports to create sources from template: | # octave uses a number of other ports to create sources from template: | ||
Line 84: | Line 93: | ||
configure.awk ${prefix}/bin/gawk | configure.awk ${prefix}/bin/gawk | ||
configure.env-append GREP="${prefix}/bin/grep" \ | configure.env-append GREP="${prefix}/bin/grep" \ | ||
FLTK_CONFIG=no \ | |||
SED="${prefix}/bin/gsed" \ | SED="${prefix}/bin/gsed" \ | ||
TEXI2DVI="${prefix}/bin/texi2dvi" \ | TEXI2DVI="${prefix}/bin/texi2dvi" \ | ||
TEXI2PDF="${prefix}/bin/texi2pdf" | TEXI2PDF="${prefix}/bin/texi2pdf" \ | ||
configure. | APPLE_CXX="/usr/bin/g++" | ||
configure. | configure.cppflags | ||
configure.ldflags | |||
pre-build { | |||
reinplace "/'display\.cc'/s@\$(CXX)@\$(APPLE_CXX)@g" \ | |||
${worksrcpath}/src/Makefile | |||
} | |||
build.env-append APPLE_CXX="/usr/bin/g++" | |||
test.run yes | test.run yes | ||
test.target check | test.target check | ||
platform darwin 11 { | |||
# 10.7 requires an extra patch; this patch will break the build on | |||
# 10.6 and prior, so apply it only under 10.7. | |||
patchfiles-append patch-src-display.cc.diff | |||
} | |||
platform darwin 12 { | |||
# In 10.8 patch is required as above, also | |||
# the LANG environment variable needs to | |||
# be set to "C" otherwise /usr/bin/sed | |||
# fails with an error, if you installed gsed | |||
# with default name this should have no effect. | |||
patchfiles-append patch-src-display.cc.diff | |||
build.args-append LANG="C" | |||
} | |||
variant | variant gcc43 description {build with the macports gcc43 toolchain} conflicts gcc48 gcc47 gcc46 gcc45 gcc44 g95 {} | ||
variant | variant gcc44 description {build with the macports gcc44 toolchain} conflicts gcc48 gcc47 gcc46 gcc45 gcc43 g95 {} | ||
variant | variant gcc45 description {build with the macports gcc45 toolchain} conflicts gcc48 gcc47 gcc46 gcc44 gcc43 g95 {} | ||
variant g95 description {build with g95} conflicts gcc43 gcc44 | variant gcc46 description {build with the macports gcc46 toolchain} conflicts gcc48 gcc47 gcc45 gcc44 gcc43 g95 {} | ||
variant gcc47 description {build with the macports gcc47 toolchain} conflicts gcc48 gcc46 gcc45 gcc44 gcc43 g95 {} | |||
variant gcc48 description {build with the macports gcc48 toolchain} conflicts gcc47 gcc46 gcc45 gcc44 gcc43 g95 {} | |||
variant g95 description {build with g95} conflicts gcc48 gcc47 gcc46 gcc45 gcc44 gcc43 { | |||
depends_build-append port:g95 | depends_build-append port:g95 | ||
configure.f77 "${prefix}/bin/g95" | configure.f77 "${prefix}/bin/g95" | ||
Line 126: | Line 165: | ||
# default found in the 'atlas' port (but, this is not checked for). | # default found in the 'atlas' port (but, this is not checked for). | ||
# check for setting the default variant ( | # check for setting the default variant (gcc47) | ||
if { ![variant_isset gcc43] && ![variant_isset gcc44] && \ | |||
if { ![variant_isset gcc43] && ![variant_isset gcc44] && \ | |||
![variant_isset gcc45] && ![variant_isset gcc46] && \ | ![variant_isset gcc45] && ![variant_isset gcc46] && \ | ||
![variant_isset gcc47] && ![variant_isset gcc48] && \ | |||
![variant_isset g95] } { | ![variant_isset g95] } { | ||
default_variants + | default_variants +gcc47 | ||
} | } | ||
# check if the user disabled just the default variant: - | # check if the user disabled just the default variant: -gcc47 | ||
if { ![variant_isset gcc43] && ![variant_isset gcc44] && \ | |||
if { ![variant_isset gcc43] && ![variant_isset gcc44] && \ | |||
![variant_isset gcc45] && ![variant_isset gcc46] && \ | ![variant_isset gcc45] && ![variant_isset gcc46] && \ | ||
![variant_isset gcc47] && ![variant_isset gcc48] && \ | |||
![variant_isset g95] } { | ![variant_isset g95] } { | ||
error "You | pre-fetch { | ||
error "You must select one of the compiler variants." | |||
} | |||
} | } | ||
Line 149: | Line 194: | ||
} elseif {[variant_isset gcc46]} { | } elseif {[variant_isset gcc46]} { | ||
set gcc_version "4.6" | set gcc_version "4.6" | ||
} elseif {[variant_isset gcc47]} { | |||
set gcc_version "4.7" | |||
} elseif {[variant_isset gcc48]} { | |||
set gcc_version "4.8" | |||
} | } | ||
if {${gcc_version} != ""} { | if {${gcc_version} != ""} { | ||
set gcc_version_join [join [split ${gcc_version} "."] ""] | set gcc_version_join [join [split ${gcc_version} "."] ""] | ||
configure.ldflags | configure.ldflags "-L${prefix}/lib/gcc${gcc_version_join}" | ||
configure.ldflags-append -lstdc++ \ | |||
-lgfortran | |||
depends_build-append port:gcc${gcc_version_join} | depends_build-append port:gcc${gcc_version_join} | ||
configure.compiler macports-gcc-${gcc_version} | configure.compiler macports-gcc-${gcc_version} | ||
} | |||
variant docs description {Enable creation and installation of documentation} { | |||
depends_run-append port:texlive-basic | |||
# latex needed for lcircle10 font etc. | |||
depends_build-append port:texlive-latex | |||
configure.args-replace s|--disable-docs|--enable-docs| | |||
} | } | ||
Line 161: | Line 219: | ||
configure.args-replace s|--without-x|--with-x| | configure.args-replace s|--without-x|--with-x| | ||
configure.args-append --x-includes=${prefix} | configure.args-append --x-includes=${prefix} | ||
} | |||
variant fltk description {Include FLTK for graphical front-end} { | |||
depends_lib-append path:lib/libfltk.dylib:fltk | |||
configure.env-delete FLTK_CONFIG=no | |||
} | } | ||
Line 166: | Line 229: | ||
livecheck.url http://www.gnu.org/software/octave/news.html | livecheck.url http://www.gnu.org/software/octave/news.html | ||
livecheck.regex Version (\\d+(\\.\\d+)*) | livecheck.regex Version (\\d+(\\.\\d+)*) | ||
</nowiki> | </nowiki> |
edits