summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-11-25 01:44:46 +0000
committerSam James <sam@gentoo.org>2021-11-25 01:45:05 +0000
commit03e409f30d966755e399c476cc7bf2f508cafae4 (patch)
tree1ccff4e44b43b62a7987640266e06f72d243e539 /sci-libs/netcdf
parentdev-perl/PerlIO-eol: Remove old (diff)
downloadgentoo-03e409f30d966755e399c476cc7bf2f508cafae4.tar.gz
gentoo-03e409f30d966755e399c476cc7bf2f508cafae4.tar.bz2
gentoo-03e409f30d966755e399c476cc7bf2f508cafae4.zip
sci-libs/netcdf: add 4.8.1
Doesn't seem to hardcode libdl path anymore which avoids glibc-2.34 issues. Closes: https://bugs.gentoo.org/827188 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs/netcdf')
-rw-r--r--sci-libs/netcdf/Manifest1
-rw-r--r--sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch24
-rw-r--r--sci-libs/netcdf/netcdf-4.8.1.ebuild74
3 files changed, 99 insertions, 0 deletions
diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest
index d286a0bb2449..8232d5518f32 100644
--- a/sci-libs/netcdf/Manifest
+++ b/sci-libs/netcdf/Manifest
@@ -1 +1,2 @@
DIST netcdf-4.7.4.tar.gz 19711158 BLAKE2B b49532e6f87b458e7f5654f70ec932d6c8c81272c97ce44df3d27bb61b01d3e005f918b959ce12e42e26f7c12309ab72eeb57a35216d20ab5761837db65741a4 SHA512 15922818fdd71be285eb7dd2fc9be2594fe9af979de3ed316465636c7bbdaec65eb151ca57ef8b703e6a360cdba036b8f9bc193ddff01ff7ce4214c0a66efa79
+DIST netcdf-4.8.1.tar.gz 18957280 BLAKE2B 05fc6cd10cb5cbb11dc077b9a884fbc63c4cb840b241e782702da58ad9831fba065a6f1e97c2be092437735d39658482285850a00618d0582d6e4728d64c4402 SHA512 c97207867abf10d414abf34624268710f5b812c26c38f97e73afe00558b3f07917331fbc7fdb9e70b09813acf15a9a09bae2c432a3266ce10a791b9472f87a42
diff --git a/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch b/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch
new file mode 100644
index 000000000000..afeff7e3fbd0
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch
@@ -0,0 +1,24 @@
+Later version for 4.8.1 grabbed from Debian:
+https://sources.debian.org/patches/netcdf/1:4.8.1-1/byteswap.patch/
+
+Earlier version used:
+https://github.com/DennisHeimbigner/netcdf-c/commit/6f86660da86f279cad1f2804cf3242767de27630.patch
+https://github.com/Unidata/netcdf-c/issues/1687
+https://bugs.gentoo.org/772863
+
+Description: Add forward declarations for byteswap8 & byteswap4.
+Author: Dennis Heimbigner
+Bug: https://github.com/Unidata/netcdf-c/issues/1687
+
+--- a/libdispatch/dfilter.c
++++ b/libdispatch/dfilter.c
+@@ -20,6 +20,9 @@
+ #include "hdf5internal.h"
+ #endif
+
++static void byteswap8(unsigned char*);
++static void byteswap4(unsigned char*);
++
+ /*
+ Unified filter related code
+ */
diff --git a/sci-libs/netcdf/netcdf-4.8.1.ebuild b/sci-libs/netcdf/netcdf-4.8.1.ebuild
new file mode 100644
index 000000000000..9d62cbfcef3d
--- /dev/null
+++ b/sci-libs/netcdf/netcdf-4.8.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-c-${PV}"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/18"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 -riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+dap doc examples hdf +hdf5 mpi szip test tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/libxml2
+ dap? ( net-misc/curl:0= )
+ hdf? (
+ sci-libs/hdf:0=
+ sci-libs/hdf5:0=
+ virtual/jpeg
+ )
+ hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )"
+
+REQUIRED_USE="
+ test? ( tools )
+ szip? ( hdf5 )
+ mpi? ( hdf5 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.8.1-big-endian-build.patch"
+ "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch"
+)
+
+src_prepare() {
+ # skip test that requires network
+ sed -i -e '/run_get_hdf4_files/d' hdf4_test/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ use mpi && export CC=mpicc
+
+ # Temporary workaround for test breakage
+ # https://github.com/Unidata/netcdf-c/issues/1983
+ # bug #827042
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DENABLE_DAP_REMOTE_TESTS=OFF
+ -DENABLE_LIBXML2=ON
+ -DBUILD_UTILITIES=$(usex tools)
+ -DENABLE_DAP=$(usex dap)
+ -DENABLE_DOXYGEN=$(usex doc)
+ -DENABLE_EXAMPLES=$(usex examples)
+ -DENABLE_HDF4=$(usex hdf)
+ -DENABLE_NETCDF_4=$(usex hdf5)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # fails parallel tests: bug #621486
+ cmake_src_test -j1
+}