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 <esteve.varela@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/24187
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Esteve Varela Colominas
2022-02-14 09:09:12 +01:00
committed by Sam James
parent a6aa54da54
commit 8deac5a404
3 changed files with 64 additions and 2 deletions

View File

@@ -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 <sys/signal.h>
+#include <signal.h>
#endif
DISPATCH_ASSUME_NONNULL_BEGIN
--- a/os/generic_unix_base.h
+++ b/os/generic_unix_base.h
@@ -25,6 +25,14 @@
#if __has_include(<sys/cdefs.h>)
#include <sys/cdefs.h>
+#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 <sys/event.h>
#else
-#include <sys/poll.h>
+#include <poll.h>
#endif
#elif defined(_WIN32)
#include <Windows.h>

View File

@@ -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

View File

@@ -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