source: trunk/dports/science/magicspp/Portfile

Last change on this file was 153821, checked in by takeshi@…, 13 months ago

magicspp: require perl5.24, see #52081

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.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 153821 2016-10-12 13:37:49Z ryandesign@macports.org $
3
4PortSystem          1.0
5PortGroup cmake     1.0
6PortGroup compilers 1.0
7PortGroup perl5     1.0
8PortGroup qt4       1.0
9
10perl5.branches      5.24
11
12name                magicspp
13version             2.29.4
14revision            1
15platforms           darwin
16maintainers         takeshi
17license             Apache-2
18categories          science
19description         ECMWF's Meteorological plotting software
20homepage            http://software.ecmwf.int/wiki/display/MAGP/Magics
21master_sites        https://software.ecmwf.int/wiki/download/attachments/3473464/
22distname            Magics-${version}-Source
23checksums           rmd160  82c7a98b2a083985ab29bb33743067fbb94c9e74 \
24                    sha256  82bdb4f7e38776776d2155a82d0acaa017402365a043731708345ac4ac00198f
25long_description \
26    Magics++ is the latest generation of the ECMWF's Meteorological plotting \
27    software MAGICS (Meteorological Applications Graphics Integrated Colour System) \
28    redesigned in C++.  Magics++ offers interfaces in Fortran, C, and MagML, \
29    a plot description language based on XML.  The library supports the plotting of \
30    contours, wind fields, observations, satellite images, symbols, text, axis \
31    and graphs (including boxplots). Input data can be in GRIB 1 and 2, BUFR and NetCDF \
32    or retrieved from an ODB database. The produced meteorological plots can be saved \
33    in various formats, such as PostScript, EPS, PDF, GIF, PNG and SVG.
34
35fetch.ignore_sslcert    yes
36
37compilers.choose    fc
38compilers.setup     require_fortran -g95
39
40depends_build-append \
41                    port:flex \
42                    port:pkgconfig \
43                    port:swig-python
44depends_lib         port:libemos \
45                    port:tiff \
46                    port:libgeotiff \
47                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
48                    port:grib_api \
49                    port:netcdf \
50                    port:netcdf-cxx \
51                    port:mesa \
52                    port:xorg-libXau \
53                    port:xorg-libXdmcp \
54                    port:p${perl5.major}-xml-parser \
55                    port:gd2 \
56                    path:lib/pkgconfig/pango.pc:pango \
57                    port:ghostscript \
58                    port:boost \
59                    port:proj \
60                    port:libpng \
61                    port:zlib \
62                    port:jasper \
63                    port:jpeg \
64                    port:openjpeg \
65                    port:expat \
66                    port:hdf5 \
67                    path:lib/pkgconfig/cairo.pc:cairo \
68                    port:gettext \
69                    port:fftw-3
70require_active_variants path:lib/pkgconfig/cairo.pc:cairo x11
71
72universal_variant   no
73
74default_variants-append +python27
75
76patchfiles          patch-CMakeLists.txt.diff
77
78configure.args-append   -DBOOST_ROOT=${prefix} \
79                        -DCMAKE_Fortran_COMPILER=${configure.fc} \
80                        -DENABLE_BUFR=ON \
81                        -DENABLE_CAIRO=ON \
82                        -DENABLE_FORTRAN=OFF \
83                        -DENABLE_GEOTIFF=ON \
84                        -DENABLE_GRIB=ON \
85                        -DENABLE_LARGE_FILE_SUPPORT=ON \
86                        -DENABLE_NETCDF=ON \
87                        -DENABLE_PYTHON=ON \
88                        -DEXPAT_INCLUDE_DIR=${prefix}/include \
89                        -DEXPAT_LIBRARY=${prefix}/lib/libexpat.dylib \
90                        -DGRIB_API_PATH=${prefix} \
91                        -DHDF5_C_COMPILER_EXECUTABLE=${prefix}/bin/h5cc \
92                        -DHDF5_C_INCLUDE_DIR=${prefix}/include \
93                        -DHDF5_DIFF_EXECUTABLE=${prefix}/bin/h5diff \
94                        -DNETCDF_CONFIG_EXECUTABLE=${prefix}/bin/nc-config \
95                        -DNETCDF_netcdf.h_INCLUDE_DIR=${prefix}/include \
96                        -DNETCDF_netcdf_LIBRARY_RELEASE=${prefix}/lib/libnetcdf.dylib \
97                        -DNETCDF_netcdf_c++_LIBRARY_RELEASE=${prefix}/lib/libnetcdf_c++.dylib \
98                        -DNETCDF_netcdfcpp.h_INCLUDE_DIR=${prefix}/include \
99                        -DPERL_EXECUTABLE=${perl5.bin} \
100                        -DPKG_CONFIG_EXECUTABLE=${prefix}/bin/pkg-config \
101                        -DPROJ4_INCLUDE_DIR=${prefix}/include \
102                        -DPROJ4_LIBRARY=${prefix}/lib/libproj.dylib \
103                        -DSWIG_EXECUTABLE=${prefix}/bin/swig
104post-configure {
105    foreach d {"" Single Double} {
106      reinplace "s|-lcairo|-lcairo -lX11 -ltiff|" ${workpath}/build/src/CMakeFiles/MagPlus${d}.dir/link.txt
107    }
108    foreach d {bufr grib} {
109        reinplace "s|${configure.fc}|${configure.cxx}|" ${workpath}/build/test/CMakeFiles/${d}_fortran.dir/link.txt
110    }
111}
112
113cmake.out_of_source     yes
114
115post-destroot {
116    file rename ${destroot}${prefix}/share/templates ${destroot}${prefix}/share/magics
117    if {[variant_isset python27]} {
118        file mkdir ${destroot}${frameworks_dir}/Python.framework/Versions/${pyver}/lib/python${pyver}/site-packages
119        file rename ${destroot}${prefix}/lib/python${pyver}/site-packages/Magics ${destroot}${frameworks_dir}/Python.framework/Versions/${pyver}/lib/python${pyver}/site-packages
120    }
121}
122
123if {[fortran_variant_isset]} {
124    configure.args-delete   -DENABLE_FORTRAN=OFF
125    configure.args-append   -DGFORTRAN_EXECUTABLE=${configure.fc} \
126                            -DGFORTRAN_LIB=${prefix}/lib/[fortran_variant_name]/libgfortran.dylib
127}
128
129if {[variant_isset python27]} {
130    set pyver 2.7
131    configure.args-delete   -DENABLE_PYTHON=OFF
132    configure.args-append   -DENABLE_PYTHON=ON
133    configure.args-append   -DPYTHON_EXECUTABLE=${prefix}/bin/python${pyver} \
134                            -DPYTHON_CONFIG=${prefix}/bin/python${pyver}-config
135}
136
137variant python27 description {Add support for python27} {
138    depends_lib-append      port:py27-numpy
139}
140
141variant metview description {Add support for MetView} {
142    depends_lib-append      port:qt4-mac
143    configure.args-append   -DENABLE_METVIEW=ON \
144                            -DQT_QMAKE_EXECUTABLE=${qt_qmake_cmd}
145}
146
147livecheck.type          regex
148livecheck.url           ${homepage}
149livecheck.regex         {Magics-([0-9]+\.[0-9]+\.[0-9]+)-Source.tar.gz}
Note: See TracBrowser for help on using the repository browser.