Permalink
Fetching contributors…
Cannot retrieve contributors at this time
320 lines (286 sloc) 12.7 KB
# -*- 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
PortSystem 1.0
PortGroup cmake 1.1
PortGroup compilers 1.0
PortGroup wxWidgets 1.0
name plplot
version 5.12.0
revision 1
platforms darwin
maintainers {takeshi @tenomoto} openmaintainer
categories science
license LGPL
description Scientific plotting package, double precision version
master_sites sourceforge
checksums rmd160 7fdc90f73538a43baebf5da1a74c00f188784b4b \
sha256 8dc5da5ef80e4e19993d4c3ef2a84a24cc0e44a5dade83201fca7160a6d352ce
homepage http://plplot.sourceforge.net/
set description_base "PLplot is a cross-platform software package for \
creating scientific plots. To help accomplish that task it is organized as a \
core C library, language bindings for that library, and device drivers which \
control how the plots are presented in non-interactive and interactive \
plotting contexts."
long_description ${description_base} This port uses double precision.
compilers.choose fc f90
compilers.setup
depends_build-append \
port:pkgconfig
depends_lib port:qhull \
port:antigraingeometry \
port:fontconfig \
port:freefont-ttf \
port:freetype \
port:libharu \
port:libtool \
port:libLASi \
port:swig-tcl \
port:shapelib \
port:tcl
cmake.out_of_source yes
patchfiles patch-cmake-modules-pkg-config.cmake.diff
post-patch {
reinplace "s|-ObjC|-ObjC -framework AquaTerm|" ${worksrcpath}/cmake/modules/aqt.cmake
reinplace "s|-framework AquaTerm|-F${frameworks_dir} -framework AquaTerm|" ${worksrcpath}/cmake/modules/aqt.cmake
if {[variant_isset python26]} {
reinplace "s|\${CMAKE_INSTALL_EXEC_PREFIX}|${frameworks_dir}/Python.framework/Versions/2.6|" \
${worksrcpath}/cmake/modules/python.cmake
} elseif {[variant_isset python27]} {
reinplace "s|\${CMAKE_INSTALL_EXEC_PREFIX}|${frameworks_dir}/Python.framework/Versions/2.7|" \
${worksrcpath}/cmake/modules/python.cmake
}
}
configure.cppflags-append -DUSE_INTERP_RESULT \
-DTcl_Import_TCL_DECLARED
configure.env HOME=${workpath}
configure.args-append -DBUILD_SHARED_LIBS=ON \
-DTCL_INCLUDE_PATH=${prefix}/include \
-DTCL_LIBRARY=${prefix}/lib/libtcl.dylib \
-DFREETYPE_INCLUDE_DIR_ft2build=${prefix}/include/freetype2 \
-DFREETYPE_LIBRARIES=${prefix}/lib/libfreetype.dylib \
-DPL_FREETYPE_FONT_PATH=${prefix}/share/fonts/freefont-ttf \
-DWITH_FREETYPE=ON \
-DQHULL_INCLUDE_DIRS=${prefix}/include/qhull \
-DQHULL_LIBRARIES=${prefix}/lib/libqhull.dylib \
-DSHAPELIB_INCLUDE_DIR=${prefix}/include \
-DSHAPELIB_LIBRARY=${prefix}/lib/libshp.dylib \
-DPLD_aqt=OFF \
-DPLD_extcairo=ON \
-DPLD_memcairo=ON \
-DPLD_ps=ON \
-DPLD_psttf=ON \
-DPLD_pscairo=ON \
-DPLD_pdfcairo=ON \
-DPLD_pngcairo=ON \
-DPLD_svgcairo=ON \
-DPLD_tk=OFF \
-DPLD_wxwidgets=OFF \
-DPLD_wxpng=OFF \
-DPLD_xcairo=OFF \
-DPLD_xwin=OFF \
-DPLD_xfig=OFF \
-DPLD_tkwin=OFF \
-DPLD_bmpqt=OFF \
-DPLD_jpgqt=OFF \
-DPLD_pngqt=OFF \
-DPLD_ppmqt=OFF \
-DPLD_epsqt=OFF \
-DPLD_pdfqt=OFF \
-DPLD_tiffqt=OFF \
-DPLD_qtwidget=OFF \
-DPLD_svgqt=OFF \
-DPLD_extqt=OFF \
-DPLD_memqt=OFF \
-DPLD_qtwidget=OFF \
-DENABLE_ada=OFF \
-DENABLE_d=OFF \
-DENABLE_f95=OFF \
-DENABLE_itcl=OFF \
-DENABLE_java=OFF \
-DENABLE_lua=OFF \
-DENABLE_ocaml=OFF \
-DENABLE_octave=OFF \
-DENABLE_pdl=OFF \
-DENABLE_pyqt4=OFF \
-DENABLE_pyqt5=OFF \
-DENABLE_python=OFF \
-DENABLE_qt=OFF \
-DENABLE_tcl=ON \
-DENABLE_tk=OFF \
-DENABLE_wxwidgets=OFF \
-DENABLE_DYNDRIVERS=OFF \
-DBUILD_TEST=OFF \
-DHAVE_SHAPELIB=ON \
-DHAVE_AGG=ON \
-DSWIG_DIR=${prefix}/bin \
-Dhpdf_INCLUDE_DIR=${prefix}/include
post-configure {
reinplace "s|-ObjC ||" ${workpath}/build/pkgcfg/plplot.pc
}
if {[variant_isset universal]} {
configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_f95:BOOL=OFF
} else {
# Adhoc fix
# cmake passes -arch to Fortran compiler
# g95 ignores -arch but gfortran fails with it
if {[variant_isset g95]} {
configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${build_arch} "g| |;|"]\"
}
}
#platform i386 {
# configure.args-append -DCMAKE_MODULE_LINKER_FLAGS=\"-undefined dynamic_lookup\" \
# -DCMAKE_EXE_LINKER_FLAGS=\"-undefined dynamic_lookup\"
#}
if {${os.platform} eq "darwin"} {
default_variants +aquaterm
}
default_variants-append +x11
subport ${name}-single {
description Scientific plotting package, single precision version
long_description ${description_base} This port uses single precision.
configure.pre_args -DCMAKE_INSTALL_PREFIX=${prefix}/lib/${subport}
configure.args-append -DPL_DOUBLE=OFF
}
if {[variant_isset py27_pyqt4]} {
default_variants +qt4
}
# variant gcw is deleted since it has been deprecated
# gd driver (gif, jpeg, png, svg) has been deprecated
# Fortran notes:
# * In build/language_tests/Fortran, FC and LDFLAGS are used.
# * CMAKE_Fortran_COMPILER is used later in build.
# * To avoid -arch ${build_arch} to be passed configure.ld_archflags is unset.
if {[fortran_variant_isset]} {
configure.ld_archflags ""
configure.args-delete -DENABLE_f95=OFF
configure.args-append -DENABLE_f95=ON \
-DCMAKE_Fortran_COMPILER=\"${configure.fc}\" \
-DF95_MOD_DIR=${prefix}/include/plplot
if {[variant_isset g95]} {
configure.args-append -DCMAKE_Fortran_FLAGS=\"${configure.fflags} -fno-second-underscore\"
} else {
configure.args-append -DCMAKE_Fortran_FLAGS=\"${configure.fflags}\"
}
macosx_deployment_target
}
variant octave description {Add support for Octave} {
depends_lib-append port:swig-octave
configure.args-delete -DENABLE_octave=OFF
configure.args-append -DENABLE_octave=ON
license-append GPL-2+
}
variant java description {Add support for Java} {
depends_lib-append port:swig-java
configure.args-delete -DENABLE_java=OFF
configure.args-append -DENABLE_java=ON
}
variant ocaml description {Add support for OCaml} {
patchfiles-append patch-bindings-ocaml-plplot_core.idl.diff \
patch-bindings-ocaml-CMakeLists.txt.diff
depends_lib-append port:ocaml \
port:swig-ocaml \
port:ocaml-camlidl \
port:ocaml-findlib
configure.args-delete -DENABLE_ocaml=OFF
configure.args-append -DENABLE_ocaml=ON \
-DOCAML_HAS_CAIRO=OFF \
-DOCAML_HAS_GTK=OFF
}
variant python26 conflicts python27 description {Add support for python26} {
depends_lib-append port:python26 \
port:py26-numpy \
port:swig-python
configure.args-delete -DENABLE_python=OFF
configure.args-append -DENABLE_python=ON \
-DHAVE_NUMPY:BOOL=ON \
-DPYTHON_INCLUDE_PATH=${frameworks_dir}/Python.framework/Versions/2.6/Headers
}
variant python27 conflicts python26 description {Add support for python27} {
depends_lib-append port:python27 \
port:py27-numpy \
port:swig-python
configure.args-delete -DENABLE_python=OFF
configure.args-append -DENABLE_python=ON \
-DHAVE_NUMPY:BOOL=ON \
-DPYTHON_INCLUDE_PATH=${frameworks_dir}/Python.framework/Versions/2.7/Headers
}
variant py27_pyqt4 requires python27 description {Add support for pyQT4 using python27} {
depends_lib-append port:py27-pyqt4
configure.args-delete -DENABLE_pyqt4=OFF
configure.args-append -DENABLE_pyqt4=ON
}
variant gdc description {Use dmd variant instead} {
default_variants-append dmd
}
variant dmd description {Add support for D} {
depends_lib-append port:dmd
patchfiles-append patch-cmake-modules-language_support-cmake-CMakeTestDCompiler.cmake.diff \
patch-cmake-modules-language_support-cmake-Platform-Darwin-dmd.cmake.diff
configure.args-delete -DENABLE_d=OFF
configure.args-append -DENABLE_d=ON
configure.env-append D_PATH=${prefix}
}
variant lua description {Add support for Lua} {
depends_lib-append port:swig-lua
configure.args-delete -DENABLE_lua=OFF
configure.args-append -DENABLE_lua=ON
}
variant aquaterm description {Add support for Aquaterm} {
depends_lib-append port:aquaterm
configure.args-delete -DPLD_aqt=OFF
configure.args-append -DPLD_aqt=ON \
-DAQT_FRAMEWORK=${frameworks_dir}/AquaTerm.framework
}
variant qt4 description {Add support for Qt4} {
depends_lib-append bin:qmake:qt4-mac
configure.args-delete -DENABLE_qt=OFF \
-DPLD_bmpqt=OFF \
-DPLD_jpgqt=OFF \
-DPLD_pngqt=OFF \
-DPLD_ppmqt=OFF \
-DPLD_epsqt=OFF \
-DPLD_pdfqt=OFF \
-DPLD_tiffqt=OFF \
-DPLD_qtwidget=OFF \
-DPLD_svgqt=OFF \
-DPLD_extqt=OFF \
-DPLD_memqt=OFF \
-DPLD_qtwidget=OFF
configure.args-append -DENABLE_qt=ON \
-DQT_QMAKE_EXECUTABLE=${prefix}/libexec/qt4/bin/qmake \
-DPLD_bmpqt=ON \
-DPLD_jpgqt=ON \
-DPLD_pngqt=ON \
-DPLD_ppmqt=ON \
-DPLD_epsqt=ON \
-DPLD_pdfqt=ON \
-DPLD_tiffqt=ON \
-DPLD_qtwidget=ON \
-DPLD_svgqt=ON \
-DPLD_extqt=ON \
-DPLD_memqt=ON \
-DPLD_qtwidget=ON
}
variant wxwidgets description {Add support for wxWidgets} {
wxWidgets.use wxWidgets-3.0
depends_lib-append port:${wxWidgets.port}
configure.args-delete -DPLD_wxwidgets=OFF \
-DENABLE_wxwidgets=OFF
configure.args-append -DPLD_wxwidgets=ON \
-DENABLE_wxwidgets=ON \
-DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets.wxconfig} \
-DwxWidgets_wxrc_EXECUTABLE=${wxWidgets.wxrc} \
-Dwxwidgets_LINK_FLAGS=-lplplotd
}
# X11 notes: Tk binding fails in configure
variant x11 {
depends_lib-append path:lib/pkgconfig/pango.pc:pango
configure.args-append -DPLD_xcairo=ON \
-DPLD_xwin=ON \
-DPLD_xfig=ON
configure.args-delete -DPLD_xcairo=OFF \
-DPLD_xwin=OFF \
-DPLD_xfig=OFF
}
livecheck.type regex
livecheck.url http://sourceforge.net/p/${name}/news/
livecheck.regex {PLplot-([0-9]+\.[0-9]+\.[0-9]+)}