summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrahmajit das <brahmajit.xyz@gmail.com>2022-07-15 15:43:20 +0530
committerSam James <sam@gentoo.org>2022-07-15 13:46:42 +0100
commit400a204bea4aa72d51a0ef53260743c9f7ee0310 (patch)
tree926e798fda50fa936452de4c72b0e0edb47d5241 /sci-libs/netcdf
parentmedia-gfx/scrot: drop 1.4 (diff)
downloadgentoo-400a204bea4aa72d51a0ef53260743c9f7ee0310.tar.gz
gentoo-400a204bea4aa72d51a0ef53260743c9f7ee0310.tar.bz2
gentoo-400a204bea4aa72d51a0ef53260743c9f7ee0310.zip
sci-libs/netcdf: Fix musl missing execinfo.h check
Check if execinfo.h is present before including the header. The check is preset in other parts of the souce code, here it was only being checked if it's WIN32 or CYGIWIN before including execinfo.h as a result build was failing on musl. Closes: https://bugs.gentoo.org/828677 Signed-off-by: brahmajit das <brahmajit.xyz@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/26284 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs/netcdf')
-rw-r--r--sci-libs/netcdf/files/netcdf-4.9.0-fix-musl-execinfo_h.patch46
-rw-r--r--sci-libs/netcdf/netcdf-4.9.0.ebuild1
2 files changed, 47 insertions, 0 deletions
diff --git a/sci-libs/netcdf/files/netcdf-4.9.0-fix-musl-execinfo_h.patch b/sci-libs/netcdf/files/netcdf-4.9.0-fix-musl-execinfo_h.patch
new file mode 100644
index 000000000000..7b711327512a
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.9.0-fix-musl-execinfo_h.patch
@@ -0,0 +1,46 @@
+# Conditionally include execinfo as it's not available on all libc
+# systems. There is a PR upstream for a similiar issue but the actual
+# issus is not reproducable on Gentoo [math library not found] [1], so
+# for now this is a temporary fix and can be removed once the PR [1]
+# is merged upstream.
+# [1]: https://github.com/Unidata/netcdf-c/pull/1701
+#
+# Closes: https://bugs.gentoo.org/828677
+--- a/libhdf5/hdf5debug.c
++++ b/libhdf5/hdf5debug.c
+@@ -5,7 +5,7 @@
+ #include "config.h"
+ #include <stdarg.h>
+ #include <stdio.h>
+-#if !defined _WIN32 && !defined __CYGWIN__
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
+ #endif
+
+@@ -15,15 +15,18 @@
+
+ #define STSIZE 1000
+
++#ifdef HAVE_EXECINFO_H
+ #ifdef H5BACKTRACE
+ # if !defined _WIN32 && !defined __CYGWIN__
+ static void* stacktrace[STSIZE];
+ # endif
+ #endif
++#endif
+
+ int
+ nch5breakpoint(int err)
+ {
++#ifdef HAVE_EXECINFO_H
+ #ifdef H5BACKTRACE
+ # if !defined _WIN32 && !defined __CYGWIN__
+ int count = 0;
+@@ -39,6 +42,7 @@ nch5breakpoint(int err)
+ if(trace != NULL) free(trace);
+ # endif
+ # endif
++#endif
+ #endif
+ return err;
+ }
diff --git a/sci-libs/netcdf/netcdf-4.9.0.ebuild b/sci-libs/netcdf/netcdf-4.9.0.ebuild
index 8ffc629f18a2..651ca0381223 100644
--- a/sci-libs/netcdf/netcdf-4.9.0.ebuild
+++ b/sci-libs/netcdf/netcdf-4.9.0.ebuild
@@ -36,6 +36,7 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-4.7.4-big-endian-test.patch
+ "${FILESDIR}"/${PN}-4.9.0-fix-musl-execinfo_h.patch
)
src_configure() {