commit: 400a204bea4aa72d51a0ef53260743c9f7ee0310 Author: brahmajit das <brahmajit.xyz <AT> gmail <DOT> com> AuthorDate: Fri Jul 15 10:13:20 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Jul 15 12:46:42 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=400a204b
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 <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/26284 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/netcdf-4.9.0-fix-musl-execinfo_h.patch | 46 ++++++++++++++++++++++ sci-libs/netcdf/netcdf-4.9.0.ebuild | 1 + 2 files changed, 47 insertions(+) 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() {
