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

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

gnudatalanguage: update to 0.9.6. Fix the problem finding HDF5. Switch to plplot from plplot510. Closing #51865 and #51555.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 8.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 150628 2016-07-25 00:07:21Z takeshi@macports.org $
3
4PortSystem                  1.0
5PortGroup                   cmake 1.0
6PortGroup                   conflicts_build 1.0
7PortGroup                   mpi 1.0
8
9name                        gnudatalanguage
10version                     0.9.6
11epoch                       2
12
13compilers.choose            cc cxx
14mpi.setup                   -openmpi -openmpi_devel -dragonegg
15
16categories                  math science
17maintainers                 takeshi
18license                     GPL-2
19platforms                   darwin
20description                 a free IDL combatible incremental compiler
21long_description \
22    A free IDL (Interactive Data Language) compatible \
23    incremental compiler (ie. runs IDL programs).
24homepage                    http://gnudatalanguage.sourceforge.net/
25master_sites                sourceforge:${name}:gdl \
26                            ftp://ftp.soest.hawaii.edu/pwessel/gshhs:gshhs
27set gdlsrc          gdl-${version}v2.tgz
28set srcversion      1.13
29set dataversion     2.1.0
30set gshhssrc        gshhs_${srcversion}_src.zip
31set gshhsdata       gshhs_${dataversion}.zip
32distfiles           ${gdlsrc}:gdl
33worksrcdir          gdl-${version}
34
35checksums           ${gdlsrc} \
36                    rmd160  a9216338b8fd89938078172bc57ac387616a0c0f \
37                    sha256  cfb005ee1d9c843b26cc474618225ce68a1f0bfaeddcd45bf63a0a8fb62eedb4
38
39depends_build-append        port:pkgconfig
40depends_lib                 port:zlib \
41                            port:gsl \
42                            port:ncurses \
43                            port:readline \
44                            port:plplot \
45                            port:netcdf-cxx \
46                            port:hdf4 \
47                            port:hdf5 \
48                            port:grib_api \
49                            port:libproj4 \
50                            port:GraphicsMagick \
51                            port:xorg-libX11 \
52                            port:udunits2 \
53                            port:fftw-3 \
54                            port:fftw-3-single \
55                            port:cmsvlib \
56                            port:pslib \
57                            port:eigen3 \
58                            port:gettext
59conflicts_build             antlr
60
61post-patch {
62   # Avoid using heimdal's broken fnmatch.h
63   reinplace "s|<\\(fnmatch\.h\\)>|\"/usr/include/\\1\"|" ${worksrcpath}/src/file.cpp
64}
65
66cmake.out_of_source yes
67
68configure.args-append   -DEIGEN3DIR=${prefix} \
69                        -DFFTW=ON \
70                        -DFFTWDIR=${prefix} \
71                        -DGRAPHICSMAGICK=ON \
72                        -DGRAPHICSMAGICKDIR=${prefix} \
73                        -DGRAPHICSMAGICK_INCLUDE_DIR=${prefix}/include/GraphicsMagick \
74                        -DGRIB=ON \
75                        -DGRIBDIR=${prefix} \
76                        -DGRIB_INCLUDE_DIR=${prefix}/include \
77                        -DGSHHS=OFF \
78                        -DGSLDIR=${prefix} \
79                        -DGSL_INCLUDE_DIR=${prefix}/include \
80                        -DHDF5=ON \
81                        -DHDF5_ROOT=${prefix} \
82                        -DHDF=ON \
83                        -DHDFDIR=${prefix} \
84                        -DJASPERDIR=${prefix} \
85                        -DJPEGDIR=${prefix} \
86                        -DLIBPROJ4=ON \
87                        -DLIBPROJ4DIR=${prefix} \
88                        -DMAGICK=OFF \
89                        -DMPICH=OFF \
90                        -DNCURSESDIR=${prefix} \
91                        -DNETCDF=ON \
92                        -DNETCDFDIR=${prefix} \
93                        -DOPENMP=OFF \
94                        -DPLPLOTDIR=${prefix} \
95                        -DPSLIB=ON \
96                        -DPSLIBDIR=${prefix} \
97                        -DPYTHON=OFF \
98                        -DPYTHON_MODULE=OFF \
99                        -DREADLINE=ON \
100                        -DREADLINEDIR=${prefix} \
101                        -DUDUNITS=ON \
102                        -DUDUNITSDIR=${prefix} \
103                        -DUDUNITS_INCLUDE_DIR=${prefix}/include/udunits2 \
104                        -DWXWIDGETS=OFF \
105                        -DX11DIR=${prefix} \
106                        -DZLIBDIR=${prefix} \
107                        -DCMAKE_OSX_DEPLOYMENT_TARGET=""
108configure.cxxflags-append \
109                        -DPLPLOT_HAS_PLCALLBACK
110configure.ldflags-append \
111                        -lintl
112
113test.run                    yes
114test.target                 check
115
116use_parallel_build          yes
117
118post-destroot {
119    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
120    foreach f {AUTHORS README} {
121        file rename ${destroot}${prefix}/share/${name}/${f} \
122            ${destroot}${prefix}/share/doc/${name}/
123    }
124    xinstall -m 644 -W ${worksrcpath} COPYING ChangeLog HACKING NEWS MAP_INSTALL TODO \
125        ${destroot}${prefix}/share/doc/${name}
126    file copy ${worksrcpath}/testsuite ${destroot}${prefix}/share/${name}/
127    if {[variant_isset python27]} {
128        xinstall -m 644 ${worksrcpath}/PYTHON.txt ${destroot}${prefix}/share/doc/${name}
129        file copy ${worksrcpath}/src/py ${destroot}${prefix}/share/${name}/
130    }
131    if {[variant_isset gshhs]} {
132        xinstall -d ${destroot}${prefix}/share/gnudatalanguage/gshhs
133        foreach f [glob ${workpath}/gshhs/*.b] {
134            xinstall -m 644 ${f} ${destroot}${prefix}/share/gnudatalanguage/gshhs
135        }
136    }
137}
138
139pre-configure {
140    if {[mpi_variant_isset]} {
141        configure.args-delete   -DMPICH=OFF
142        configure.args-append   -DMPICH=ON
143        configure.args-append   -DMPI_COMPILER=${mpi.cc} \
144                                -DMPI_LIBRARY=MPI_LIBRARY-NOTFOUND
145    }
146}
147
148# gnudatalanguage does not build against wxWidgets30.
149# wxWidget support is not actively developed.
150variant wxWidgets description {deprecated compatibility variant} {
151#    supported_archs         ppc i386
152#    depends_lib-append      port:wxWidgets30
153#    configure.args-delete   -DWXWIDGETS=OFF \
154#    configure.args-append   -DWXWIDGETS=ON \
155#                            -DWXWIDGETSDIR=${prefix}
156#    # http://wiki.finkproject.org/index.php/Fink:Packaging:Preparing_for_10.5#OpenGL_Bug
157#    #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\"
158}
159
160if {[variant_isset python27]} {
161    configure.args-delete   -DPYTHON=OFF
162    configure.args-append   -DPYTHON=ON
163}
164
165# TODO: Remove after 2016-01-04.
166variant python25 requires python27 description {Legacy variant} {}
167variant python26 requires python27 description {Legacy variant} {}
168
169variant python27 description {build with support for calling Python (2.7) from GDL (using numpy)} {
170    depends_lib-append      port:py27-numpy
171    configure.args-append   -DPYTHONDIR=${frameworks_dir}/Python.framework/Versions/2.7 \
172                            -DPYTHONVERSION=2.7
173}
174
175if {[gcc_variant_isset]} {
176    configure.args-delete   -DOPENMP=OFF
177    configure.args-append   -DOPENMP=ON
178    # Detecting CXX compiler ABI info fails without this
179    configure.args-append   -D
180}
181
182variant openmp requires gcc44 description {Legacy compatibility variant} {}
183
184variant gshhs description {build with support for GSHHS} {
185    distfiles-append        ${gshhssrc}:gshhs \
186                            ${gshhsdata}:gshhs
187    checksums-append \
188                    ${gshhssrc} \
189                    md5     714b729d90381a3b1b1df70b78b05f6e \
190                    sha1    7cfb92dafd86b197c65ad6f6aaf797f6cd0ce55a \
191                    rmd160  a397b3cc50d9e3a0a9736044deabd567059698b5 \
192                    ${gshhsdata} \
193                    md5     30d336f86228e2e2861a2ba91efa0857 \
194                    sha1    fe14a1dcc7b863fb59ea00d9975b2499b669bd79 \
195                    rmd160  f4ecd162cd4e60f3b03d02d22ab143184d026f34
196    extract.only    ${gdlsrc}
197    post-extract {
198        system "cd ${workpath}; \
199                unzip ${distpath}/${gshhssrc} gshhs/gshhs.h; \
200                unzip ${distpath}/${gshhsdata}"
201    }
202    configure.args-delete   -DGSHHS=OFF
203    configure.args-append   -DGSHHS=ON \
204                            -DGSHHSDIR=${workpath}/gshhs
205}
206
207livecheck.regex             /gdl-(\[0-9.\]+)${extract.suffix}
Note: See TracBrowser for help on using the repository browser.