[121560] trunk/dports/science/magicspp
takeshi at macports.org
takeshi at macports.org
Mon Jun 30 00:28:20 PDT 2014
Revision: 121560
https://trac.macports.org/changeset/121560
Author: takeshi at macports.org
Date: 2014-06-30 00:28:20 -0700 (Mon, 30 Jun 2014)
Log Message:
-----------
magicspp: updated for 2.22.6. build with cmake. enabled build on Mavericks, closing #42958
Modified Paths:
--------------
trunk/dports/science/magicspp/Portfile
Removed Paths:
-------------
trunk/dports/science/magicspp/files/
Modified: trunk/dports/science/magicspp/Portfile
===================================================================
--- trunk/dports/science/magicspp/Portfile 2014-06-30 01:58:17 UTC (rev 121559)
+++ trunk/dports/science/magicspp/Portfile 2014-06-30 07:28:20 UTC (rev 121560)
@@ -2,10 +2,14 @@
# $Id$
PortSystem 1.0
+PortGroup cmake 1.0
+PortGroup compilers 1.0
+compilers.choose fc
+compilers.setup require_fortran -g95
+
name magicspp
-version 2.18.15
-revision 6
+version 2.22.6
platforms darwin
maintainers takeshi
license Apache-2
@@ -13,10 +17,10 @@
description ECMWF's Meteorological plotting software
homepage http://software.ecmwf.int/wiki/display/MAGP/Magics
master_sites https://software.ecmwf.int/wiki/download/attachments/3473464/
-distname Magics-${version}
-checksums md5 0ca95215415fba244ca49fb51d0b2342 \
- sha1 340683acbd80370a0b9c2f1ec22cf7201abb29db \
- rmd160 aa0bb635b50cfd8cc7ee102696a183fd8f81db7f
+distname Magics-${version}-Source
+checksums md5 99ac8a9b50861f4632ca3b96099dc14b \
+ sha1 c61311413c396f74f04eecda3b51293cdfd9df48 \
+ rmd160 847e8a16fcf17c83410e82bdfe99dafc62d85c08
long_description \
Magics++ is the latest generation of the ECMWF's Meteorological plotting \
software MAGICS (Meteorological Applications Graphics Integrated Colour System) \
@@ -29,6 +33,8 @@
fetch.ignore_sslcert yes
+depends_build port:cmake \
+ port:flex
depends_lib port:emos \
port:grib_api \
port:netcdf-cxx \
@@ -42,117 +48,118 @@
port:boost \
port:proj47 \
port:swig-python
+require_active_variants cairo x11
-platform darwin {
- if {${os.major} >= 13} {
- depends_lib
- depends_run
- pre-fetch {
- ui_error "$name does not build on Mavericks or later."
- error "unsupported platform"
- }
- }
-}
-
use_parallel_build no
universal_variant no
+
+if {![fortran_variant_isset]} {
+ default_variants-append +gcc48
+}
if {![variant_isset python25] && ![variant_isset python26]} {
default_variants-append +python27
}
-patchfiles patch-src-Makefile.in.diff \
- patch-configure.diff
-post-patch {
- reinplace "s|pdir = \$(libdir)|pdir = ${frameworks_dir}/Python.framework/Versions/\$(PYTHON_VERSION)/lib|" \
- ${worksrcpath}/python/Magics/Makefile.in
+configure.cmd cmake
+configure.dir ${workpath}/build
+configure.args-append -DBOOST_ROOT=${prefix} \
+ -DCMAKE_Fortran_COMPILER=${configure.fc} \
+ -DENABLE_BUFR=ON \
+ -DENABLE_CAIRO=ON \
+ -DENABLE_FORTRAN=OFF \
+ -DENABLE_GRIB=ON \
+ -DENABLE_LARGE_FILE_SUPPORT=ON \
+ -DENABLE_NETCDF=ON \
+ -DENABLE_PYTHON=ON \
+ -DEXPAT_INCLUDE_DIR=${prefix}/include \
+ -DEXPAT_LIBRARY=${prefix}/lib/libexpat.dylib \
+ -DFLEX_EXECUTABLE=${prefix}/bin/flex \
+ -DFLEX_INCLUDE_DIR=${prefix}/include \
+ -DFL_LIBRARY=${prefix}/lib/libfl.a \
+ -DGRIB_API_PATH=${prefix} \
+ -DGRIB_API_INCLUDE_DIR=${prefix}/include \
+ -DGRIB_API_INFO=${prefix}/bin/grib_info \
+ -DGRIB_API_JPG=ON \
+ -DGRIB_API_LIBRARY=${prefix}/lib/libgrib_api.dylib \
+ -DGRIB_API_PNG=ON \
+ -DGS_LIBRARIES=${prefix}/lib/libgs.dylib \
+ -DHDF5_CXX_COMPILER_EXECUTABLE=${prefix}/bin/h5c++ \
+ -DHDF5_CXX_INCLUDE_DIR=${prefix}/include \
+ -DHDF5_C_COMPILER_EXECUTABLE=${prefix}/bin/h5cc \
+ -DHDF5_C_INCLUDE_DIR=${prefix}/include \
+ -DHDF5_DIFF_EXECUTABLE=${prefix}/bin/h5diff \
+ -DHDF5_hdf5_cpp_LIBRARY_RELEASE=${prefix}/lib/libhdf5.dylib \
+ -DHDF5_hdf5_hl_LIBRARY_RELEASE=${prefix}/lib/libhdf5_hl.dylib \
+ -DJASPER_INCLUDE_DIR=${prefix}/include \
+ -DJASPER_LIBRARY_RELEASE=${prefix}/lib/libjasper.dylib \
+ -DJPEG_INCLUDE_DIR=${prefix}/include \
+ -DJPEG_LIBRARY=${prefix}/lib/libjpeg.dylib \
+ -DNETCDF_CONFIG_EXECUTABLE=${prefix}/bin/nc-config \
+ -DNETCDF_netcdf.h_INCLUDE_DIR=${prefix}/include \
+ -DNETCDF_netcdf_LIBRARY_RELEASE=${prefix}/lib/libnetcdf.dylib \
+ -DNETCDF_netcdf_c++_LIBRARY_RELEASE=${prefix}/lib/libnetcdf_c++.dylib \
+ -DNETCDF_netcdfcpp.h_INCLUDE_DIR=${prefix}/include \
+ -DOPENJPEG_INCLUDE_DIR=${prefix}/include \
+ -DOPENJPEG_LIBRARY=${prefix}/lib/libopenjpeg.dylib \
+ -DPERL_EXECUTABLE=${prefix}/bin/perl \
+ -DPKG_CONFIG_EXECUTABLE=${prefix}/bin/pkg-config \
+ -DPNG_LIBRARY_RELEASE=${prefix}/lib/libpng.dylib \
+ -DPNG_PNG_INCLUDE_DIR=${prefix}/include \
+ -DPROJ4_INCLUDE_DIR=${prefix}/include \
+ -DPROJ4_LIBRARY=${prefix}/lib/libproj.dylib \
+ -DSWIG_EXECUTABLE=${prefix}/bin/swig \
+ -DZLIB_INCLUDE_DIR=${prefix}/include \
+ -DZLIB_LIBRARY=${prefix}/lib/libz.dylib
+configure.post_args ../${distname}
+post-configure {
+ reinplace "s|Magics-${version}-Source/python/Magics/Magics.i$|build/python/Magics/Magics.i|g" ${workpath}/build/python/Magics/CMakeFiles/_Magics.dir/build.make
+ reinplace "s|-lcairo|-lcairo -lX11|" ${workpath}/build/src/CMakeFiles/MagPlusShared.dir/link.txt
+ foreach d {bufr grib} {
+ reinplace "s|${configure.fc}|${configure.cxx}|" ${workpath}/build/test/CMakeFiles/${d}_fortran.dir/link.txt
+ reinplace "s|-I/opt/local/include||g" ${workpath}/build/src/magics.pc
+ }
}
-configure.libs-append -lemosR64 -lX11
-configure.cppflags-append -I${prefix}/include/freetype2
-configure.args-append --disable-dependency-tracking \
- --disable-qt \
- --with-gd=${prefix} \
- --enable-cairo \
- --enable-bufr \
- --disable-python \
- --enable-proj4 \
- --with-proj4=${prefix}/lib/proj47 \
- --with-grib-api=${prefix} \
- --with-netcdf=${prefix} \
- --with-emos-libraries=${prefix}/lib \
- --with-gs-font-dir=${prefix}/share/ghostscript/fonts \
- --with-boost \
- --with-boost-libdir=${prefix}/lib
+build.dir ${workpath}/build
-# fatal error: 'bits/stream_iterator.h' file not found
-compiler.blacklist *clang*
-
-set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
-set default_fortran_variant +gcc48
-
-foreach ver ${gcc_versions} {
- set ver_no_dot [join [split ${ver} "."] ""]
-
- set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}"}
-
- foreach over ${gcc_versions} {
- if {${ver} == ${over}} {
- continue
- }
-
- set over_no_dot [join [split ${over} "."] ""]
- append variant_line " conflicts gcc${over_no_dot}"
+post-destroot {
+ file rename ${destroot}${prefix}/share/templates ${destroot}${prefix}/share/magics
+ if {[variant_isset python25] || [variant_isset python26] || [variant_isset python27]} {
+ file mkdir ${destroot}${frameworks_dir}/Python.framework/Versions/${pyver}/lib/python${pyver}/site-packages
+ file rename ${destroot}${prefix}/lib/python${pyver}/site-packages/Magics ${destroot}${frameworks_dir}/Python.framework/Versions/${pyver}/lib/python${pyver}/site-packages
}
- append variant_line { {}}
-
- eval $variant_line
-
- if {[variant_isset gcc${ver_no_dot}]} {
- if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
- set default_fortran_variant ""
- }
- }
}
-if {${default_fortran_variant} != ""} {
- default_variants-append "${default_fortran_variant}"
+if {[fortran_variant_isset]} {
+ configure.args-delete -DENABLE_FORTRAN=OFF
+ configure.args-append -DGFORTRAN_EXECUTABLE=${configure.fc} \
+ -DGFORTRAN_LIB=${prefix}/lib/[fortran_variant_name]/libgfortran.dylib
}
-foreach ver ${gcc_versions} {
- set ver_no_dot [join [split ${ver} "."] ""]
-
- if {[variant_isset gcc${ver_no_dot}]} {
- depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
- depends_build-append port:gcc${ver_no_dot}
-
- configure.fc ${prefix}/bin/gfortran-mp-${ver}
- configure.f77 ${prefix}/bin/gfortran-mp-${ver}
- configure.f90 ${prefix}/bin/gfortran-mp-${ver}
-
- configure.args-append --with-fortran-libraries=${prefix}/lib/gcc${ver_no_dot}
- }
+if {[variant_isset python25]} {
+ set pyver 2.5
}
+if {[variant_isset python26]} {
+ set pyver 2.6
+}
+if {[variant_isset python27]} {
+ set pyver 2.7
+}
+if {[variant_isset python25] || [variant_isset python26] || [variant_isset python27]} {
+ configure.args-delete -DENABLE_PYTHON=OFF
+ configure.args-append -DENABLE_PYTHON=ON
+ configure.args-append -DPYTHON_EXECUTABLE=${prefix}/bin/python${pyver} \
+ -DPYTHON_CONFIG=${prefix}/bin/python${pyver}-config
+}
variant python25 description {Add support for python25} {
depends_lib-append port:py25-numpy
- configure.args-delete --disable-python
- configure.args-append --enable-python
- configure.env-append PYTHON=${prefix}/bin/python2.5 \
- PYTHON_VERSION=2.5
}
variant python26 description {Add support for python26} {
depends_lib-append port:py26-numpy
- configure.args-delete --disable-python
- configure.args-append --enable-python
- configure.env-append PYTHON=${prefix}/bin/python2.6 \
- PYTHON_VERSION=2.6
}
variant python27 description {Add support for python27} {
depends_lib-append port:py27-numpy
- configure.args-delete --disable-python
- configure.args-append --enable-python
- configure.env-append PYTHON=${prefix}/bin/python2.7 \
- PYTHON_VERSION=2.7
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140630/c021d72e/attachment.html>
More information about the macports-changes
mailing list