Editing Prototype MacPorts PortFile

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Warning|This page is outdated (June 2020).  For more recent information, see [[Octave for macOS]].}}
 
 
 
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.  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.
+
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.
  
 
  <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: Portfile 106065 2013-05-14 09:28:04Z ryandesign@macports.org $
+
# $Id$
  
 
PortSystem 1.0
 
PortSystem 1.0
  
 
name                octave-local
 
name                octave-local
version            3.6.4
+
version            3.7.0+
revision            3
+
revision            4
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 28: Line 24:
  
 
homepage            http://www.gnu.org/software/octave/
 
homepage            http://www.gnu.org/software/octave/
master_sites        gnu:octave
+
master_sites        http://alpha.gnu.org/gnu/octave/
 
dist_subdir        octave
 
dist_subdir        octave
 
distname            octave-${version}
 
distname            octave-${version}
use_bzip2          yes
 
  
checksums          rmd160  b0356f0c5d9366b8129d72ac58bbde837fee1a95 \
+
checksums          md5    a9849cbead1c6f02a25a22a3142d1c1c \
                     sha256 fa185df9591f5d740f4d37ff6eaf06db576fdd3e0ddd9d0737365799e5d1c962
+
                    sha1    1ee3fcdfcdcea91b4859191f8e4664ca7965943f \
 +
                     rmd160 2136309873c105bd9b06e01ed5726a4a281074f4
  
 
depends_build      port:bison \
 
depends_build      port:bison \
Line 41: Line 37:
 
                     port:gperf \
 
                     port:gperf \
 
                     port:grep \
 
                     port:grep \
 +
                    port:gsed \
 
                     path:bin/perl:perl5 \
 
                     path:bin/perl:perl5 \
                    port:pkgconfig \
 
 
                     port:texinfo
 
                     port:texinfo
  
Line 49: Line 45:
 
                     port:fftw-3-single \
 
                     port:fftw-3-single \
 
                     port:ftgl \
 
                     port:ftgl \
 +
                    port:fltk-devel \
 
                     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:readline \
 
                     port:qhull \
 
                     port:qhull \
 
                     port:qrupdate \
 
                     port:qrupdate \
                    port:readline \
 
 
                     port:SuiteSparse
 
                     port:SuiteSparse
  
 
depends_run        port:epstool \
 
depends_run        port:epstool \
 +
                    port:transfig \
 
                     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
+
# do not use CLANG (yet)
# MacPorts GCC ports (for now).
+
if {${configure.compiler} == "clang"} {
 
+
     configure.compiler llvm-gcc-4.2
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 \
 
                     --disable-docs \
 
                     --disable-docs \
                     --with-cholmod="-lcholmod" \
+
                     --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 95: Line 84:
 
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"
                    APPLE_CXX="/usr/bin/g++"
 
 
configure.cppflags
 
configure.cppflags
 
configure.ldflags
 
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 {
+
variant gcc43 description {build with the macports gcc43 toolchain} conflicts gcc46 gcc45 gcc44 g95 {}
    # 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 gcc43 description {build with the macports gcc43 toolchain} conflicts gcc48 gcc47 gcc46 gcc45 gcc44 g95 {}
+
variant gcc44 description {build with the macports gcc44 toolchain} conflicts gcc46 gcc45 gcc43 g95 {}
  
variant gcc44 description {build with the macports gcc44 toolchain} conflicts gcc48 gcc47 gcc46 gcc45 gcc43 g95 {}
+
variant gcc45 description {build with the macports gcc45 toolchain} conflicts gcc46 gcc44 gcc43 g95 {}
  
variant gcc45 description {build with the macports gcc45 toolchain} conflicts gcc48 gcc47 gcc46 gcc44 gcc43 g95 {}
+
variant gcc46 description {build with the macports gcc45 toolchain} conflicts gcc45 gcc44 gcc43 g95 {}
  
variant gcc46 description {build with the macports gcc46 toolchain} conflicts gcc48 gcc47 gcc45 gcc44 gcc43 g95 {}
+
variant g95 description {build with g95} conflicts gcc43 gcc44 gcc45 gcc46 {
 
 
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 167: Line 125:
 
# 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 (gcc47)
+
# check for setting the default variant (gcc44)
 
+
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 +gcc47
+
     default_variants +gcc44
 
}
 
}
  
# check if the user disabled just the default variant: -gcc47
+
# check if the user disabled just the default variant: -gcc44
 
+
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] } {
     pre-fetch {
+
     error "You cannot use the variant -gcc44 alone."
        error "You must select one of the compiler variants."
 
    }
 
 
}
 
}
  
Line 196: Line 148:
 
} 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 "-L${prefix}/lib/gcc${gcc_version_join}"
+
     configure.ldflags   "${prefix}/lib/gcc${gcc_version_join}/libstdc++.6.dylib"
    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}
Line 213: Line 159:
 
variant docs description {Enable creation and installation of documentation} {
 
variant docs description {Enable creation and installation of documentation} {
 
     depends_run-append port:texlive-basic
 
     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|
 
     configure.args-replace s|--disable-docs|--enable-docs|
 
}
 
}
Line 221: Line 165:
 
     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
 
 
}
 
}
  
 
livecheck.type      regex
 
livecheck.type      regex
 
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>
 
 
 
[[Category:Outdated pages]]
 

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: