source: trunk/dports/science/plplot/Portfile

Last change on this file was 148404, checked in by mojca@…, 17 months ago

plplot: revbump after update of qhull

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 13.2 KB
Line 
1# -*- 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
2# $Id: Portfile 148404 2016-05-07 09:23:09Z ryandesign@macports.org $
3
4PortSystem      1.0
5PortGroup       cmake     1.0
6PortGroup       compilers 1.0
7PortGroup       wxWidgets 1.0
8
9name            plplot
10version         5.11.1
11revision        2
12platforms       darwin
13maintainers     takeshi openmaintainer
14categories      science
15license         LGPL
16description     Scientific plotting package, double precision version
17master_sites    sourceforge
18checksums       rmd160  13d7b1ca7c532691e12f59c86e9a7a689e9e9c2f \
19                sha256  289dff828c440121e57b70538b3f0fb4056dc47159bc1819ea444321f2ff1c4c
20homepage        http://plplot.sourceforge.net/
21set description_base "PLplot is a cross-platform software package for \
22creating scientific plots. To help accomplish that task it is organized as a \
23core C library, language bindings for that library, and device drivers which \
24control how the plots are presented in non-interactive and interactive \
25plotting contexts."
26
27long_description    ${description_base} This port uses double precision.
28
29compilers.choose    fc f90
30compilers.setup     -dragonegg
31
32depends_build-append \
33                port:pkgconfig
34depends_lib     port:qhull \
35                port:antigraingeometry \
36                port:fontconfig \
37                port:freefont-ttf \
38                port:freetype \
39                port:libharu \
40                port:libtool \
41                port:libLASi \
42                port:swig-tcl \
43                port:shapelib \
44                port:tcl
45
46cmake.out_of_source yes
47
48patchfiles      patch-cmake-modules-pkg-config.cmake.diff
49
50post-patch {
51    reinplace "s|-ObjC|-ObjC -framework AquaTerm|" ${worksrcpath}/cmake/modules/aqt.cmake
52    reinplace "s|-framework AquaTerm|-F${frameworks_dir} -framework AquaTerm|" ${worksrcpath}/cmake/modules/aqt.cmake
53    if {[variant_isset python26]} {
54        reinplace "s|\${CMAKE_INSTALL_EXEC_PREFIX}|${frameworks_dir}/Python.framework/Versions/2.6|" \
55                            ${worksrcpath}/cmake/modules/python.cmake
56    } elseif {[variant_isset python27]} {
57        reinplace "s|\${CMAKE_INSTALL_EXEC_PREFIX}|${frameworks_dir}/Python.framework/Versions/2.7|" \
58                            ${worksrcpath}/cmake/modules/python.cmake
59    }
60}
61
62configure.cppflags-append   -DUSE_INTERP_RESULT \
63                            -DTcl_Import_TCL_DECLARED
64
65configure.env           HOME=${workpath}
66configure.args-append   -DBUILD_SHARED_LIBS=ON \
67                        -DTCL_INCLUDE_PATH=${prefix}/include \
68                        -DTCL_LIBRARY=${prefix}/lib/libtcl.dylib \
69                        -DFREETYPE_INCLUDE_DIR_ft2build=${prefix}/include/freetype2 \
70                        -DFREETYPE_LIBRARIES=${prefix}/lib/libfreetype.dylib \
71                        -DPL_FREETYPE_FONT_PATH=${prefix}/share/fonts/freefont-ttf \
72                        -DWITH_FREETYPE=ON \
73                        -DQHULL_INCLUDE_DIR=${prefix}/include \
74                        -DQHULL_LIBRARIES=${prefix}/lib/libqhull.dylib \
75                        -DSHAPELIB_INCLUDE_DIR=${prefix}/include \
76                        -DSHAPELIB_LIBRARY=${prefix}/lib/libshp.dylib \
77                        -DPLD_aqt=OFF \
78                        -DPLD_extcairo=ON \
79                        -DPLD_memcairo=ON \
80                        -DPLD_ps=ON \
81                        -DPLD_psttf=ON \
82                        -DPLD_pscairo=ON  \
83                        -DPLD_pdfcairo=ON \
84                        -DPLD_pngcairo=ON \
85                        -DPLD_svgcairo=ON \
86                        -DPLD_tk=OFF \
87                        -DPLD_wxwidgets=OFF \
88                        -DPLD_wxpng=OFF \
89                        -DPLD_xcairo=OFF  \
90                        -DPLD_xwin=OFF \
91                        -DPLD_xfig=OFF \
92                        -DPLD_tkwin=OFF \
93                        -DPLD_bmpqt=OFF \
94                        -DPLD_jpgqt=OFF \
95                        -DPLD_pngqt=OFF \
96                        -DPLD_ppmqt=OFF \
97                        -DPLD_epsqt=OFF \
98                        -DPLD_pdfqt=OFF \
99                        -DPLD_tiffqt=OFF \
100                        -DPLD_qtwidget=OFF \
101                        -DPLD_svgqt=OFF \
102                        -DPLD_extqt=OFF \
103                        -DPLD_memqt=OFF \
104                        -DPLD_qtwidget=OFF \
105                        -DENABLE_ada=OFF \
106                        -DENABLE_d=OFF \
107                        -DENABLE_f95=OFF \
108                        -DENABLE_itcl=OFF \
109                        -DENABLE_itk=OFF \
110                        -DENABLE_java=OFF \
111                        -DENABLE_lua=OFF \
112                        -DENABLE_ocaml=OFF \
113                        -DENABLE_octave=OFF \
114                        -DENABLE_pdl=OFF \
115                        -DENABLE_pyqt4=OFF \
116                        -DENABLE_python=OFF \
117                        -DENABLE_qt=OFF \
118                        -DENABLE_tcl=ON \
119                        -DENABLE_tk=OFF \
120                        -DENABLE_wxwidgets=OFF \
121                        -DENABLE_DYNDRIVERS=OFF \
122                        -DBUILD_TEST=OFF \
123                        -DHAVE_SHAPELIB=ON \
124                        -DHAVE_AGG=ON \
125                        -DSWIG_DIR=${prefix}/bin \
126                        -Dhpdf_INCLUDE_DIR=${prefix}/include
127
128if {[variant_isset universal]} {
129    configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_f95:BOOL=OFF
130} else {
131# Adhoc fix
132# cmake passes -arch to Fortran compiler
133# g95 ignores -arch but gfortran fails with it
134    if {[variant_isset g95]} {
135        configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${build_arch} "g| |;|"]\"
136    }
137}
138
139pre-destroot {
140    set mods "${workpath}/build/bindings/f95/plplot.mod
141              ${workpath}/build/bindings/f95/plplotp.mod
142              ${workpath}/build/bindings/f95/plplot_flt.mod"
143    foreach m $mods {
144        if {[file exists $m]} {
145            file copy $m ${workpath}/build/
146        }
147    }
148}
149
150#platform i386 {
151#    configure.args-append   -DCMAKE_MODULE_LINKER_FLAGS=\"-undefined dynamic_lookup\" \
152#                            -DCMAKE_EXE_LINKER_FLAGS=\"-undefined dynamic_lookup\"
153#}
154
155if {${os.platform} eq "darwin"} {
156    default_variants    +aquaterm
157}
158default_variants-append +x11
159
160subport ${name}-single {
161    description     Scientific plotting package, single precision version
162    long_description    ${description_base} This port uses single precision.
163
164    configure.pre_args      -DCMAKE_INSTALL_PREFIX=${prefix}/lib/${subport}
165    configure.args-append   -DPL_DOUBLE=OFF
166}
167
168if {[variant_isset py27_pyqt4]} {
169    default_variants +qt4
170}
171
172# variant gcw is deleted since it has been deprecated
173# gd driver (gif, jpeg, png, svg) has been deprecated
174
175# Fortran notes:
176# * In build/language_tests/Fortran, FC and LDFLAGS are used.
177# * CMAKE_Fortran_COMPILER is used later in build.
178# * To avoid -arch ${build_arch} to be passed configure.ld_archflags is unset.
179
180if {[fortran_variant_isset]} {
181    configure.ld_archflags  ""
182    configure.args-delete   -DENABLE_f95=OFF
183    configure.args-append   -DCMAKE_Fortran_COMPILER=\"${configure.fc}\"
184    if {[variant_isset g95]} {
185        configure.args-append   -DCMAKE_Fortran_FLAGS=\"${configure.fflags} -fno-second-underscore\"
186    } else {
187        configure.args-append   -DCMAKE_Fortran_FLAGS=\"${configure.fflags}\"
188    }
189}
190
191if {[variant_isset g95]} {
192# Ad hoc fix to enable build of f95 binding by disabling some features
193    if {${os.major}<10} {
194        patchfiles-append       patch-sfstubsf95.f90.diff
195    }
196    configure.args-append   -DCMAKE_OSX_DEPLOYMENT_TARGET=\"\"
197}
198
199variant octave description {Add support for Octave} {
200    depends_lib-append       port:swig-octave
201    configure.args-delete   -DENABLE_octave=OFF
202    configure.args-append   -DENABLE_octave=ON
203    license-append  GPL-2+
204}
205
206variant java description {Add support for Java} {
207    depends_lib-append       port:swig-java
208    configure.args-delete   -DENABLE_java=OFF
209    configure.args-append   -DENABLE_java=ON
210}
211
212variant ocaml description {Add support for OCaml} {
213    patchfiles-append       patch-bindings-ocaml-plplot_core.idl.diff \
214                            patch-bindings-ocaml-CMakeLists.txt.diff
215    depends_lib-append      port:ocaml \
216                            port:swig-ocaml
217    configure.args-delete   -DENABLE_ocaml=OFF
218    configure.args-append   -DENABLE_ocaml=ON
219}
220
221variant python26 conflicts python27 description {Add support for python26} {
222    depends_lib-append      port:python26 \
223                            port:py26-numpy \
224                            port:swig-python
225    configure.args-delete   -DENABLE_python=OFF
226    configure.args-append   -DENABLE_python=ON \
227                            -DHAVE_NUMPY:BOOL=ON \
228                            -DPYTHON_INCLUDE_PATH=${frameworks_dir}/Python.framework/Versions/2.6/Headers
229}
230variant python27 conflicts python26 description {Add support for python27} {
231    depends_lib-append      port:python27 \
232                            port:py27-numpy \
233                            port:swig-python
234    configure.args-delete   -DENABLE_python=OFF
235    configure.args-append   -DENABLE_python=ON \
236                            -DHAVE_NUMPY:BOOL=ON \
237                            -DPYTHON_INCLUDE_PATH=${frameworks_dir}/Python.framework/Versions/2.7/Headers
238}
239
240variant py27_pyqt4 requires python27 description {Add support for pyQT4 using python27} {
241    # Can use either py*-pyqt4 or py*-pyqt4-devel.
242    depends_lib-append     path:share/py27-sip/PyQt4:py27-pyqt4
243    configure.args-delete   -DENABLE_pyqt4=OFF
244    configure.args-append   -DENABLE_pyqt4=ON
245}
246
247variant gdc description {Use dmd variant instead} {
248    default_variants-append dmd
249}
250
251variant dmd description {Add support for D} {
252    depends_lib-append      port:dmd
253    patchfiles-append       patch-cmake-modules-language_support-cmake-CMakeTestDCompiler.cmake.diff \
254                            patch-cmake-modules-language_support-cmake-Platform-Darwin-dmd.cmake.diff
255    configure.args-delete   -DENABLE_d=OFF
256    configure.args-append   -DENABLE_d=ON
257    configure.env-append    D_PATH=${prefix}
258}
259
260variant lua description {Add support for Lua} {
261    depends_lib-append      port:swig-lua
262    configure.args-delete   -DENABLE_lua=OFF
263    configure.args-append   -DENABLE_lua=ON
264}
265
266variant aquaterm description {Add support for Aquaterm} {
267    depends_lib-append      port:aquaterm
268    configure.args-delete   -DPLD_aqt=OFF
269    configure.args-append   -DPLD_aqt=ON \
270                            -DAQT_FRAMEWORK=${frameworks_dir}/AquaTerm.framework
271}
272
273variant qt4 description {Add support for Qt4} {
274    depends_lib-append      bin:qmake:qt4-mac
275    configure.args-delete   -DENABLE_qt=OFF \
276                            -DPLD_bmpqt=OFF \
277                            -DPLD_jpgqt=OFF \
278                            -DPLD_pngqt=OFF \
279                            -DPLD_ppmqt=OFF \
280                            -DPLD_epsqt=OFF \
281                            -DPLD_pdfqt=OFF \
282                            -DPLD_tiffqt=OFF \
283                            -DPLD_qtwidget=OFF \
284                            -DPLD_svgqt=OFF \
285                            -DPLD_extqt=OFF \
286                            -DPLD_memqt=OFF \
287                            -DPLD_qtwidget=OFF
288    configure.args-append   -DENABLE_qt=ON \
289                            -DPLD_bmpqt=ON \
290                            -DPLD_jpgqt=ON \
291                            -DPLD_pngqt=ON \
292                            -DPLD_ppmqt=ON \
293                            -DPLD_epsqt=ON \
294                            -DPLD_pdfqt=ON \
295                            -DPLD_tiffqt=ON \
296                            -DPLD_qtwidget=ON \
297                            -DPLD_svgqt=ON \
298                            -DPLD_extqt=ON \
299                            -DPLD_memqt=ON \
300                            -DPLD_qtwidget=ON
301}
302
303variant wxwidgets description {Add support for wxWidgets} {
304    wxWidgets.use           wxWidgets-3.0
305    depends_lib-append      port:${wxWidgets.port}
306    configure.args-delete   -DPLD_wxwidgets=OFF \
307                            -DPLD_wxpng=OFF \
308                            -DENABLE_wxwidgets=OFF
309    configure.args-append   -DPLD_wxwidgets=ON \
310                            -DPLD_wxpng=ON \
311                            -DENABLE_wxwidgets=ON \
312                            -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets.wxconfig} \
313                            -DwxWidgets_wxrc_EXECUTABLE=${wxWidgets.wxrc} \
314                            -Dwxwidgets_LINK_FLAGS=-lplplotd
315}
316
317
318variant x11 {
319    depends_lib-append      path:lib/pkgconfig/pango.pc:pango \
320                            port:tk
321    configure.args-append   -DPLD_xcairo=ON  \
322                            -DPLD_xwin=ON \
323                            -DPLD_xfig=ON \
324                            -DPLD_tk=ON \
325                            -DENABLE_tk=ON \
326                            -DTK_INCLUDE_PATH=${prefix}/include \
327                            -DTK_LIBRARY=${prefix}/lib/libtk.dylib
328    configure.args-delete   -DPLD_xcairo=OFF \
329                            -DPLD_xwin=OFF \
330                            -DPLD_xfig=OFF \
331                            -DENABLE_tk=OFF
332}
333
334livecheck.type              regex
335livecheck.url               http://sourceforge.net/p/${name}/news/
336livecheck.regex             {PLplot-([0-9]+\.[0-9]+\.[0-9]+)}
Note: See TracBrowser for help on using the repository browser.