source: trunk/dports/math/gnudatalanguage/Portfile @ 111797

Last change on this file since 111797 was 111797, checked in by takeshi@…, 4 years ago

gnudatalanguage: updated for 0.9.4. fixed a bug that gcc44 didn't conflict with gcc48. added gcc49

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 10.4 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 111797 2013-10-02 12:46:48Z takeshi@macports.org $
3
4PortSystem                  1.0
5PortGroup                   cmake 1.0
6
7name                        gnudatalanguage
8version                     0.9.4
9epoch                       1
10categories                  math science
11maintainers                 takeshi
12license                     GPL-2
13platforms                   darwin
14description                 a free IDL combatible incremental compiler
15long_description \
16    A free IDL (Interactive Data Language) compatible \
17    incremental compiler (ie. runs IDL programs).
18homepage                    http://gnudatalanguage.sourceforge.net/
19master_sites                sourceforge:${name}:gdl \
20                            ftp://ftp.soest.hawaii.edu/pwessel/gshhs:gshhs
21set gdlsrc          gdl-${version}.tar.gz
22set srcversion      1.13
23set dataversion     2.1.0
24set gshhssrc        gshhs_${srcversion}_src.zip
25set gshhsdata       gshhs_${dataversion}.zip
26distfiles           ${gdlsrc}:gdl
27worksrcdir          gdl-${version}
28
29checksums           ${gdlsrc} \
30                    md5     5d8d5783a387cca264fe8edb09e04f10 \
31                    sha1    21def7391f889370faa38988bf4c5514fa8b88f0 \
32                    rmd160  f293bece79b6029ab62b23f65d9e704e4d07661c
33
34depends_lib                 port:zlib \
35                            port:gsl \
36                            port:ncurses \
37                            port:readline \
38                            port:plplot \
39                            port:netcdf-cxx \
40                            port:hdf4 \
41                            port:hdf5-18 \
42                            port:grib_api \
43                            port:libproj4 \
44                            port:ImageMagick \
45                            port:xorg-libX11 \
46                            port:udunits2 \
47                            port:fftw-3 \
48                            port:fftw-3-single \
49                            port:cmsvlib \
50                            port:pslib
51
52post-patch {
53   # Avoid using heimdal's broken fnmatch.h
54   reinplace "s|<\\(fnmatch\.h\\)>|\"/usr/include/\\1\"|" ${worksrcpath}/src/file.cpp
55   reinplace "s|\.\./gshhs|gshhs|" ${worksrcpath}/src/gshhs.cpp
56}
57
58configure.args-append   -DFFTW=ON \
59                        -DFFTWDIR=${prefix} \
60                        -DGRIB=ON \
61                        -DGRIBDIR=${prefix} \
62                        -DGSHHS=OFF \
63                        -DGSLDIR=${prefix} \
64                        -DHDF5=ON \
65                        -DHDF5DIR=${prefix} \
66                        -DHDF=ON \
67                        -DHDFDIR=${prefix} \
68                        -DJASPERDIR=${prefix} \
69                        -DJPEGDIR=${prefix} \
70                        -DLIBPROJ4=ON \
71                        -DLIBPROJ4DIR=${prefix} \
72                        -DMAGICK=ON \
73                        -DMAGICKDIR=${prefix} \
74                        -DImageMagick_INCLUDE_DIRS=${prefix}/include/ImageMagick-6 \
75                        -DImageMagick_Magick++_LIBRARY=${prefix}/lib/libMagick++-6.Q16.dylib \
76                        -DImageMagick_MagickCore_LIBRARY=${prefix}/lib/libMagickCore-6.Q16.dylib \
77                        -DImageMagick_MagickWand_LIBRARY=${prefix}/lib/libMagickWand-6.Q16.dylib \
78                        -DMPICH=OFF \
79                        -DNCURSESDIR=${prefix} \
80                        -DNETCDF=ON \
81                        -DNETCDFDIR=${prefix} \
82                        -DOPENMP=OFF \
83                        -DPLPLOTDIR=${prefix} \
84                        -DPSLIB=ON \
85                        -DPSLIBDIR=${prefix} \
86                        -DPYTHON=OFF \
87                        -DPYTHON_MODULE=OFF \
88                        -DREADLINE=ON \
89                        -DREADLINEDIR=${prefix} \
90                        -DUDUNITS=ON \
91                        -DUDUNITSDIR=${prefix} \
92                        -DUDUNITS_INCLUDE_DIR=${prefix}/include/udunits2 \
93                        -DWXWIDGETS=OFF \
94                        -DX11DIR=${prefix} \
95                        -DZLIBDIR=${prefix} \
96                        -DCMAKE_OSX_DEPLOYMENT_TARGET=""
97
98test.run                    yes
99test.target                 check
100
101use_parallel_build          yes
102
103post-destroot {
104    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
105    foreach f {AUTHORS README} {
106        file rename ${destroot}${prefix}/share/${name}/${f} \
107            ${destroot}${prefix}/share/doc/${name}/
108    }
109    xinstall -m 644 -W ${worksrcpath} COPYING ChangeLog HACKING NEWS MAP_INSTALL TODO \
110        ${destroot}${prefix}/share/doc/${name}
111    file copy ${worksrcpath}/testsuite ${destroot}${prefix}/share/${name}/
112    if {[variant_isset python25] || [variant_isset python26] || [variant_isset python27]} {
113        xinstall -m 644 ${worksrcpath}/PYTHON.txt ${destroot}${prefix}/share/doc/${name}
114        file copy ${worksrcpath}/src/py ${destroot}${prefix}/share/${name}/
115    }
116    if {[variant_isset gshhs]} {
117        xinstall -d ${destroot}${prefix}/share/gnudatalanguage/gshhs
118        foreach f [glob ${workpath}/gshhs/*.b] {
119            xinstall -m 644 ${f} ${destroot}${prefix}/share/gnudatalanguage/gshhs
120        }
121    }
122}
123
124variant mpich description {build with support for MPICH (experimental)} {
125    depends_lib-append      path:bin/mpicc-mp:mpich-default
126    configure.args-delete   -DMPICH=OFF
127    configure.args-append   -DMPICH=ON
128    configure.args-append   -DMPI_COMPILER=${prefix}/bin/mpicc-mp \
129                            -DMPI_LIBRARY=MPI_LIBRARY-NOTFOUND
130} 
131
132# gnudatalanguage does not build against wxWidgets30.
133# wxWidget support is not actively developed.
134variant wxWidgets description {deprecated compatibility variant} {
135#    supported_archs         ppc i386
136#    depends_lib-append      port:wxWidgets30
137#    configure.args-delete   -DWXWIDGETS=OFF \
138#    configure.args-append   -DWXWIDGETS=ON \
139#                            -DWXWIDGETSDIR=${prefix}
140#    # http://wiki.finkproject.org/index.php/Fink:Packaging:Preparing_for_10.5#OpenGL_Bug
141#    #configure.env-append    LDFLAGS=\"-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib\"
142}
143
144platform darwin {
145    if {${os.major} >= 13} {
146        # The python variants don't work.  With them disabled, we still fail with:
147        # Also fails with them disabled:
148        # gdl-0.9.3/src/gsl_fun.cpp:3772:9: error:
149        # no viable overloaded '*='
150        # res[j] *= exp(complex<T_phi>(0., m * phi[j * step_phi]));
151        # ~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
152
153        depends_lib
154        depends_run
155        pre-fetch {
156            ui_error "$name does not build on Mavericks or later."
157            error "unsupported platform"
158        }
159    }
160}
161
162if {[variant_isset python25] || [variant_isset python26] || [variant_isset python27]} {
163    configure.args-delete   -DPYTHON=OFF
164    configure.args-append   -DPYTHON=ON
165}
166
167variant python requires python26 description {Legacy compatibility variant} {}
168
169variant python25 conflicts python26 python27 description {build with support for calling Python (2.5) from GDL (using numpy)} {
170    depends_lib-append      port:py25-numpy
171    configure.args-append   -DPYTHONDIR=${frameworks_dir}/Python.framework/Versions/2.5 \
172                            -DPYTHONVERSION=2.5
173}
174
175variant python26 conflicts python25 python27 description {build with support for calling Python (2.6) from GDL (using numpy)} {
176    depends_lib-append      port:py26-numpy
177    configure.args-append   -DPYTHONDIR=${frameworks_dir}/Python.framework/Versions/2.6 \
178                            -DPYTHONVERSION=2.6
179}
180
181variant python27 conflicts python25 python26 description {build with support for calling Python (2.7) from GDL (using numpy)} {
182    depends_lib-append      port:py27-numpy
183    configure.args-append   -DPYTHONDIR=${frameworks_dir}/Python.framework/Versions/2.7 \
184                            -DPYTHONVERSION=2.7
185}
186
187if {[variant_isset gcc44] || [variant_isset gcc45] || [variant_isset gcc46] || [variant_isset gcc47] || [variant_isset gcc48]} {
188    configure.args-delete   -DOPENMP=OFF
189    configure.args-append   -DOPENMP=ON
190}
191
192variant openmp requires gcc44 description {Legacy compatibility variant} {}
193
194variant gcc44 conflicts gcc45 gcc46 gcc47 gcc48 gcc49 description {enabling of the support for OpenMP with gcc44} {
195    configure.compiler      macports-gcc-4.4
196# Detecting CXX compiler ABI info fails without this
197    configure.args-append   -D
198}
199
200variant gcc45 conflicts gcc44 gcc46 gcc47 gcc48 gcc49 description {enabling of the support for OpenMP with gcc45} {
201    configure.compiler      macports-gcc-4.5
202# Detecting CXX compiler ABI info fails without this
203    configure.args-append   -D
204}
205
206variant gcc46 conflicts gcc44 gcc45 gcc47 gcc48 gcc49 description {enabling of the support for OpenMP with gcc46} {
207    configure.compiler      macports-gcc-4.6
208# Detecting CXX compiler ABI info fails without this
209    configure.args-append   -D
210}
211
212variant gcc47 conflicts gcc44 gcc45 gcc46 gcc48 gcc49 description {enabling of the support for OpenMP with gcc47} {
213    configure.compiler      macports-gcc-4.7
214}
215
216variant gcc48 conflicts gcc44 gcc45 gcc46 gcc47 gcc49 description {enabling of the support for OpenMP with gcc48} {
217    configure.compiler      macports-gcc-4.8
218}
219
220variant gcc49 conflicts gcc44 gcc45 gcc46 gcc47 gcc48 description {enabling of the support for OpenMP with gcc48} {
221    configure.compiler      macports-gcc-4.9
222}
223
224
225variant gshhs description {build with support for GSHHS} {
226    distfiles-append        ${gshhssrc}:gshhs \
227                            ${gshhsdata}:gshhs
228    checksums-append \
229                    ${gshhssrc} \
230                    md5     714b729d90381a3b1b1df70b78b05f6e \
231                    sha1    7cfb92dafd86b197c65ad6f6aaf797f6cd0ce55a \
232                    rmd160  a397b3cc50d9e3a0a9736044deabd567059698b5 \
233                    ${gshhsdata} \
234                    md5     30d336f86228e2e2861a2ba91efa0857 \
235                    sha1    fe14a1dcc7b863fb59ea00d9975b2499b669bd79 \
236                    rmd160  f4ecd162cd4e60f3b03d02d22ab143184d026f34
237    extract.only    ${gdlsrc}
238    post-extract {
239        system "cd ${workpath}; \
240                unzip ${distpath}/${gshhssrc} gshhs/gshhs.h; \
241                unzip ${distpath}/${gshhsdata}"
242    }
243    configure.args-delete   -DGSHHS=OFF
244    configure.args-append   -DGSHHS=ON \
245                            -DGSHHSDIR=${workpath}/gshhs
246}
247
248livecheck.regex             /gdl-(\[0-9.\]+)${extract.suffix}
Note: See TracBrowser for help on using the repository browser.