From 8deac5a404bdca06ad8ece68baee944325e46c35 Mon Sep 17 00:00:00 2001 From: Esteve Varela Colominas Date: Mon, 14 Feb 2022 09:09:12 +0100 Subject: [PATCH] dev-libs/libdispatch: Support musl No revbump; patches don't affect existing built versions. Closes: https://bugs.gentoo.org/829158 Signed-off-by: Esteve Varela Colominas Closes: https://github.com/gentoo/gentoo/pull/24187 Signed-off-by: Sam James --- .../files/libdispatch-5.3.3-musl.patch | 56 +++++++++++++++++++ .../libdispatch/libdispatch-5.3.3-r1.ebuild | 5 +- dev-libs/libdispatch/libdispatch-5.5.ebuild | 5 +- 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch diff --git a/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch b/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch new file mode 100644 index 0000000000000..a162b34efc533 --- /dev/null +++ b/dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch @@ -0,0 +1,56 @@ +Fix building with musl libc + +https://github.com/apple/swift-corelibs-libdispatch/pull/594/ +https://bugs.gentoo.org/829158 +https://bugs.gentoo.org/833306 + +--- a/dispatch/source.h ++++ b/dispatch/source.h +@@ -32,7 +32,7 @@ + #endif + + #if !defined(_WIN32) +-#include ++#include + #endif + + DISPATCH_ASSUME_NONNULL_BEGIN +--- a/os/generic_unix_base.h ++++ b/os/generic_unix_base.h +@@ -25,6 +25,14 @@ + + #if __has_include() + #include ++#else ++#if defined(__cplusplus) ++#define __BEGIN_DECLS extern "C" { ++#define __END_DECLS } ++#else ++#define __BEGIN_DECLS ++#define __END_DECLS ++#endif + #endif + + #ifndef API_AVAILABLE +--- a/src/shims/getprogname.h ++++ b/src/shims/getprogname.h +@@ -37,7 +37,7 @@ + static inline char * + getprogname(void) + { +-# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME ++# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME || defined(__linux__) + return program_invocation_short_name; + # elif defined(__ANDROID__) + return __progname; +--- a/tests/dispatch_test.c ++++ b/tests/dispatch_test.c +@@ -34,7 +34,7 @@ + #define HAS_SYS_EVENT_H 1 + #include + #else +-#include ++#include + #endif + #elif defined(_WIN32) + #include diff --git a/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild b/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild index 84d29b791acc4..ac43a88ac6fcf 100644 --- a/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild +++ b/dev-libs/libdispatch/libdispatch-5.3.3-r1.ebuild @@ -26,7 +26,10 @@ BDEPEND=" S="${WORKDIR}/${MY_PN}-${MY_PV}" -PATCHES=( "${FILESDIR}/remove-Werror.patch" ) +PATCHES=( + "${FILESDIR}/remove-Werror.patch" + "${FILESDIR}/libdispatch-5.3.3-musl.patch" +) src_configure () { if ! tc-is-clang ; then diff --git a/dev-libs/libdispatch/libdispatch-5.5.ebuild b/dev-libs/libdispatch/libdispatch-5.5.ebuild index 72ab2824900bb..667e0171b3b09 100644 --- a/dev-libs/libdispatch/libdispatch-5.5.ebuild +++ b/dev-libs/libdispatch/libdispatch-5.5.ebuild @@ -29,7 +29,10 @@ BDEPEND=" S="${WORKDIR}/${MY_PN}-${MY_PV}" -PATCHES=( "${FILESDIR}/remove-Werror.patch" ) +PATCHES=( + "${FILESDIR}/remove-Werror.patch" + "${FILESDIR}/libdispatch-5.3.3-musl.patch" +) src_configure () { if ! tc-is-clang ; then