1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
8 PYTHON_COMPAT=( python2_7 )
10 inherit cmake-utils eutils python-r1 wxwidgets toolchain-funcs virtualx
12 DESCRIPTION="GNU Data Language"
13 HOMEPAGE="http://gnudatalanguage.sourceforge.net/"
14 SRC_URI="mirror://sourceforge/gnudatalanguage/${P}.tar.gz"
18 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
19 IUSE="+eigen fftw grib gshhs hdf hdf5 imagemagick netcdf openmp
20 png proj postscript python static-libs udunits wxwidgets"
24 sci-libs/plplot:0=[-dynamic]
29 fftw? ( sci-libs/fftw:3.0= )
30 grib? ( sci-libs/grib_api:0= )
31 gshhs? ( sci-geosciences/gshhs-data sci-geosciences/gshhs:0= )
32 hdf? ( sci-libs/hdf:0= )
33 hdf5? ( sci-libs/hdf5:0= )
36 media-gfx/graphicsmagick[cxx]
37 media-gfx/imagemagick[cxx]
40 netcdf? ( sci-libs/netcdf )
41 proj? ( sci-libs/proj )
42 postscript? ( dev-libs/pslib )
45 dev-python/numpy[${PYTHON_USEDEP}]
47 udunits? ( sci-libs/udunits )
48 wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
51 >=dev-java/antlr-2.7.7-r5:0[cxx,java,script]
53 eigen? ( dev-cpp/eigen:3 )"
55 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
58 "${FILESDIR}"/0.9.5-antlr.patch
59 "${FILESDIR}"/0.9.2-include.patch
60 "${FILESDIR}"/0.9.5-plplot.patch
61 "${FILESDIR}"/0.9.5-png.patch
65 use openmp && [[ $(tc-getCXX)$ == *g++* ]] && ! tc-has-openmp && \
66 die "You have openmp enabled but your current g++ does not support it"
70 cmake-utils_src_prepare
72 use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx
74 # make sure antlr includes are from system and rebuild the sources with it
75 # https://sourceforge.net/tracker/?func=detail&atid=618685&aid=3465878&group_id=97659
76 rm -r src/antlr || die
77 einfo "Regenerating grammar"
80 for i in *.g; do antlr ${i} || die ; done
83 # gentoo: use proj instead of libproj4 (libproj4 last update: 2004)
86 -e 's:lib_proj\.h:proj_api\.h:g' \
87 CMakeModules/FindLibproj4.cmake src/math_utl.hpp || die
89 # gentoo: avoid install files in datadir directory
96 # MPI is still very buggy
97 # x11=off does not compile
102 $(cmake-utils_use fftw)
103 $(cmake-utils_use eigen EIGEN3)
104 $(cmake-utils_use grib)
105 $(cmake-utils_use gshhs)
106 $(cmake-utils_use hdf)
107 $(cmake-utils_use hdf5)
108 $(cmake-utils_use netcdf)
109 $(cmake-utils_use openmp)
110 $(cmake-utils_use png PNGLIB)
111 $(cmake-utils_use proj LIBPROJ4)
112 $(cmake-utils_use postscript PSLIB)
113 $(cmake-utils_use udunits)
114 $(cmake-utils_use wxwidgets)
116 if use imagemagick; then
117 if has_version media-gfx/graphicsmagick[cxx]; then
118 mycmakeargs+=( -DGRAPHICSMAGICK=ON -DMAGICK=OFF )
120 mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=ON )
123 mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=OFF )
127 cmake-utils_src_configure
129 configuration -DPYTHON_MODULE=OFF -DPYTHON=OFF
130 use python && python_foreach_impl configuration -DPYTHON_MODULE=ON -DPYTHON=ON
134 cmake-utils_src_compile
135 use python && python_foreach_impl cmake-utils_src_make
139 # there is check target instead of the ctest to define some LDPATH
140 Xemake -C "${BUILD_DIR}" check
144 cmake-utils_src_install
147 mv src/libgdl.so GDL.so || die
148 python_domodule GDL.so
150 python_foreach_impl run_in_build_dir installation
154 echo "GDL_PATH=\"+${EROOT%/}/usr/share/gnudatalanguage\"" > 50gdl