You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
311 lines
13 KiB
Tcl
311 lines
13 KiB
Tcl
# -*- 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.15.0
|
|
revision 7
|
|
maintainers {takeshi @tenomoto} openmaintainer
|
|
categories science
|
|
license LGPL
|
|
description Scientific plotting package, double precision version
|
|
checksums rmd160 ebfca2cb1221e2cafa9e8d002cea421b8123b224 \
|
|
sha256 b92de4d8f626a9b20c84fc94f4f6a9976edd76e33fb1eae44f6804bdcc628c7b \
|
|
size 15380293
|
|
master_sites sourceforge:project/${name}/${name}/${version}%20Source/
|
|
homepage https://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.
|
|
|
|
patchfiles-append patch-src-plmap.c.diff
|
|
|
|
compilers.choose fc f90
|
|
compilers.setup default_fortran
|
|
compiler.cxx_standard \
|
|
2011
|
|
|
|
depends_build-append \
|
|
path:bin/pkg-config:pkgconfig
|
|
depends_lib-append \
|
|
port:antigraingeometry \
|
|
port:fontconfig \
|
|
port:freefont-ttf \
|
|
port:freetype \
|
|
port:libharu \
|
|
port:libLASi \
|
|
port:libtool \
|
|
port:qhull \
|
|
port:shapelib \
|
|
port:swig-tcl \
|
|
port:tcl
|
|
|
|
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 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_fortran=OFF \
|
|
-DENABLE_itcl=OFF \
|
|
-DENABLE_java=OFF \
|
|
-DENABLE_lua=OFF \
|
|
-DENABLE_ocaml=OFF \
|
|
-DENABLE_octave=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 \
|
|
-Dhpdf_INCLUDE_DIR=${prefix}/include
|
|
|
|
post-configure {
|
|
reinplace "s|-ObjC ||" ${workpath}/build/pkgcfg/plplot.pc
|
|
if {[variant_isset dmd]} {
|
|
reinplace /Requires.private/d ${workpath}/build/pkgcfg/plplot-d.pc
|
|
reinplace {s|Libs: -L"${libdir}" -lplplotdmd|Libs: -L=-L"${libdir}" -L=-lplplotdmd -L=-lplplot|} ${workpath}/build/pkgcfg/plplot-d.pc
|
|
}
|
|
}
|
|
|
|
if {${universal_possible} && [variant_isset universal]} {
|
|
configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_fortran: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\"
|
|
#}
|
|
|
|
# https://trac.macports.org/ticket/70087
|
|
if {${os.platform} eq "darwin" && [string match *clang* ${configure.compiler}]} {
|
|
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-replace -DENABLE_fortran=OFF -DENABLE_fortran=ON
|
|
configure.args-append -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-replace -DENABLE_octave=OFF -DENABLE_octave=ON
|
|
configure.cxxflags-append \
|
|
-std=c++11
|
|
license-append GPL-2+
|
|
}
|
|
|
|
variant java description {Add support for Java} {
|
|
depends_lib-append port:swig-java
|
|
configure.args-replace -DENABLE_java=OFF -DENABLE_java=ON
|
|
}
|
|
|
|
variant ocaml description {Add support for OCaml} {
|
|
patchfiles-append patch-bindings-ocaml-plplot_core.idl.diff \
|
|
patch-examples-ocaml.diff
|
|
depends_lib-append port:ocaml \
|
|
port:swig-ocaml \
|
|
port:ocaml-camlidl \
|
|
port:ocaml-findlib
|
|
configure.args-replace -DENABLE_ocaml=OFF -DENABLE_ocaml=ON
|
|
configure.args-append -DOCAML_HAS_CAIRO=OFF \
|
|
-DOCAML_HAS_GTK=OFF
|
|
}
|
|
|
|
variant python27 description {Add support for python27} {
|
|
depends_lib-append port:python27 \
|
|
port:py27-numpy \
|
|
port:swig-python
|
|
configure.args-replace -DENABLE_python=OFF -DENABLE_python=ON
|
|
configure.args-append -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-replace -DENABLE_pyqt4=OFF -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 \
|
|
patch-examples-d.diff \
|
|
patch-bindings-d-plplot.d.diff \
|
|
patch-cmake-modules-language_support-cmake-CMakeDInformation.cmake.diff
|
|
configure.args-replace -DENABLE_d=OFF -DENABLE_d=ON
|
|
configure.env-append D_PATH=${prefix}
|
|
|
|
post-patch {
|
|
# see https://trac.macports.org/wiki/UsingTheRightCompiler
|
|
reinplace "s|__MACPORTS_LINKER__|${configure.cc}|g" ${worksrcpath}/cmake/modules/language_support/cmake/CMakeDInformation.cmake
|
|
}
|
|
}
|
|
|
|
variant lua description {Add support for Lua} {
|
|
depends_lib-append port:swig-lua
|
|
configure.args-replace -DENABLE_lua=OFF -DENABLE_lua=ON
|
|
}
|
|
|
|
variant deprecated description {Allow build of deprecated API} {
|
|
configure.args-append -DPL_DEPRECATED=ON
|
|
}
|
|
|
|
variant aquaterm description {Add support for Aquaterm} {
|
|
depends_lib-append port:aquaterm
|
|
configure.args-replace -DPLD_aqt=OFF -DPLD_aqt=ON
|
|
configure.args-append -DAQT_FRAMEWORK=${frameworks_dir}/AquaTerm.framework
|
|
}
|
|
|
|
variant qt4 description {Add support for Qt4} {
|
|
depends_lib-append bin:qmake:qt4-mac
|
|
configure.args-replace -DENABLE_qt=OFF -DENABLE_qt=ON \
|
|
-DPLD_bmpqt=OFF -DPLD_bmpqt=ON \
|
|
-DPLD_epsqt=OFF -DPLD_epsqt=ON \
|
|
-DPLD_extqt=OFF -DPLD_extqt=ON \
|
|
-DPLD_jpgqt=OFF -DPLD_jpgqt=ON \
|
|
-DPLD_memqt=OFF -DPLD_memqt=ON \
|
|
-DPLD_pdfqt=OFF -DPLD_pdfqt=ON \
|
|
-DPLD_pngqt=OFF -DPLD_pngqt=ON \
|
|
-DPLD_ppmqt=OFF -DPLD_ppmqt=ON \
|
|
-DPLD_qtwidget=OFF -DPLD_qtwidget=ON \
|
|
-DPLD_svgqt=OFF -DPLD_svgqt=ON \
|
|
-DPLD_tiffqt=OFF -DPLD_tiffqt=ON \
|
|
configure.args-append -DQT_QMAKE_EXECUTABLE=${prefix}/libexec/qt4/bin/qmake
|
|
}
|
|
|
|
variant wxwidgets description {Add support for wxWidgets} {
|
|
# It is needed to use C++ subports, otherwise build succeeds but binaries fail to launch:
|
|
# Fatal Error: Mismatch between the program and library build versions detected.
|
|
# The library used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8),
|
|
# and your program used 3.0 (wchar_t,compiler with C++ ABI 1018,wx containers,compatible with 2.8).
|
|
# Also, wxWidgets-3.0 does not work correctly on early macOS versions; use wxGTK there.
|
|
if {${os.platform} eq "darwin" && ${os.major} > 10} {
|
|
wxWidgets.use wxWidgets-3.0-cxx11
|
|
} else {
|
|
wxWidgets.use wxGTK-3.0-cxx11
|
|
# FIXME: wxPLViewer may fail to launch:
|
|
# wxPlViewerApp::OnInit: error when creating wxPlFrame instance
|
|
# Same error reported here: https://bugs.mageia.org/show_bug.cgi?id=29848#c60
|
|
# For now, use the old API:
|
|
configure.args-append \
|
|
-DOLD_WXWIDGETS=ON
|
|
}
|
|
depends_lib-append port:${wxWidgets.port}
|
|
configure.args-replace -DPLD_wxwidgets=OFF -DPLD_wxwidgets=ON \
|
|
-DENABLE_wxwidgets=OFF -DENABLE_wxwidgets=ON
|
|
configure.args-append -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets.wxconfig}
|
|
}
|
|
|
|
# X11 notes: Tk binding fails in configure
|
|
variant x11 {
|
|
depends_lib-append path:lib/pkgconfig/pango.pc:pango
|
|
configure.args-replace -DPLD_xcairo=OFF -DPLD_xcairo=ON \
|
|
-DPLD_xfig=OFF -DPLD_xfig=ON \
|
|
-DPLD_xwin=OFF -DPLD_xwin=ON
|
|
}
|
|
|
|
livecheck.type regex
|
|
livecheck.url http://sourceforge.net/p/${name}/news/
|
|
livecheck.regex {PLplot-([0-9]+\.[0-9]+\.[0-9]+)}
|