# -*- 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$ PortSystem 1.0 name octave version 3.2.4 revision 15 conflicts octave-devel categories math science license GPL-3+ maintainers nomaintainer platforms darwin description a Matlab-like environment for numerical analysis long_description Octave provides a convenient command line interface \ for solving linear and nonlinear problems numerically, \ using a language that is mostly compatible with Matlab. \ It is easily extensible and customizable via \ user-defined functions or using dynamically loaded \ modules written in e.g. C++, C or Fortran. homepage http://www.gnu.org/software/octave/ master_sites gnu checksums md5 90c39fa9e241ad2e978bcee4682a2ba9 \ sha1 93b81fc300bc5e27e88b6668ef0622f29898dfd2 \ rmd160 13b2198db1b8684229d2ba787ebbedd8e50a518c depends_build port:gawk \ path:bin/perl:perl5 \ port:texinfo depends_lib port:arpack \ port:curl \ port:fftw-3 \ port:fftw-3-single \ port:ftgl \ port:ghostscript \ port:glpk \ port:GraphicsMagick \ port:gnuplot \ port:hdf5-18 \ port:metis \ port:ncurses \ port:pcre \ port:readline \ port:qhull \ port:qrupdate \ port:SuiteSparse \ port:gsed # TODO: Fix build with clang #./DiagArray2.h:97:19: error: dependent using declaration resolved to type without 'typename' # using Array::element_type; # ^ #./MDiagArray2.h:42:22: note: in instantiation of template class 'DiagArray2 >' requested here #MDiagArray2 : public DiagArray2 # ^ #./CDiagMatrix.h:39:28: note: in instantiation of template class 'MDiagArray2 >' requested here #ComplexDiagMatrix : public MDiagArray2 # ^ #./Array.h:103:13: note: target of using declaration # typedef T element_type; # ^ compiler.blacklist *clang* platform darwin { if {${os.major} >= 13} { # TODO: Test Mavericks once the clang build failures are addressed depends_lib depends_run pre-fetch { ui_error "$name does not build on Mavericks or later." error "unsupported platform" } } } patchfiles \ patch-configure-no_x11.diff \ patch-liboctave_oct-alloc.h.diff \ patch-liboctave_oct-inttypes.h.diff \ patch-lo-specfun.cc.diff \ patch-src_pr-output.cc.diff \ patch-urlwrite.cc.diff post-patch { reinplace "s|-lcholmod|-lcholmod -lmetis|g" ${worksrcpath}/configure } configure.args --enable-shared \ --enable-dl \ --with-hdf5 \ --with-fftw \ --enable-static \ --enable-readline \ --with-zlib \ --with-glpk \ --with-curl \ --with-lapack \ --with-umfpack \ --with-colamd \ --with-ccolamd \ --with-cholmod \ --with-cxsparse \ --without-framework-carbon configure.perl ${prefix}/bin/perl configure.python ' ' configure.awk ${prefix}/bin/gawk configure.env-append SED="${prefix}/bin/gsed" \ MAKEINFO="${prefix}/bin/makeinfo" \ TEXI2DVI="${prefix}/bin/texi2dvi" \ TEXI2PDF="${prefix}/bin/texi2pdf" configure.cppflags post-configure { reinplace "s|UMFPACK_LIBS = -lumfpack|UMFPACK_LIBS = -lSuiteSparse -lumfpack|" ${worksrcpath}/Makeconf reinplace "s|-I${prefix}/include ||g" ${worksrcpath}/Makeconf reinplace "s|-I${prefix}/include$||g" ${worksrcpath}/Makeconf } use_parallel_build no universal_variant no test.run yes test.target check variant atlas conflicts accelerate description {use BLAS from ATLAS} { depends_lib-append port:atlas } variant accelerate conflicts atlas description {use BLAS from Accelerate.framework} { if {![variant_isset g95]} { configure.fflags-append -ff2c } if {[variant_isset g95] || ([string match *64* $build_arch] && ${os.major} >= 10)} { depends_lib-append port:dotwrp configure.args-append --with-blas="-ldotwrp -framework Accelerate" } configure.args-append --with-lapack="-framework Accelerate" } if {[variant_isset g95]} { default_variants +accelerate } elseif {![variant_isset accelerate]} { default_variants +atlas } if {![variant_isset atlas] && ![variant_isset accelerate]} { pre-fetch { return -code error "You must use either the atlas or accelerate variant." } } set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9} set default_fortran_variant +gcc48 set g95_conflicts {} foreach ver ${gcc_versions} { set ver_no_dot [join [split ${ver} "."] ""] set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}" conflicts g95} foreach over ${gcc_versions} { if {${ver} == ${over}} { continue } set over_no_dot [join [split ${over} "."] ""] append variant_line " conflicts gcc${over_no_dot}" } append variant_line { {}} eval $variant_line append g95_conflicts " conflicts gcc${ver_no_dot}" if {[variant_isset gcc${ver_no_dot}]} { if {${default_fortran_variant} != "+gcc${ver_no_dot}"} { set default_fortran_variant "" } } } eval [concat {variant g95 description {build with g95}} $g95_conflicts {{}}] if {[variant_isset g95]} { if {${default_fortran_variant} != "+g95"} { set default_fortran_variant "" } } if {${default_fortran_variant} != ""} { default_variants-append "${default_fortran_variant}" } foreach ver ${gcc_versions} { set ver_no_dot [join [split ${ver} "."] ""] if {[variant_isset gcc${ver_no_dot}]} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc${ver_no_dot} configure.fc ${prefix}/bin/gfortran-mp-${ver} configure.f77 ${prefix}/bin/gfortran-mp-${ver} configure.f90 ${prefix}/bin/gfortran-mp-${ver} } } if {[variant_isset g95]} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:g95 configure.fc ${prefix}/bin/g95 configure.f77 ${prefix}/bin/g95 configure.f90 ${prefix}/bin/g95 } livecheck.type regex livecheck.url http://www.gnu.org/software/octave/news.html livecheck.regex Version (\\d+(\\.\\d+)*)