# -*- 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 wxWidgets 1.0 name plplot version 5.9.9 revision 16 platforms darwin maintainers takeshi openmaintainer categories science license LGPL description Scientific plotting package, double precision version master_sites sourceforge checksums md5 9f2c8536a58875d97ab6b29bbed67d26 \ sha1 3df8fc21723e14af62fea4098e4ef019e1b52a54 \ rmd160 403d56896714336e6f8d65ef51563e7c28c7e588 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. depends_build port:cmake \ path:bin/pkg-config:pkgconfig depends_lib port:expat \ port:qhull \ port:fontconfig \ port:freefont-ttf \ port:freetype \ port:libiconv \ port:libLASi \ port:libpng \ path:lib/pkgconfig/pango.pc:pango \ port:swig-tcl \ port:tcl \ port:tk \ port:zlib 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 if {[variant_isset universal]} { set cflags "${configure.cppflags} ${configure.cflags} ${configure.universal_cflags}" set cxxflags "${configure.cppflags} ${configure.cxxflags} ${configure.universal_cxxflags}" } else { set cflags "${configure.cppflags} ${configure.cflags}" set cxxflags "${configure.cppflags} ${configure.cxxflags}" } configure.dir ${workpath}/build configure.cmd cmake configure.env HOME=${workpath} configure.pre_args -DCMAKE_INSTALL_PREFIX=${prefix} configure.args -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_C_COMPILER=${configure.cc} \ -DCMAKE_C_FLAGS=\"${cflags}\" \ -DCMAKE_CXX_COMPILER=${configure.cxx} \ -DCMAKE_CXX_FLAGS=\"${cxxflags}\" \ -DCMAKE_INCLUDE_PATH=${prefix}/include \ -DCMAKE_LIBRARY_PATH=${prefix}/lib \ -DTCL_INCLUDE_PATH=${prefix}/include \ -DTCL_LIBRARY=${prefix}/lib/libtcl.dylib \ -DTK_INCLUDE_PATH=${prefix}/include \ -DTK_LIBRARY=${prefix}/lib/libtk.dylib \ -DFREETYPE_INCLUDE_DIR=${prefix}/include/freetype2 \ -DFREETYPE_LIBRARY=${prefix}/lib/libfreetype.dylib \ -DPL_FREETYPE_FONT_PATH=${prefix}/share/fonts/freefont-ttf \ -DWITH_FREETYPE=ON \ -DQHULL_INCLUDE_DIR=${prefix}/include \ -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=ON \ -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_f77=OFF \ -DENABLE_f95=OFF \ -DENABLE_itcl=OFF \ -DENABLE_itk=OFF \ -DENABLE_java=OFF \ -DENABLE_lua=OFF \ -DENABLE_ocaml=OFF \ -DENABLE_octave=OFF \ -DENABLE_pdl=OFF \ -DENABLE_pyqt4=OFF \ -DENABLE_python=OFF \ -DENABLE_qt=OFF \ -DENABLE_tcl=ON \ -DENABLE_tk=ON \ -DENABLE_wxwidgets=OFF \ -DBUILD_TEST=OFF \ -DHAVE_AGG=OFF \ -DSWIG_DIR=${prefix}/bin configure.post_args ../${distname} pre-configure { file mkdir ${workpath}/build } if {[variant_isset universal]} { configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_f77:BOOL=OFF -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| |;|"]\" } } build.dir ${workpath}/build pre-destroot { set mods "${workpath}/build/bindings/f95/plplot.mod ${workpath}/build/bindings/f95/plplotp.mod ${workpath}/build/bindings/f95/plplot_flt.mod" foreach m $mods { if {[file exists $m]} { file copy $m ${workpath}/build/ } } } #platform i386 { # configure.args-append -DCMAKE_MODULE_LINKER_FLAGS=\"-undefined dynamic_lookup\" \ # -DCMAKE_EXE_LINKER_FLAGS=\"-undefined dynamic_lookup\" #} if {${os.platform}=="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 py25_pyqt4] || [variant_isset py26_pyqt4] || [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 {[variant_isset gcc43] || [variant_isset gcc44] || [variant_isset gcc45] || [variant_isset gcc46] || [variant_isset gcc47] || [variant_isset gcc48]} { configure.ld_archflags "" configure.args-delete -DENABLE_f77=OFF \ -DENABLE_f95=OFF configure.args-append -DCMAKE_Fortran_COMPILER=\"${configure.fc}\" \ -DCMAKE_Fortran_FLAGS=\"${configure.fflags}\" } elseif {[variant_isset g95]} { configure.ld_archflags "" configure.args-delete -DENABLE_f77=OFF \ -DENABLE_f95=OFF configure.args-append -DCMAKE_OSX_DEPLOYMENT_TARGET=\"\" \ -DCMAKE_Fortran_FLAGS=\"${configure.fflags} -fno-second-underscore\" } variant gcc43 conflicts g95 gcc44 gcc45 gcc46 gcc47 gcc48 universal description {Add support for fortran using gfortran-mp-4.3} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc43 configure.fc ${prefix}/bin/gfortran-mp-4.3 } variant gcc44 conflicts g95 gcc43 gcc45 gcc46 gcc47 gcc48 universal description {Add support for fortran using gfortran-mp-4.4} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc44 configure.fc ${prefix}/bin/gfortran-mp-4.4 } variant gcc45 conflicts g95 gcc43 gcc44 gcc46 gcc47 gcc48 universal description {Add support for fortran using gfortran-mp-4.5} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc45 configure.fc ${prefix}/bin/gfortran-mp-4.5 } variant gcc46 conflicts g95 gcc43 gcc44 gcc45 gcc47 gcc48 universal description {Add support for fortran using gfortran-mp-4.6} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc46 configure.fc ${prefix}/bin/gfortran-mp-4.6 } variant gcc47 conflicts g95 gcc43 gcc44 gcc45 gcc46 gcc48 universal description {Add support for fortran using gfortran-mp-4.7} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc47 configure.fc ${prefix}/bin/gfortran-mp-4.7 } variant gcc48 conflicts g95 gcc43 gcc44 gcc45 gcc46 gcc47 universal description {Add support for fortran using gfortran-mp-4.8} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc48 configure.fc ${prefix}/bin/gfortran-mp-4.8 } variant g95 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 universal description {Add support for fortran using g95} { depends_lib-append port:g95 configure.fc ${prefix}/bin/g95 # Ad hoc fix to enable build of f95 binding by disabling some features if {${os.major}<10} { patchfiles-append patch-sfstubsf95.f90.diff } } 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 python25 conflicts python26 python27 description {Add support for python25} { depends_lib-append port:python25 \ port:py25-numpy \ port:swig-python configure.args-delete -DENABLE_python=OFF configure.args-append -DENABLE_python=ON \ -DHAVE_NUMPY:BOOL=ON \ -DPYTHON_INCLUDE_PATH=${prefix}/include/python2.5 } variant python26 conflicts python25 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 python25 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 py25_pyqt4 requires python25 description {Add support for pyQT4 using python25} { depends_lib-append port:py25-pyqt4 configure.args-delete -DENABLE_pyqt4=OFF configure.args-append -DENABLE_pyqt4=ON } variant py26_pyqt4 requires python26 description {Add support for pyQT4 using python26} { depends_lib-append port:py26-pyqt4 configure.args-delete -DENABLE_pyqt4=OFF configure.args-append -DENABLE_pyqt4=ON } 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 {Add support for D} { depends_lib-append port:gdc configure.args-delete -DENABLE_d=OFF configure.args-append -DENABLE_d=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 \ -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 \ -DPLD_wxpng=OFF \ -DENABLE_wxwidgets=OFF configure.args-append -DPLD_wxwidgets=ON \ -DPLD_wxpng=ON \ -DENABLE_wxwidgets=ON \ -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets.wxconfig} \ -DwxWidgets_wxrc_EXECUTABLE=${wxWidgets.wxrc} } variant x11 { configure.args-append -DPLD_xcairo=ON \ -DPLD_xwin=ON \ -DPLD_xfig=ON configure.args-delete -DPLD_xcairo=OFF \ -DPLD_xwin=OFF \ -DPLD_xfig=OFF }