[148698] trunk/dports/math/octave
mcalhoun at macports.org
mcalhoun at macports.org
Sun May 15 02:55:48 PDT 2016
Revision: 148698
https://trac.macports.org/changeset/148698
Author: mcalhoun at macports.org
Date: 2016-05-15 02:55:48 -0700 (Sun, 15 May 2016)
Log Message:
-----------
octave: update version 3.8.2->4.0.2 (major changes; fixes #47979)
Modified Paths:
--------------
trunk/dports/math/octave/Portfile
trunk/dports/math/octave/files/patch-gl2ps_renderer.diff
trunk/dports/math/octave/files/patch-yosemite-libtool.diff
Added Paths:
-----------
trunk/dports/math/octave/files/clang-libcxx-fix.patch
trunk/dports/math/octave/files/octave-bug_41027.patch
trunk/dports/math/octave/files/patch-e870a68742a6.diff
Removed Paths:
-------------
trunk/dports/math/octave/files/Info.plist
trunk/dports/math/octave/files/Octave
trunk/dports/math/octave/files/Octave.icns
trunk/dports/math/octave/files/patch-clang-libcxx.diff
Modified: trunk/dports/math/octave/Portfile
===================================================================
--- trunk/dports/math/octave/Portfile 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/Portfile 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,375 +1,521 @@
-# -*- 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
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$
PortSystem 1.0
+PortGroup compilers 1.0
+PortGroup muniversal 1.0
PortGroup active_variants 1.1
PortGroup compiler_blacklist_versions 1.0
-PortGroup compilers 1.0
name octave
-
-version 3.8.2
-revision 18
-#conflicts octave-devel
+version 4.0.2
categories math science
-maintainers michaelld openmaintainer
-license GPL-3
platforms darwin
+license GPL-3+
+maintainers michaelld mcalhoun openmaintainer
+description a high-level language for numerical computations
+long_description \
+ GNU Octave is a high-level language, primarily intended for numerical \
+ computations. It provides a convenient command line interface for \
+ solving linear and nonlinear problems numerically.
-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
-homepage http://www.gnu.org/software/octave/
-dist_subdir octave
-distname octave-${version}
master_sites gnu:octave
-use_bzip2 yes
-checksums rmd160 60201b29d368d0c935a34288c227d202ae286c6c \
- sha256 83bbd701aab04e7e57d0d5b8373dd54719bebb64ce0a850e69bf3d7454f33bae
+checksums rmd160 2f910e95b01d49d9ecfece61c901709b124227ac \
+ sha256 39cd8fd36c218fc00adace28d74a6c7c9c6faab7113a5ba3c4372324c755bdc1
-compilers.choose fc f77 f90
-compilers.setup require_fortran
+# Block compilers: Some older versions of CLANG do not honor the CPATH
+# environment variables, which is required for compiling this port
+# when using MacPorts. The versions seem to be: MacPorts CLANG 2.9 or
+# earlier, and Apple CLANG 318.0.58 or older.
+#
+# See also < http://llvm.org/bugs/show_bug.cgi?id=8971 >
+# < https://trac.macports.org/ticket/40250 >.
+compiler.blacklist-append { clang <= 318.0.61 }
-depends_build-append \
- port:bison \
- port:flex \
- port:gperf \
- path:bin/perl:perl5 \
- port:pkgconfig
+# see http://savannah.gnu.org/bugs/?func=detailitem&item_id=46592
+patchfiles-append \
+ patch-e870a68742a6.diff
-depends_lib-append \
- port:arpack \
- port:curl \
- port:fftw-3 \
- port:fftw-3-single \
- port:gawk \
- port:glpk \
- port:gnuplot \
- port:GraphicsMagick \
- port:grep \
- port:gsed \
- port:hdf5 \
- port:less \
- port:ncurses \
- port:pcre \
- port:qhull \
- port:qrupdate \
- port:readline \
- port:SuiteSparse \
- port:zlib \
- port:texinfo
+# see http://savannah.gnu.org/bugs/?41027
+patchfiles-append \
+ octave-bug_41027.patch
-depends_run-append port:epstool \
- port:ghostscript \
- port:transfig \
- port:pstoedit
+# Don't link with "-flat_namespace -undefined suppress"
+# on Mac OS X 10.10 Yosemite and later.
+patchfiles-append patch-yosemite-libtool.diff
-# Octave's build system does not produce universal binaries
+pre-patch {
+ # code located in pre-patch because variants from PortGroup compilers must
+ # be evaluated before it can be determined if clang is being used
-universal_variant no
+ # see http://trac.macports.org/ticket/45011
+ # see http://savannah.gnu.org/bugs/?43298
+ set libcxxbug no
+ if { ${configure.cc} eq "/usr/bin/clang" && [lindex [split ${xcodeversion} .] 0] eq 6 } {
+ set libcxxbug yes
+ } elseif { [variant_exists clang35] && [variant_isset clang35] } {
+ set libcxxbug yes
+ }
+ if { ${libcxxbug} } {
+ patchfiles-append \
+ clang-libcxx-fix.patch
+ }
-# Don't link with "-flat_namespace -undefined suppress"
-# on Mac OS X 10.10 Yosemite and later.
+ # see https://trac.macports.org/ticket/44704
+ set gl2psbug no
+ if { ${configure.cc} eq "/usr/bin/clang" && [vercmp ${xcodeversion} 5.0.0] < 0 } {
+ set gl2psbug yes
+ } elseif { [variant_exists clang33] && [variant_isset clang33] } {
+ set gl2psbug yes
+ }
+ if { ${gl2psbug} } {
+ patchfiles-append patch-gl2ps_renderer.diff
+ }
+}
-patchfiles-append patch-yosemite-libtool.diff
+# avoid depends_build-append port:coreutils
+configure.env-append MKDIR_P="/bin/mkdir -p"
-# Fix certain versions of libc++ use of 'pow';
-# See also: < http://llvm.org/bugs/show_bug.cgi?id=21083 >
-# < https://trac.macports.org/ticket/45210 >
-# Adding in this patch will not hurt when using a working
-# version of libcxx (< 1101), nor with using libstdcxx
-# (where _LIBCPP_VERSION is not defined).
-#
-# REMINDER: check without this patch when new libcxx
-# is available, to determine a stopping point for
-# when this issue was fixed; add that version to
-# the patch to "mx-inlines.cc".
+# avoid depends_build-append port:cctools
+configure.env-append RANLIB=/usr/bin/ranlib
-patchfiles-append patch-clang-libcxx.diff
+# main octave port lists as a depends_lib
+# configure.ac list it among the "[p]rograms used in Makefiles"
+depends_build-append port:gawk
+configure.awk ${prefix}/bin/gawk
-# fix gl2ps renderer interface for compiling using older clang.
-# See also: < https://trac.macports.org/ticket/44704 >
+# in configure.ac, said to be "[p]rograms used to generate icons file formats
+depends_build-append \
+ port:icoutils \
+ port:librsvg
+configure.env-append \
+ ICOTOOL=${prefix}/bin/icotool \
+ RSVG_CONVERT=${prefix}/bin/rsvg-convert
-patchfiles-append patch-gl2ps_renderer.diff
+# main octave port lists as a depends_lib
+# configure.ac list it among the "[p]rograms used in Makefiles"
+depends_build-append port:grep
+configure.env-append GREP=${prefix}/bin/grep
+configure.env-append EGREP=${prefix}/bin/egrep
+configure.env-append FGREP=${prefix}/bin/fgrep
-# common configure arguments
+# configure.ac list it among the "[p]rograms used in Makefiles"
+depends_build-append port:findutils
+configure.env-append FIND=${prefix}/bin/gfind
-configure.args \
- --disable-dependency-tracking \
- --with-umfpack="-lumfpack -lSuiteSparse" \
- --enable-docs \
- --enable-strict-warning-flags \
- --disable-silent-rules
+# main octave port lists as a depends_lib
+# configure.ac list it among the "[p]rograms used in Makefiles"
+depends_build-append port:gsed
+configure.env-append SED=${prefix}/bin/gsed
-# when using "hdf5 +mpich", have to manually include
-# "/opt/local/include/mpich-mp". See also:
-# < https://trac.macports.org/ticket/47618 >
+depends_build-append port:flex
+configure.env-append LEX=${prefix}/bin/flex
-pre-configure {
- # is hdf5 installed and active?
- if {![catch {set installed [lindex [registry_active hdf5] 0]}]} {
- # yes: is this one installed with +mpich*?
- set _variants [lindex ${installed} 3]
- if {[string first {mpich} ${_variants}] != -1} {
- # yes; set cpath for both configure and build stages
- compiler.cpath-append ${prefix}/include/mpich-mp
- # and, set the configure flag, just in case
- configure.args-append \
- "--with-hdf5-includedir=${prefix}/include/mpich-mp"
- }
- }
-}
+depends_build-append port:bison
+configure.env-append YACC="${prefix}/bin/bison -y"
-# octave uses a number of other ports to create sources from template:
-# perl, gawk, gsed, flex, bison, texinfo. Make sure these are the
-# MacPorts' versions. Python is not used if perl is available, so
-# clear it out. grep is checked for in 'configure', but not used
-# except inside that script; include it here for completion.
+depends_build-append port:gperf
+configure.env-append GPERF=/usr/bin/gperf
-configure.perl ${prefix}/bin/perl
-configure.python ' '
-configure.awk ${prefix}/bin/gawk
-configure.env-append GREP="${prefix}/bin/grep" \
- SED="${prefix}/bin/gsed" \
- TEXI2DVI="${prefix}/bin/texi2dvi" \
- TEXI2PDF="${prefix}/bin/texi2pdf"
-configure.cppflags
-configure.ldflags
+# configure.ac list it among the "[p]rograms used in Makefiles"
+depends_build-append port:perl5
+configure.perl ${prefix}/bin/perl5
-test.run yes
-test.target check
+# avoid depends_build-append port:desktop-file-utils
+#configure.env-append DESKTOP_FILE_INSTALL=""
+configure.env-append ac_cv_prog_DESKTOP_FILE_INSTALL=""
-# Block compilers: Some older versions of CLANG do not honor the CPATH
-# environment variables, which is required for compiling this port
-# when using MacPorts. The versions seem to be: MacPorts CLANG 2.9 or
-# earlier, and Apple CLANG 318.0.58 or older.
+depends_build-append \
+ port:pkgconfig
+
+compilers.choose fc f77 f90 cc cxx
+
+# for now, limit the number of variants
+# some of these compilers may work fine
+compilers.setup \
+ require_fortran \
+ -dragonegg \
+ -gcc49 \
+ -gcc48 \
+ -gcc46 \
+ -gcc45 \
+ -gcc44 \
+ -g95 \
+ -llvm \
+ -gcc47 \
+ -gcc46 \
+ -gcc45 \
+ -gcc44 \
+ -clang36 \
+ -clang35 \
+ -clang34 \
+ -clang33
+
+# offscreen rendering with OpenGL via osmesa would be nice to have, but the following
+# causes a segmentation fault:
+# h = figure ("visible", "off"); fn = tempname (); sombrero (); __osmesa_print__ (h, fn, "svg");
#
-# See also < http://llvm.org/bugs/show_bug.cgi?id=8971 >
-# < https://trac.macports.org/ticket/40250 >.
+# solution is ???
+#
+#depends_lib-append port:mesa
+configure.args-append \
+ --without-OSMesa
-compiler.blacklist-append { clang <= 318.0.61 }
+#configure.args-append --with-shell=???
-platform darwin {
- if {${os.major} >= 12} {
+configure.args-append \
+ --with-framework-carbon \
+ --without-x \
+ --enable-static
- # In 10.8+, the LANG environment variable needs to be set to
- # "C" otherwise /usr/bin/sed fails with an error. Ideally,
- # octave's build system would honor the environment variable
- # ${SED} throughout; reality is that it does not, so this
- # addition is required because /usr/bin/sed will be used.
+configure.args-append \
+ --disable-openmp
- build.args-append LANG="C"
- }
-}
+configure.args-append \
+ --disable-java \
+ --disable-gui \
+ --without-fltk \
+ --without-opengl \
+ --disable-jit \
+ --without-sndfile \
+ --without-portaudio \
+ --without-magick \
+ --disable-docs
-# atlas does not work with g95, so always conflict with it
+# in configure.ac, listed as one of "[p]rograms used when running Octave"
+depends_lib-append port:python27
+configure.python ${prefix}/bin/python2.7
-variant atlas description {use BLAS from MacPorts' atlas port} \
- conflicts g95 accelerate {
+# in configure.ac, listed as one of "[p]rograms used when running Octave"
+depends_lib-append port:ghostscript
+configure.env-append GHOSTSCRIPT=${prefix}/bin/gs
- depends_lib-append port:atlas
- # NOTE: libtatlas does not work as of 3.10.1_5
- configure.args-append \
- --with-blas="-lcblas -lf77blas -latlas" \
- --with-lapack="-llapack"
+# in configure.ac, listed as one of "[p]rograms used when running Octave"
+depends_lib-append port:gnuplot
+configure.env-append GNUPLOT=${prefix}/bin/gnuplot
-}
+# in configure.ac, listed as one of "[p]rograms used when running Octave"
+depends_lib-append port:less
+configure.env-append DEFAULT_PAGER=${prefix}/bin/less
-variant accelerate description \
- {use BLAS from Apple's Accelerate.framework [might be buggy]} \
- conflicts atlas {
+depends_lib-append port:ncurses
+depends_lib-append port:readline
+depends_lib-append port:pcre
- depends_lib-append port:vecLibFort
+#--without-amd
+#--without-camd
+#--without-colamd
+#--without-cholmod
+#--without-cxsparse
+#--without-umfpack
+depends_lib-append port:SuiteSparse
+foreach lib {amd camd colamd cholmod cxsparse umfpack} {
configure.args-append \
- --with-blas=-lvecLibFort \
- --with-lapack="-Wl,-framework -Wl,Accelerate"
-
+ --with-${lib}="-l${lib} -lsuitesparseconfig"
}
-if {![variant_isset accelerate] && ![variant_isset atlas]} {
+#--without-qhull
+depends_lib-append port:qhull
- # when neither +accelerate nor +atlas is selected, default to the
- # correct one for the selected Fortran compiler.
- if {![variant_isset g95]} {
- default_variants +atlas
- } else {
- default_variants +accelerate
- }
+#--without-z
+depends_lib-append port:zlib
-}
+#--without-hdf5
+depends_lib-append port:hdf5
-# make sure that either +accelerate or +atlas is selected
+#--disable-fftw-threads
+#--without-fftw3
+#--without-fftw3f
+depends_lib-append port:fftw-3
+depends_lib-append port:fftw-3-single
-if {![variant_isset accelerate] && ![variant_isset atlas]} {
+#--without-glpk
+depends_lib-append port:glpk
- ui_error "\n\nYou must select either the +accelerate or +atlas variant.\n"
- return -code error "Invalid variant selection"
+#--without-curl
+depends_lib-append port:curl
-}
+#--without-qrupdate
+depends_lib-append port:qrupdate
-variant x11 conflicts glgui description {Enable use of X11} {}
+#--without-arpack
+depends_lib-append port:arpack
-if {[variant_isset x11]} {
+#--without-openssl
+depends_lib-append port:openssl
- configure.args-append --with-x --x-includes=${prefix}
+# fortran arch flag is not set automatically
+if {![variant_isset universal]} {
+ if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
+ configure.fflags-append -m64
+ } else {
+ configure.fflags-append -m32
+ }
+}
-} else {
+# see etc/README.MacOS
+depends_run-append \
+ port:epstool \
+ port:ghostscript \
+ port:transfig \
+ port:pstoedit
- configure.args-append --without-x
+variant accelerate description {use BLAS from Apple's Accelerate.framework} conflicts atlas openblas {
+ depends_lib-append port:vecLibFort
+ configure.args-append \
+ --with-blas=-lvecLibFort \
+ --with-lapack=""
}
-if {![variant_isset x11]} {
+variant openblas description {use BLAS from MacPorts' openblas port} conflicts atlas accelerate {
- default_variants +glgui
+ depends_lib-append path:lib/libopenblas.dylib:OpenBLAS
+ # LAPACK required
+ require_active_variants path:lib/libopenblas.dylib:OpenBLAS lapack
+ # replicate default values if configure script finds openblas on its own
+ configure.args-append \
+ --with-blas=-lopenblas \
+ --with-lapack=""
}
-variant glgui conflicts x11 description {Enable OpenGL GUI (via FLTK) as the default graphical front-end} {
+variant atlas description {use BLAS from MacPorts' atlas port} conflicts accelerate openblas {
+ depends_lib-append port:atlas
- depends_lib-append path:lib/libfltk.dylib:fltk
- depends_lib-append port:fontconfig \
- port:freetype \
- port:gl2ps
+ # replicate default values if configure script finds atlas on its own
+ configure.args-append \
+ --with-blas="-lcblas -lf77blas -latlas" \
+ --with-lapack=-llapack
+}
+if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } {
+ default_variants-append +accelerate
}
-if {[variant_isset glgui]} {
+if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } {
+ ui_error "\n\nYou must select either the +accelerate, +atlas, or +openblas variant.\n"
+ return -code error "Invalid variant selection"
+}
- configure.args-append --with-opengl
+variant java description {enable Java interface} {
+ PortGroup java 1.0
+ configure.args-replace --disable-java --enable-java
+}
+default_variants-append +java
-} else {
+variant qt4gui description {build the GUI using Qt4} {
+ PortGroup qt4 1.0
+ depends_lib-append port:qscintilla
+ configure.args-replace --disable-gui --enable-gui
+}
+default_variants-append +qt4gui
- configure.args-append --without-opengl
+variant fltk description {enable fltk as a graphics toolkit for plotting} {
+ depends_lib-append path:lib/libfltk.dylib:fltk
+ configure.args-replace --without-fltk --with-fltk
}
+default_variants-append +fltk
-variant gui requires qtgui description {Legacy variant} {}
+if {[variant_isset fltk] || [variant_isset qt4gui]} {
-variant qtgui description {Enable experimental Qt GUI Application} {
+ # native_graphics (fltk) and gui (Qt) require OpenGL and font and printing capabilities
+ depends_lib-append \
+ port:fontconfig \
+ port:freetype \
+ port:gl2ps
- PortGroup qt4 1.0
- depends_lib-append port:qscintilla
+ configure.args-replace --without-opengl --with-framework-opengl
+}
+if {[variant_isset fltk] && [variant_isset qt4gui]} {
+ notes-append "unless octave is run with --no-gui-libs, graphics_toolkit(\"fltk\") will cause a crash"
}
-if {[variant_isset qtgui]} {
+variant jit description {enable JIT compiler (EXPERIMENTAL)} {
+ # JIT requires LLVM, so select a version to use
+ set llvm_ver 3.8
- configure.args-append --enable-gui
+ # prevent multiple versions of llvm being required
+ # if clangXY compiler is requested, use llvm-X.Y
+ foreach clang ${compilers.clang_variants} {
+ if { [variant_exists ${clang}] && [variant_isset ${clang}] } {
+ set llvm_ver [string index ${clang} end-1].[string index ${clang} end]
+ }
+ }
-} else {
+ depends_lib-append port:llvm-${llvm_ver}
+ configure.args-replace --disable-jit --enable-jit
+ configure.env-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_ver}
+ configure.cxxflags-append -std=c++11
+}
- configure.args-append --disable-gui
+variant sound description {enable audio support (file I/O and playback)} {
+ depends_lib-append port:libsndfile
+ depends_lib-append port:portaudio
+ configure.args-replace --without-sndfile --with-sndfile
+ configure.args-replace --without-portaudio --with-portaudio
}
+default_variants-append +sound
-variant java description {Enable Java interface} {}
+variant app description "build application bundle to launch ${subport}" {
+ depends_build-append port:ImageMagick
-if {[variant_isset java]} {
+ global appName
+ set appName Octave.app
- configure.args-append --enable-java
+ post-build {
+ xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents
+ xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents/Resources
+ xinstall -d -p -m 0755 ${worksrcpath}/${appName}/Contents/MacOS
-} else {
+ set script [open "${worksrcpath}/${appName}/Contents/MacOS/Octave" w 0755]
+ if { [variant_isset qt4gui] } {
+ puts ${script} "#!/bin/sh"
+ puts ${script} ""
+ puts ${script} "${prefix}/bin/octave-${version} --force-gui"
+ } else {
+ puts ${script} "#!/usr/bin/osascript"
+ puts ${script} ""
+ puts ${script} "tell application \"Terminal\" to do script \"${prefix}/bin/octave-${version} --no-gui-libs; exit\""
+ }
+ close ${script}
- configure.args-append --disable-java
+ #NSHumanReadableCopyright ''
+ #LSUIElement 1
+ set values "
+ CFBundleDevelopmentRegion English
+ CFBundleExecutable Octave
+ CFBundleIconFile Octave.icns
+ CFBundleDocumentTypes {-array \'{\"CFBundleTypeExtensions\" = (\"m\"); \"CFBundleTypeOSTypes\" = (\"Mfile\"); \"CFBundleTypeRole\" = \"Editor\";}\'}
+ CFBundleIdentifier org.octave.Octave
+ CFBundleInfoDictionaryVersion 6.0
+ CFBundleSignature Octave
+ CFBundleVersion ${version}
+ CFBundleShortVersionString ${version}
+ "
+ foreach {key value} ${values} {
+ system "/usr/bin/defaults write ${worksrcpath}/${appName}/Contents/Info ${key} ${value}"
+ }
-}
+ # have Info.plist be human readable
+ system "/usr/bin/plutil -convert xml1 ${worksrcpath}/${appName}/Contents/Info.plist"
-# jit build fails for 3.8.1
-# variant jit description {Enable experimental JIT compiler} {}
+ # conversion by plutil set verys limited permissions
+ system "/bin/chmod 0644 ${worksrcpath}/${appName}/Contents/Info.plist"
-# if {[variant_isset jit]} {
+ xinstall -d -m 0755 ${worksrcpath}/Octave.iconset
-# depends_lib-append port:clang-3.3
-# configure.args-append --enable-jit
-# configure.env-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-3.3 \
-# SHLIB_CXXLD=clang++-mp-3.3
-# configure.cc clang-mp-3.3
-# configure.cxx clang++-mp-3.3
+ # values from original SVG file
+ set svg etc/icons/octave-logo.svg
+ set width 283.28912
+ set height 283.28833
+ set dpi 90
-# } else {
+ foreach res {16 32 128 256 512} {
-# configure.args-append --disable-jit
+ set hres [expr 2*${res}]
-# }
+ # find new density so that converted PNG files do not look pixelated
+ set denw [expr ${dpi}*${res}/${width}]
+ set denh [expr ${dpi}*${res}/${height}]
-variant metis description {Use SuiteSparse + Metis for graph partitioning} {
+ set hdenw [expr 2*${denw}]
+ set hdenh [expr 2*${denh}]
- notes-append "\nWARNING: ${name} variant +metis uses the metis port, whose license is incompatible with Octave's. You can use this combination locally, but you cannot distribute them as a single package (e.g., tarball, m/pkg, archive)."
+ system -W ${worksrcpath} "${prefix}/bin/convert -background transparent -resize ${res}x${res} -density ${denw}x${denh} ${svg} Octave.iconset/icon_${res}x${res}.png"
+ system -W ${worksrcpath} "${prefix}/bin/convert -background transparent -resize ${hres}x${hres} -density ${hdenw}x${hdenh} ${svg} Octave.iconset/icon_${res}x${res}@2x.png"
+ }
- depends_lib-append port:metis
+ system -W ${worksrcpath} "/usr/bin/iconutil -c icns -o ${appName}/Contents/Resources/Octave.icns Octave.iconset"
+ }
+ post-destroot {
+ copy ${worksrcpath}/${appName} ${destroot}${applications_dir}
+ }
}
+default_variants-append +app
-if {[variant_isset metis]} {
+variant docs description {build documentation files} {
+ depends_build-append port:texinfo
+ configure.env-append \
+ MAKEINFO=${prefix}/bin/makeinfo \
+ TEXI2DVI=${prefix}/bin/texi2dvi \
+ TEXI2PDF=${prefix}/bin/texi2pdf
- configure.args-append --with-cholmod="-lcholmod -lmetis"
+ # see https://lists.macosforge.org/pipermail/macports-dev/2016-January/032293.html
+ depends_build-append \
+ port:texlive-basic \
+ port:texlive-latex
- # make sure SuiteSparse is installed with +metis
- require_active_variants SuiteSparse metis
+ # see #51132
+ depends_build-append \
+ port:texlive-fonts-recommended
-} else {
-
- configure.args-append --with-cholmod="-lcholmod"
-
- # make sure SuiteSparse is installed without +metis
- require_active_variants SuiteSparse {} metis
-
+ configure.args-replace --disable-docs --enable-docs
}
+default_variants-append +docs
-# check for +accelerate here as well as in dependent ports;
-# Apple's VecLib has bugs that cause Octave to crash sometimes,
-# while Atlas does not have these issues. Print a warning if this
-# variant is in use, but do not force the use of +atlas (for now).
+# GraphicsMagick and octave need to be built with the same C++ standard library
+# or else undefined symbols:
+# "Magick::Image::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
+set magickConflict {}
+set magickDefault yes
+if {${configure.cxx_stdlib} ne "libstdc++"} {
+ foreach gccVar ${compilers.gcc_variants} {
+ if {[variant_exists ${gccVar}] } {
+ lappend magickConflict ${gccVar}
-if {![catch {set result [active_variants arpack accelerate {}]}]} {
- if {$result} {
- notes-append "\nWARNING: Dependency 'arpack' is installed with the +accelerate variant, using Apple's Vector Libraries which have some known bugs that can cause Octave to crash if using certain functions in arpack. The +atlas variant does not have these issues with Octave, but does take many hours to compile even on modern hardware.\n"
+ if {[variant_isset ${gccVar}] } {
+ set magickDefault no
+ }
+ }
}
}
+eval "variant graphicsmagick description {use GraphicsMagick for image I/O} conflicts ${magickConflict} {
+ depends_lib-append port:GraphicsMagick
+ configure.args-replace --without-magick --with-magick=GraphicsMagick
+}"
+if {${magickDefault}} {
+ default_variants-append +graphicsmagick
+}
-if {[variant_isset accelerate]} {
- notes-append "\nWARNING: The +accelerate variant has been selected, using Apple's Vector Libraries which have some known bugs that can cause Octave to crash. The +atlas variant does not have these issues with Octave, but does take many hours to compile even on modern hardware.\n"
+# remove architecture flags from header file
+if { [variant_exists universal] && [variant_isset universal] } {
+ merger-post-destroot {
+ foreach arch ${universal_archs_to_use} {
+ set hfile ${destroot}-${arch}${prefix}/include/octave-${version}/octave/oct-conf.h
+ reinplace -E "s:\\w*-arch ${arch}::g" ${hfile}
+ reinplace -E {s:\\w*-m32::g} ${hfile}
+ reinplace -E {s:\\w*-m64::g} ${hfile}
+ }
+ }
+} else {
+ post-destroot {
+ set hfile ${destroot}${prefix}/include/octave-${version}/octave/oct-conf.h
+ reinplace -E "s:\\w*-arch ${build_arch}::g" ${hfile}
+ reinplace -E {s:\\w*-m32::g} ${hfile}
+ reinplace -E {s:\\w*-m64::g} ${hfile}
+ }
}
post-destroot {
+ # put any startup commands in ${destroot}${prefix}/share/octave/${version}/m/startup/octaverc
+ # see https://www.gnu.org/software/octave/doc/interpreter/Startup-Files.html
+ file delete ${destroot}${prefix}/share/octave/site/m/startup/octaverc
- # select the default graphics toolkit depending on the +glgui variant
-
- if {[variant_isset glgui]} {
- system "echo 'graphics_toolkit(\"fltk\");' >> ${destroot}${prefix}/share/octave/site/m/startup/octaverc"
- } else {
- system "echo 'graphics_toolkit(\"gnuplot\");' >> ${destroot}${prefix}/share/octave/site/m/startup/octaverc"
+ if {[file exists ${worksrcpath}/liboctave/operators/libcxx-fix.h]} {
+ # install the libc++ fix, no matter if used or not, since it is
+ # required for projects including these headers.
+ xinstall -m 644 ${worksrcpath}/liboctave/operators/libcxx-fix.h \
+ ${destroot}${prefix}/include/${name}-${version}/${name}/libcxx-fix.h
}
-
- # install the libc++ fix, no matter if used or not, since it is
- # required for projects including these headers.
-
- xinstall -m 644 ${worksrcpath}/liboctave/operators/libcxx-fix.h \
- ${destroot}${prefix}/include/${name}-${version}/${name}/libcxx-fix.h
-
- # when doing +qtgui variant, create the Mac OS X .app
-
- if {[variant_isset qtgui]} {
- set appdir ${destroot}${applications_dir}/Octave.app
- xinstall -d ${appdir}/Contents/MacOS
- xinstall -d ${appdir}/Contents/Resources
-
- xinstall -m 644 ${filespath}/Info.plist ${appdir}/Contents/
- xinstall -m 644 ${filespath}/Octave.icns ${appdir}/Contents/Resources/
- xinstall -m 755 ${filespath}/Octave ${appdir}/Contents/MacOS
-
- reinplace -W ${appdir}/Contents "s,@@VERSION@@,${version},g" Info.plist
- reinplace -W ${appdir}/Contents/MacOS "s,@@PREFIX@@,${prefix},g" Octave
- }
}
-livecheck.type regex
-livecheck.url http://www.gnu.org/software/octave/download.html
-livecheck.regex GNU Octave (\[\^\ \]*) was
+test.run yes
+test.target check
Deleted: trunk/dports/math/octave/files/Info.plist
===================================================================
--- trunk/dports/math/octave/files/Info.plist 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/files/Info.plist 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>NSUIElement</key>
- <string>1</string>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>Octave</string>
- <key>CFBundleIconFile</key>
- <string>Octave.icns</string>
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>m</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Editor</string>
- <key>CFBundleTypeOSTypes</key>
- <string>Mfile</string>
- </dict>
- </array>
- <key>CFBundleIdentifier</key>
- <string>org.octave.Octave</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleSignature</key>
- <string>Octave</string>
- <key>CFBundleVersion</key>
- <string>@@VERSION@@</string>
- <key>CFBundleShortVersion</key>
- <string>@@VERSION@@</string>
-</dict>
-</plist>
Deleted: trunk/dports/math/octave/files/Octave
===================================================================
--- trunk/dports/math/octave/files/Octave 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/files/Octave 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-@@PREFIX@@/bin/octave --force-gui
Deleted: trunk/dports/math/octave/files/Octave.icns
===================================================================
(Binary files differ)
Copied: trunk/dports/math/octave/files/clang-libcxx-fix.patch (from rev 148686, trunk/dports/math/octave/files/patch-clang-libcxx.diff)
===================================================================
--- trunk/dports/math/octave/files/clang-libcxx-fix.patch (rev 0)
+++ trunk/dports/math/octave/files/clang-libcxx-fix.patch 2016-05-15 09:55:48 UTC (rev 148698)
@@ -0,0 +1,105 @@
+# HG changeset patch
+# User Kefu Chai <tchaikov at gmail.com>
+# Date 1413043255 -28800
+# Sun Oct 12 00:00:55 2014 +0800
+# Node ID 1433cd4f7b7bda0b0e0a04f990b55ffc3cbaf701
+# Parent 91a6f06c505220d269de3a0dab8cc898d03d91a0
+fix the build error on clang 3.5 and libc++ (bug #43298)
+
+* liboctave/operators/mx-inlines.cc:
+use the workaround if libc++ with this issue is detected.
+
+* liboctave/operators/libcxx-fix.cc:
+add a workaround for http://llvm.org/bugs/show_bug.cgi?id=21083, so that only
+the arithmetic types are accepted for the function template "libcxx_fix::pow()".
+
+diff -r 91a6f06c5052 -r 1433cd4f7b7b liboctave/operators/libcxx-fix.h
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ liboctave/operators/libcxx-fix.h Sun Oct 12 00:00:55 2014 +0800
+@@ -0,0 +1,69 @@
++#ifndef _LIBCPP_VERSION
++#error "for libc++ only"
++#endif
++
++namespace libcxx_fix {
++
++using std::is_integral;
++using std::is_same;
++using std::enable_if;
++
++template <class _Tp, class _Tn = void>
++struct numeric_type
++{
++ typedef void type;
++ static const bool value = false;
++};
++
++template <class _Tp>
++struct numeric_type<_Tp, typename enable_if<is_integral<_Tp>::value ||
++ is_same<_Tp, double>::value>::type>
++{
++ typedef double type;
++ static const bool value = true;
++};
++
++template <class _Tp>
++struct numeric_type<_Tp, typename enable_if<is_same<_Tp, long double>::value ||
++ is_same<_Tp, float>::value>::type>
++{
++ typedef _Tp type;
++ static const bool value = true;
++};
++
++template <>
++struct numeric_type<void, void>
++{
++ static const bool value = true;
++};
++
++template <class _A1, class _A2,
++ bool = numeric_type<_A1>::value &&
++ numeric_type<_A2>::value>
++class promote
++{};
++
++template <class _A1, class _A2>
++class promote<_A1, _A2, true>
++{
++private:
++ typedef typename numeric_type<_A1>::type __type1;
++ typedef typename numeric_type<_A2>::type __type2;
++public:
++ typedef decltype(__type1() + __type2()) type;
++};
++
++template <class _A1, class _A2>
++inline _LIBCPP_INLINE_VISIBILITY
++typename promote<_A1, _A2>::type
++pow(_A1 __x, _A2 __y) _NOEXCEPT
++{
++ typedef typename promote<_A1, _A2>::type __result_type;
++#if _LIBCPP_STD_VER > 11
++ static_assert((!(is_same<_A1, __result_type>::value &&
++ is_same<_A2, __result_type>::value)), "");
++#endif
++ return ::pow(static_cast<__result_type>(__x), static_cast<__result_type>(__y));
++}
++
++}
+diff -r 91a6f06c5052 -r 1433cd4f7b7b liboctave/operators/mx-inlines.cc
+--- a/liboctave/operators/mx-inlines.cc Thu Oct 09 20:38:04 2014 -0700
++++ liboctave/operators/mx-inlines.cc Sun Oct 12 00:00:55 2014 +0800
+@@ -307,7 +307,13 @@
+
+ // Let the compiler decide which pow to use, whichever best matches the
+ // arguments provided.
++#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 1101)
++// Workaround http://llvm.org/bugs/show_bug.cgi?id=21083
++#include "libcxx-fix.h"
++using libcxx_fix::pow;
++#else
+ using std::pow;
++#endif
+ DEFMXMAPPER2X (mx_inline_pow, pow)
+
+ // Arbitrary function appliers. The function is a template parameter to enable
Added: trunk/dports/math/octave/files/octave-bug_41027.patch
===================================================================
--- trunk/dports/math/octave/files/octave-bug_41027.patch (rev 0)
+++ trunk/dports/math/octave/files/octave-bug_41027.patch 2016-05-15 09:55:48 UTC (rev 148698)
@@ -0,0 +1,24 @@
+diff -r 900b524d9072 libinterp/corefcn/comment-list.h
+--- a/libinterp/corefcn/comment-list.h Sat Apr 19 09:28:20 2014 -0700
++++ libinterp/corefcn/comment-list.h Sun May 18 18:09:05 2014 +0200
+@@ -25,7 +25,7 @@
+
+ #include <string>
+
+-#include <base-list.h>
++#include "base-list.h"
+
+ extern std::string get_comment_text (void);
+
+diff -r 900b524d9072 libinterp/corefcn/oct.h
+--- a/libinterp/corefcn/oct.h Sat Apr 19 09:28:20 2014 -0700
++++ libinterp/corefcn/oct.h Sun May 18 18:09:05 2014 +0200
+@@ -28,7 +28,7 @@
+ // config.h needs to be first because it includes #defines that can */
+ // affect other header files.
+
+-#include <config.h>
++#include "config.h"
+
+ #include "Matrix.h"
+
Deleted: trunk/dports/math/octave/files/patch-clang-libcxx.diff
===================================================================
--- trunk/dports/math/octave/files/patch-clang-libcxx.diff 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/files/patch-clang-libcxx.diff 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,105 +0,0 @@
-# HG changeset patch
-# User Kefu Chai <tchaikov at gmail.com>
-# Date 1413043255 -28800
-# Sun Oct 12 00:00:55 2014 +0800
-# Node ID 1433cd4f7b7bda0b0e0a04f990b55ffc3cbaf701
-# Parent 91a6f06c505220d269de3a0dab8cc898d03d91a0
-fix the build error on clang 3.5 and libc++ (bug #43298)
-
-* liboctave/operators/mx-inlines.cc:
-use the workaround if libc++ with this issue is detected.
-
-* liboctave/operators/libcxx-fix.cc:
-add a workaround for http://llvm.org/bugs/show_bug.cgi?id=21083, so that only
-the arithmetic types are accepted for the function template "libcxx_fix::pow()".
-
-diff -r 91a6f06c5052 -r 1433cd4f7b7b liboctave/operators/libcxx-fix.h
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ liboctave/operators/libcxx-fix.h Sun Oct 12 00:00:55 2014 +0800
-@@ -0,0 +1,69 @@
-+#ifndef _LIBCPP_VERSION
-+#error "for libc++ only"
-+#endif
-+
-+namespace libcxx_fix {
-+
-+using std::is_integral;
-+using std::is_same;
-+using std::enable_if;
-+
-+template <class _Tp, class _Tn = void>
-+struct numeric_type
-+{
-+ typedef void type;
-+ static const bool value = false;
-+};
-+
-+template <class _Tp>
-+struct numeric_type<_Tp, typename enable_if<is_integral<_Tp>::value ||
-+ is_same<_Tp, double>::value>::type>
-+{
-+ typedef double type;
-+ static const bool value = true;
-+};
-+
-+template <class _Tp>
-+struct numeric_type<_Tp, typename enable_if<is_same<_Tp, long double>::value ||
-+ is_same<_Tp, float>::value>::type>
-+{
-+ typedef _Tp type;
-+ static const bool value = true;
-+};
-+
-+template <>
-+struct numeric_type<void, void>
-+{
-+ static const bool value = true;
-+};
-+
-+template <class _A1, class _A2,
-+ bool = numeric_type<_A1>::value &&
-+ numeric_type<_A2>::value>
-+class promote
-+{};
-+
-+template <class _A1, class _A2>
-+class promote<_A1, _A2, true>
-+{
-+private:
-+ typedef typename numeric_type<_A1>::type __type1;
-+ typedef typename numeric_type<_A2>::type __type2;
-+public:
-+ typedef decltype(__type1() + __type2()) type;
-+};
-+
-+template <class _A1, class _A2>
-+inline _LIBCPP_INLINE_VISIBILITY
-+typename promote<_A1, _A2>::type
-+pow(_A1 __x, _A2 __y) _NOEXCEPT
-+{
-+ typedef typename promote<_A1, _A2>::type __result_type;
-+#if _LIBCPP_STD_VER > 11
-+ static_assert((!(is_same<_A1, __result_type>::value &&
-+ is_same<_A2, __result_type>::value)), "");
-+#endif
-+ return ::pow(static_cast<__result_type>(__x), static_cast<__result_type>(__y));
-+}
-+
-+}
-diff -r 91a6f06c5052 -r 1433cd4f7b7b liboctave/operators/mx-inlines.cc
---- liboctave/operators/mx-inlines.cc Thu Oct 09 20:38:04 2014 -0700
-+++ liboctave/operators/mx-inlines.cc Sun Oct 12 00:00:55 2014 +0800
-@@ -306,7 +306,13 @@
-
- // Let the compiler decide which pow to use, whichever best matches the
- // arguments provided.
-+#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 1101)
-+// Workaround http://llvm.org/bugs/show_bug.cgi?id=21083
-+#include "libcxx-fix.h"
-+using libcxx_fix::pow;
-+#else
- using std::pow;
-+#endif
- DEFMXMAPPER2X (mx_inline_pow, pow)
-
- // Arbitrary function appliers. The function is a template parameter to enable
Added: trunk/dports/math/octave/files/patch-e870a68742a6.diff
===================================================================
--- trunk/dports/math/octave/files/patch-e870a68742a6.diff (rev 0)
+++ trunk/dports/math/octave/files/patch-e870a68742a6.diff 2016-05-15 09:55:48 UTC (rev 148698)
@@ -0,0 +1,44 @@
+
+# HG changeset patch
+# User Torsten <ttl at justmail.de>
+# Date 1449207825 -3600
+# Node ID e870a68742a6c6e86333c72956aa31ceb7986131
+# Parent f7b0572fff6e5e555a3ecea2ee5c9bf8b6798910
+change alignment of dock widget titles for OSX (bug #46592)
+
+* octave-dock-widget.cc (set_style): change alignment in style sheet for OSX
+
+diff --git a/libgui/src/octave-dock-widget.cc b/libgui/src/octave-dock-widget.cc
+--- libgui/src/octave-dock-widget.cc
++++ libgui/src/octave-dock-widget.cc
+@@ -330,6 +330,11 @@
+ else
+ dock_icon = "widget-undock";
+
++#if defined (Q_OS_MAC)
++ QString alignment = "center";
++#else
++ QString alignment = "center left";
++#endif
+ if (_custom_style)
+ {
+
+@@ -371,7 +376,7 @@
+ css = background + QString (" color: %1 ;").arg (fg_col.name ());
+ #else
+ css = QString ("QDockWidget::title { " + background +
+- " text-align: center left;"
++ " text-align: " + alignment + ";"
+ " padding: 0px 0px 0px 4px;}\n"
+ "QDockWidget { color: %1 ; "
+ " titlebar-close-icon: url(:/actions/icons/widget-close%2.png);"
+@@ -387,7 +392,7 @@
+ #if defined (Q_OS_WIN32)
+ css = QString ("");
+ #else
+- css = QString ("QDockWidget::title { text-align: center left;"
++ css = QString ("QDockWidget::title { text-align: " + alignment + ";"
+ " padding: 0px 0px 0px 4px;}"
+ "QDockWidget {"
+ " titlebar-close-icon: url(:/actions/icons/widget-close.png);"
+
Modified: trunk/dports/math/octave/files/patch-gl2ps_renderer.diff
===================================================================
--- trunk/dports/math/octave/files/patch-gl2ps_renderer.diff 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/files/patch-gl2ps_renderer.diff 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,50 +1,6 @@
---- libinterp/corefcn/gl2ps-renderer.cc.orig
-+++ libinterp/corefcn/gl2ps-renderer.cc
-@@ -34,6 +34,9 @@ along with Octave; see the file COPYING. If not, see
- #include "gl2ps-renderer.h"
- #include "gl2ps.h"
-
-+glps_renderer::glps_renderer (FILE *_fp, const std::string& _term)
-+ : opengl_renderer () , fp (_fp), term (_term), fontsize (), fontname () { }
-+
- void
- glps_renderer::draw (const graphics_object& go, const std::string print_cmd)
- {
-@@ -253,4 +256,31 @@ glps_renderer::draw_text (const text::properties& props)
- alignment_to_mode (halign, valign), props.get_rotation ());
- }
-
-+void
-+glps_renderer::set_linestyle (const std::string& s, bool use_stipple)
-+{
-+ opengl_renderer::set_linestyle (s, use_stipple);
-+
-+ if (s == "-" && ! use_stipple)
-+ gl2psDisable (GL2PS_LINE_STIPPLE);
-+ else
-+ gl2psEnable (GL2PS_LINE_STIPPLE);
-+}
-+
-+void
-+glps_renderer::set_polygon_offset (bool on, double offset)
-+{
-+ opengl_renderer::set_polygon_offset (on, offset);
-+ if (on)
-+ gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
-+ else
-+ gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
-+}
-+
-+void
-+glps_renderer::set_linewidth (float w)
-+{
-+ gl2psLineWidth (w);
-+}
-+
- #endif
---- libinterp/corefcn/gl2ps-renderer.h.orig
-+++ libinterp/corefcn/gl2ps-renderer.h
-@@ -33,8 +33,7 @@ OCTINTERP_API
+--- libinterp/corefcn/gl2ps-renderer.h.orig 2016-05-08 02:17:06.000000000 -0700
++++ libinterp/corefcn/gl2ps-renderer.h 2016-05-08 02:26:05.000000000 -0700
+@@ -35,8 +35,7 @@
glps_renderer : public opengl_renderer
{
public:
@@ -54,7 +10,7 @@
~glps_renderer (void) { }
-@@ -52,29 +51,9 @@ protected:
+@@ -54,34 +53,9 @@
void draw_pixels (GLsizei w, GLsizei h, GLenum format,
GLenum type, const GLvoid *data);
@@ -68,13 +24,18 @@
- gl2psEnable (GL2PS_LINE_STIPPLE);
- }
-
-- void set_polygon_offset (bool on, double offset = 0.0)
+- void set_polygon_offset (bool on, float offset = 0.0f)
- {
-- opengl_renderer::set_polygon_offset (on, offset);
- if (on)
-- gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
+- {
+- opengl_renderer::set_polygon_offset (on, offset);
+- gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
+- }
- else
-- gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
+- {
+- gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
+- opengl_renderer::set_polygon_offset (on, offset);
+- }
- }
-
- void set_linewidth (float w)
@@ -82,8 +43,59 @@
- gl2psLineWidth (w);
- }
+ void set_linestyle (const std::string& s, bool use_stipple = false);
-+ void set_polygon_offset (bool on, double offset = 0.0);
++ void set_polygon_offset (bool on, float offset = 0.0f);
+ void set_linewidth (float w);
private:
int alignment_to_mode (int ha, int va) const;
+--- libinterp/corefcn/gl2ps-renderer.cc.orig 2016-05-08 02:16:56.000000000 -0700
++++ libinterp/corefcn/gl2ps-renderer.cc 2016-05-08 02:29:17.000000000 -0700
+@@ -38,6 +38,9 @@
+ #include "gl2ps.h"
+ #include "sysdep.h"
+
++glps_renderer::glps_renderer (FILE *_fp, const std::string& _term)
++ : opengl_renderer () , fp (_fp), term (_term), fontsize (), fontname () { }
++
+ void
+ glps_renderer::draw (const graphics_object& go, const std::string& print_cmd)
+ {
+@@ -346,6 +349,38 @@
+ octave_pclose (f);
+ }
+
++void
++glps_renderer::set_linestyle (const std::string& s, bool use_stipple)
++{
++ opengl_renderer::set_linestyle (s, use_stipple);
++
++ if (s == "-" && ! use_stipple)
++ gl2psDisable (GL2PS_LINE_STIPPLE);
++ else
++ gl2psEnable (GL2PS_LINE_STIPPLE);
++}
++
++void
++glps_renderer::set_polygon_offset (bool on, float offset)
++{
++ if (on)
++ {
++ opengl_renderer::set_polygon_offset (on, offset);
++ gl2psEnable (GL2PS_POLYGON_OFFSET_FILL);
++ }
++ else
++ {
++ gl2psDisable (GL2PS_POLYGON_OFFSET_FILL);
++ opengl_renderer::set_polygon_offset (on, offset);
++ }
++}
++
++void
++glps_renderer::set_linewidth (float w)
++{
++ gl2psLineWidth (w);
++}
++
+ #endif
+
+ void
Modified: trunk/dports/math/octave/files/patch-yosemite-libtool.diff
===================================================================
--- trunk/dports/math/octave/files/patch-yosemite-libtool.diff 2016-05-15 09:42:12 UTC (rev 148697)
+++ trunk/dports/math/octave/files/patch-yosemite-libtool.diff 2016-05-15 09:55:48 UTC (rev 148698)
@@ -1,8 +1,6 @@
-Index: configure
-===================================================================
---- configure.orig
-+++ configure
-@@ -21080,7 +21080,7 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
+--- configure.orig 2016-05-08 01:48:51.000000000 -0700
++++ configure 2016-05-08 01:48:40.000000000 -0700
+@@ -21982,7 +21982,7 @@
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160515/af6e1c29/attachment-0001.html>
More information about the macports-changes
mailing list