diff options
Diffstat (limited to 'dev-lang/gdl/gdl-0.9.3.ebuild')
-rw-r--r-- | dev-lang/gdl/gdl-0.9.3.ebuild | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/dev-lang/gdl/gdl-0.9.3.ebuild b/dev-lang/gdl/gdl-0.9.3.ebuild new file mode 100644 index 000000000000..14c94a52b3e2 --- /dev/null +++ b/dev-lang/gdl/gdl-0.9.3.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gdl/gdl-0.9.3.ebuild,v 1.1 2013/01/02 21:44:31 bicatali Exp $ + +EAPI=4 + +WX_GTK_VER="2.8" +PYTHON_DEPEND="python? 2" +SUPPORT_PYTHON_ABIS="1" + +inherit cmake-utils eutils wxwidgets python toolchain-funcs virtualx + +RESTRICT_PYTHON_ABIS="3.3 2.7-pypy-*" + +DESCRIPTION="Interactive Data Language compatible incremental compiler" +HOMEPAGE="http://gnudatalanguage.sourceforge.net/" +SRC_URI="mirror://sourceforge/gnudatalanguage/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="fftw grib gshhs hdf hdf5 imagemagick netcdf openmp proj postscript python + static-libs udunits wxwidgets" + +# very buggy tests +RESTRICT=test + +RDEPEND=" + sci-libs/gsl + sci-libs/plplot + sys-libs/ncurses + sys-libs/readline + sys-libs/zlib + x11-libs/libX11 + fftw? ( >=sci-libs/fftw-3 ) + grib? ( sci-libs/grib_api ) + gshhs? ( sci-geosciences/gshhs-data sci-geosciences/gshhs ) + hdf? ( sci-libs/hdf ) + hdf5? ( sci-libs/hdf5 ) + imagemagick? ( media-gfx/imagemagick ) + netcdf? ( || ( sci-libs/netcdf-cxx sci-libs/netcdf[cxx] ) ) + proj? ( sci-libs/proj ) + postscript? ( dev-libs/pslib ) + python? ( dev-python/numpy ) + udunits? ( sci-libs/udunits ) + wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )" + +DEPEND="${RDEPEND} + >=dev-java/antlr-2.7.7-r5:0[cxx,script] + virtual/pkgconfig" + +pkg_setup() { + use wxwidgets && wxwidgets_pkg_setup + use python && python_pkg_setup + use openmp && [[ $(tc-getCXX)$ == *g++* ]] && ! tc-has-openmp && \ + die "You have openmp enabled but your current g++ does not support it" +} + +src_prepare() { + use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx + + epatch "${FILESDIR}"/0.9.2-{antlr,proj4,include,tests,semaphore}.patch + epatch "${FILESDIR}"/0.9.3-sstream.patch + # make sure antlr includes are from system and rebuild the sources with it + # https://sourceforge.net/tracker/?func=detail&atid=618685&aid=3465878&group_id=97659 + + rm -r src/antlr || die + einfo "Regenerate grammar" + pushd src > /dev/null + local i + for i in *.g; do antlr ${i} || die ; done + popd > /dev/null + + # gentoo: use proj instead of libproj4 (libproj4 last update: 2004) + sed -i \ + -e 's:proj4:proj:' \ + -e 's:lib_proj\.h:proj_api\.h:g' \ + CMakeModules/FindLibproj4.cmake src/math_utl.hpp || die + + # gentoo: avoid install files in datadir directory + sed -i \ + -e '/AUTHORS/d' \ + CMakeLists.txt || die + + if use python; then + local abi + for abi in ${PYTHON_ABIS}; do + mkdir "${S}"-${abi} + done + fi + if has_version sci-libs/netcdf-cxx; then + sed -i \ + -e 's/netcdfcpp.h/netcdf/g' \ + CMakeLists.txt src/ncdf_var_cl.cpp \ + src/ncdf_cl.hpp src/ncdf_{att,dim}_cl.cpp || die + fi +} + +src_configure() { + # MPI is still very buggy + # x11=off does not compile + local mycmakeargs=( + -DMPICH=OFF + -DBUNDLED_ANTLR=OFF + -DX11=ON + $(cmake-utils_use fftw) + $(cmake-utils_use grib) + $(cmake-utils_use gshhs) + $(cmake-utils_use hdf) + $(cmake-utils_use hdf5) + $(cmake-utils_use imagemagick MAGICK) + $(cmake-utils_use netcdf) + $(cmake-utils_use openmp) + $(cmake-utils_use proj LIBPROJ4) + $(cmake-utils_use postscript PSLIB) + $(cmake-utils_use udunits) + $(cmake-utils_use wxwidgets) + ) + configuration() { + mycmakeargs+=( $@ ) + BUILD_DIR="${BUILDDIR:-${S}_build}" cmake-utils_src_configure + } + configuration -DPYTHON_MODULE=OFF -DPYTHON=OFF + use python && python_execute_function -s \ + configuration -DPYTHON_MODULE=ON -DPYTHON=ON +} + +src_compile() { + cmake-utils_src_compile + use python && python_src_compile +} + +src_test() { + # upstream does not include tests if python module is on + # there is check target instead of the ctest to define some LDPATH + use python || Xemake -j1 -C ${BUILD_DIR} check + +} + +src_install() { + cmake-utils_src_install + if use python; then + installation() { + exeinto $(python_get_sitedir) + newexe "${S}"-${PYTHON_ABI}/src/libgdl.so GDL.so + } + python_execute_function -s installation + dodoc PYTHON.txt + fi + echo "GDL_PATH=\"+${EROOT}/usr/share/gnudatalanguage\"" > 50gdl + doenvd 50gdl +} |