summaryrefslogtreecommitdiff
path: root/dev-lang/gdl/gdl-0.9.6-r3.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/gdl/gdl-0.9.6-r3.ebuild')
-rw-r--r--dev-lang/gdl/gdl-0.9.6-r3.ebuild161
1 files changed, 161 insertions, 0 deletions
diff --git a/dev-lang/gdl/gdl-0.9.6-r3.ebuild b/dev-lang/gdl/gdl-0.9.6-r3.ebuild
new file mode 100644
index 000000000000..3a51f5b1f4b9
--- /dev/null
+++ b/dev-lang/gdl/gdl-0.9.6-r3.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils python-r1 wxwidgets toolchain-funcs virtualx
+
+DESCRIPTION="GNU Data Language"
+HOMEPAGE="https://github.com/gnudatalanguage/gdl"
+SRC_URI="mirror://sourceforge/gnudatalanguage/${P}v2.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+eigen fftw graphicsmagick gshhs hdf hdf5 +imagemagick netcdf openmp
+ png proj postscript python static-libs udunits wxwidgets"
+
+RDEPEND="
+ dev-cpp/antlr-cpp:2=
+ sci-libs/gsl:0=
+ sci-libs/plplot:0=[-dynamic]
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ sys-libs/zlib:0=
+ x11-libs/libX11:0=
+ fftw? ( sci-libs/fftw:3.0= )
+ gshhs? ( sci-geosciences/gshhs-data sci-geosciences/gshhs:0= )
+ hdf? ( sci-libs/hdf:0= )
+ hdf5? ( sci-libs/hdf5:0= )
+ imagemagick? (
+ !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
+ graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
+ )
+ netcdf? ( sci-libs/netcdf )
+ proj? ( sci-libs/proj )
+ postscript? ( dev-libs/pslib )
+ python? (
+ ${PYTHON_DEPS}
+ || (
+ dev-python/numpy-python2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ )
+ udunits? ( sci-libs/udunits )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+DEPEND="${RDEPEND}
+ dev-java/antlr:0[java(+),script(+)]
+ virtual/pkgconfig
+ eigen? ( dev-cpp/eigen:3 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/0.9.2-include.patch
+ "${FILESDIR}"/0.9.5-antlr.patch
+ "${FILESDIR}"/0.9.5-png.patch
+ "${FILESDIR}"/0.9.6-fix-file-move.patch
+ "${FILESDIR}"/0.9.6-fix-python-function-call.patch
+ "${FILESDIR}"/0.9.6-fun-fix.patch
+ "${FILESDIR}"/0.9.6-python-use-path-and-startup.patch
+ "${FILESDIR}"/0.9.6-disable-tests-hanging-under-xvfb-run.patch
+ "${FILESDIR}"/0.9.6-gcc6.patch
+ "${FILESDIR}"/0.9.6-formats.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ use wxwidgets && need-wxwidgets unicode
+ use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx
+
+ # make sure antlr includes are from system and rebuild the sources with it
+ # https://sourceforge.net/p/gnudatalanguage/patches/39/
+ rm -r src/antlr || die
+ einfo "Regenerating grammar"
+ pushd src >/dev/null || die
+ local i
+ for i in *.g; do
+ antlr ${i} || die
+ done
+ popd >/dev/null || die
+
+ # gentoo: avoid install files in datadir directory
+ # and manually install them in src_install
+ sed -e '/AUTHORS/d' -i CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # MPI is still very buggy
+ # x11=off does not compile
+ local mycmakeargs=(
+ -DMPICH=OFF
+ -DBUNDLED_ANTLR=OFF
+ -DX11=ON
+ -DEIGEN3="$(usex eigen)"
+ -DFFTW="$(usex fftw)"
+ -DGRIB=OFF
+ -DGSHHS="$(usex gshhs)"
+ -DHDF="$(usex hdf)"
+ -DHDF5="$(usex hdf5)"
+ -DLIBPROJ4="$(usex proj)"
+ -DNETCDF="$(usex netcdf)"
+ -DOPENMP="$(usex openmp)"
+ -DPNGLIB="$(usex png)"
+ -DPSLIB="$(usex postscript)"
+ -DUDUNITS="$(usex udunits)"
+ -DWXWIDGETS="$(usex wxwidgets)"
+ )
+
+ if use imagemagick; then
+ if use graphicsmagick; then
+ mycmakeargs+=( -DGRAPHICSMAGICK=ON -DMAGICK=OFF )
+ else
+ mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=ON )
+ fi
+ else
+ mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=OFF )
+ fi
+
+ configuration() {
+ mycmakeargs+=( $@ )
+ cmake-utils_src_configure
+ }
+ configuration -DPYTHON_MODULE=OFF -DPYTHON=OFF
+ use python && python_foreach_impl configuration -DPYTHON_MODULE=ON -DPYTHON=ON
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use python && python_foreach_impl cmake-utils_src_make
+}
+
+src_test() {
+ # there is check target instead of the ctest to define some LDPATH
+ virtx emake -C "${BUILD_DIR}" check
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use python; then
+ installation() {
+ mv src/libgdl.so GDL.so || die
+ python_domodule GDL.so
+ }
+ python_foreach_impl run_in_build_dir installation
+ dodoc PYTHON.txt
+ fi
+ #dodoc AUTHORS README
+ echo "GDL_PATH=\"+${EPREFIX}/usr/share/gnudatalanguage\"" > 50gdl || die
+ doenvd 50gdl
+}