summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2020-09-27 21:17:06 +0200
committerDavid Seifert <soap@gentoo.org>2020-09-27 21:17:06 +0200
commit1a6e53137d2d93f8d7291c17f5c9c6c70b5d23a4 (patch)
treee6289dd327c0dc824ed8947e4b5f46e2174e7a5e
parentdev-embedded/libjaylink: Update EGIT_REPO_URI and HOMEPAGE (diff)
downloadgentoo-1a6e5313.tar.gz
gentoo-1a6e5313.tar.bz2
gentoo-1a6e5313.zip
dev-lang/gdl: Bump version to 1.0.0_rc3
Bug: https://bugs.gentoo.org/735280 Bug: https://bugs.gentoo.org/741096 Bug: https://bugs.gentoo.org/741402 Closes: https://bugs.gentoo.org/704026 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: David Seifert <soap@gentoo.org>
-rw-r--r--dev-lang/gdl/Manifest1
-rw-r--r--dev-lang/gdl/files/gdl-1.0.0_rc3-cmake.patch94
-rw-r--r--dev-lang/gdl/gdl-1.0.0_rc3.ebuild152
-rw-r--r--dev-lang/gdl/metadata.xml1
4 files changed, 248 insertions, 0 deletions
diff --git a/dev-lang/gdl/Manifest b/dev-lang/gdl/Manifest
index 0c6f89abb8a3..72b22e145154 100644
--- a/dev-lang/gdl/Manifest
+++ b/dev-lang/gdl/Manifest
@@ -1 +1,2 @@
DIST gdl-0.9.6v2.tgz 1777167 BLAKE2B 4d92ed93f12e0979d591959d60ae9fa6785400e4f169a00f462103d263bce1aa02e615cc8467b53146791a12045850f9dae1da113f9caff4d6b44dd2a5798b3b SHA512 a816ee2e3822af380a1131a6138263c33560db7286cd699b864da305a1103d5afc881a1cd3574d2e243bfb7e65e759e46322c5e55c66ec15620d9c514565c2c5
+DIST gdl-1.0.0_rc3.tar.gz 32650313 BLAKE2B cdecfe0646e2271e2389e0a04f8da1e8de4534faf743f233169bccf326198025eff7fd7a7b62ed8bd05fa4a0222c6fd30f9469e3edf0f5b2991ef3ef545e616b SHA512 3fde22c7e709b9cdc72a23d2317c043037379c7903418211a699c7e5caa2ed17e78e32e6d2f9b4aa89200e729fc21555821140dfdd58a5a636a858e2841f6335
diff --git a/dev-lang/gdl/files/gdl-1.0.0_rc3-cmake.patch b/dev-lang/gdl/files/gdl-1.0.0_rc3-cmake.patch
new file mode 100644
index 000000000000..dd7abcc54d90
--- /dev/null
+++ b/dev-lang/gdl/files/gdl-1.0.0_rc3-cmake.patch
@@ -0,0 +1,94 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -206,10 +206,6 @@
+ # mpi
+ check_include_file(mpi.h HAVE_MPI_H)
+
+-# SA: whithout it compilation of antlr fails if there's a conflicting
+-# version of antlr in system-wide directories
+-include_directories(src)
+-
+ if (NOT WIN32)
+ # Ncurses MANDATORY for readline on POSIX
+ # -DNCURSESDIR=DIR
+@@ -399,8 +395,10 @@
+
+ # PLplot MANDATORY
+ # -DPLPLOTDIR=DIR
+-set(CMAKE_PREFIX_PATH ${PLPLOTDIR})
+-find_package(Plplot QUIET)
++
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(PLPLOT REQUIRED plplot plplot-c++)
++
+ set(HAVE_LIBPLPLOTCXXD ${PLPLOT_FOUND})
+ if(PLPLOT_FOUND)
+ set(LIBRARIES ${LIBRARIES} ${PLPLOT_LIBRARIES})
+@@ -490,33 +488,16 @@
+ # -DMAGICK=ON|OFF
+ # -DMAGICKDIR=DIR
+ if(MAGICK)
+- set(CMAKE_PREFIX_PATH ${MAGICKDIR})
+- find_package(ImageMagick QUIET COMPONENTS Magick++ MagickWand MagickCore)
+- mark_as_advanced(ImageMagick_EXECUTABLE_DIR ImageMagick_Magick++_INCLUDE_DIR ImageMagick_Magick++_LIBRARY
+- ImageMagick_MagickCore_INCLUDE_DIR ImageMagick_MagickCore_LIBRARY ImageMagick_MagickWand_INCLUDE_DIR ImageMagick_MagickWand_LIBRARY)
+- set(USE_MAGICK ${ImageMagick_FOUND})
+- if(ImageMagick_FOUND)
+- find_program(MAGICKXXCONFIG Magick++-config)
+- if(MAGICKXXCONFIG)
+- execute_process(COMMAND ${MAGICKXXCONFIG} "--libs" OUTPUT_VARIABLE MAGICKXXCONFIGLIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
+- set(LIBRARIES ${LIBRARIES} ${MAGICKXXCONFIGLIBS})
+- else(MAGICKXXCONFIG)
+- message(FATAL_ERROR "ImageMagick is required but was not found (Magick++-config).\n"
+- "Use -DMAGICKDIR=DIR to specify the ImageMagick directory.\n"
+- "Use -DMAGICK=OFF to not use it.\n"
+- "(suitable Debian/Ubuntu package: libmagick++-dev)\n"
+- "(suitable Fedora/CentOS package: ImageMagick-c++-devel)")
+- endif(MAGICKXXCONFIG)
+- set(LIBRARIES ${LIBRARIES} ${ImageMagick_LIBRARIES})
+- include_directories(${ImageMagick_INCLUDE_DIRS})
+- set(MAGICK_LIBRARIES ${ImageMagick_LIBRARIES})
+- else(ImageMagick_FOUND)
+- message(FATAL_ERROR "ImageMagick is required but was not found.\n"
+- "Use -DMAGICKDIR=DIR to specify the ImageMagick directory.\n"
+- "Use -DMAGICK=OFF to not use it.\n"
+- "(suitable Debian/Ubuntu package: libmagick++-dev)\n"
+- "(suitable Fedora/CentOS package: ImageMagick-c++-devel)")
+- endif(ImageMagick_FOUND)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(Magick++ REQUIRED Magick++)
++ pkg_check_modules(MagickWand REQUIRED MagickWand)
++ pkg_check_modules(MagickCore REQUIRED MagickCore)
++
++ set(MAGICK_LIBRARIES ${Magick++_LIBRARIES} ${MagickWand_LIBRARIES} ${MagickCore_LIBRARIES})
++ set(LIBRARIES ${LIBRARIES} ${MAGICK_LIBRARIES})
++ include_directories(${Magick++_INCLUDE_DIRS})
++ include_directories(${MagickWand_INCLUDE_DIRS})
++ include_directories(${MagickCore_INCLUDE_DIRS})
+ endif(MAGICK)
+
+ # if GM or IM activated, we check whether Plplot is OK for that
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -186,9 +186,9 @@
+ )
+ endif(USE_EXPAT)
+
+-add_subdirectory(antlr)
++find_library(ANTLR_LIBRARY NAMES antlr)
+
+-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/antlr ${CMAKE_BINARY_DIR})
++include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
+ link_directories(${LINK_DIRECTORIES})
+
+ if(PYTHON_MODULE) #GDL.so
+@@ -203,8 +203,7 @@
+ add_executable(gdl ${SOURCES})
+ endif(PYTHON_MODULE)
+
+-add_dependencies(gdl antlr) # be sure that antlr is built before gdl
+-target_link_libraries(gdl antlr) # link antlr against gdl
++target_link_libraries(gdl ${ANTLR_LIBRARY}) # link antlr against gdl
+ if (MINGW)
+ target_link_libraries(gdl ws2_32)
+ endif (MINGW)
diff --git a/dev-lang/gdl/gdl-1.0.0_rc3.ebuild b/dev-lang/gdl/gdl-1.0.0_rc3.ebuild
new file mode 100644
index 000000000000..b5fb1c358bcb
--- /dev/null
+++ b/dev-lang/gdl/gdl-1.0.0_rc3.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{6..9} )
+
+# gdl's build system is a travesty, and actually calls
+# itself in the testsuite, which is something that ninja
+# obviously doesn't support.
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit cmake python-r1 toolchain-funcs virtualx wxwidgets
+
+DESCRIPTION="GNU Data Language"
+HOMEPAGE="https://github.com/gnudatalanguage/gdl"
+SRC_URI="https://github.com/gnudatalanguage/gdl/archive/v$(ver_cut 1-3)-rc.$(ver_cut 5).tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+eigen fftw glpk graphicsmagick gshhs hdf hdf5 +imagemagick netcdf
+ openmp png proj postscript python tiff udunits wxwidgets"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-cpp/antlr-cpp:2=
+ dev-libs/expat
+ sci-libs/gsl:0=
+ sci-libs/plplot:0=[cxx,-dynamic]
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ sys-libs/zlib
+ x11-libs/libX11
+ fftw? ( sci-libs/fftw:3.0= )
+ glpk? ( sci-mathematics/glpk:= )
+ 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[${PYTHON_USEDEP}]
+ )
+ tiff? (
+ media-libs/tiff
+ sci-libs/libgeotiff
+ )
+ udunits? ( sci-libs/udunits )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+DEPEND="${RDEPEND}
+ eigen? ( dev-cpp/eigen:3 )"
+BDEPEND="
+ virtual/pkgconfig
+ python? ( app-admin/chrpath )"
+
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)-rc.$(ver_cut 5)"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0_rc3-cmake.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 && setup-wxwidgets unicode
+ use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx
+
+ # remove bundled antlr
+ rm -r src/antlr || die
+
+ # gentoo: avoid install files in datadir directory
+ # and manually install them in src_install
+ sed -e '/AUTHORS/d' -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # MPI is still very buggy
+ # x11=off does not compile
+ local mycmakeargs=(
+ -DMPI=OFF
+ -DREADLINE=ON
+ -DX11=ON
+ -DEXPAT=ON
+ -DEIGEN3=$(usex eigen)
+ -DFFTW=$(usex fftw)
+ -DGRIB=OFF
+ -DGLPK=$(usex glpk)
+ -DHDF=$(usex hdf)
+ -DHDF5=$(usex hdf5)
+ -DLIBPROJ4=$(usex proj)
+ -DNETCDF=$(usex netcdf)
+ -DOPENMP=$(usex openmp)
+ -DPNGLIB=$(usex png)
+ -DUDUNITS2=$(usex udunits)
+ -DWXWIDGETS=$(usex wxwidgets)
+ -DGRAPHICSMAGICK=$(usex imagemagick $(usex graphicsmagick))
+ -DMAGICK=$(usex imagemagick $(usex !graphicsmagick))
+ -DTIFF=$(usex tiff)
+ -DGEOTIFF=$(usex tiff)
+ -DSHAPELIB=OFF
+ -DPLPLOTDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ configuration() {
+ mycmakeargs+=( "$@" )
+ cmake_src_configure
+ }
+ configuration -DPYTHON_MODULE=OFF -DPYTHON=OFF
+ use python && python_foreach_impl configuration -DPYTHON_MODULE=ON -DPYTHON=ON
+}
+
+src_compile() {
+ cmake_src_compile
+ use python && python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ # there is check target instead of the ctest to define some LDPATH
+ virtx cmake_build check
+}
+
+src_install() {
+ cmake_src_install
+ if use python; then
+ installation() {
+ chrpath -d src/GDL.so || die
+ python_domodule src/GDL.so
+ }
+ python_foreach_impl run_in_build_dir installation
+ dodoc PYTHON.txt
+ fi
+
+ newenvd - 50gdl <<-_EOF_
+ GDL_PATH="+${EPREFIX}/usr/share/gnudatalanguage"
+ _EOF_
+}
diff --git a/dev-lang/gdl/metadata.xml b/dev-lang/gdl/metadata.xml
index a0c94d341881..16e4a758b28f 100644
--- a/dev-lang/gdl/metadata.xml
+++ b/dev-lang/gdl/metadata.xml
@@ -13,6 +13,7 @@
<use>
<flag name="eigen">Build matrix manipulation with <pkg>dev-cpp/eigen</pkg></flag>
<flag name="hdf">Add support for the Hierarchical Data Format v.4</flag>
+ <flag name="glpk">Use GNU Linear Programming Kit <pkg>sci-mathematics/glpk</pkg></flag>
<flag name="gshhs">Add support for projection adn continent maps with <pkg>sci-geosciences/gshhs-data</pkg></flag>
<flag name="proj">Add support for <pkg>sci-libs/proj</pkg> (geographic projections)</flag>
<flag name="udunits">Add support for manipulating units of physical quantities</flag>