Fix some (not all) of the macOS build failures. NFCI elsewhere.

This commit is contained in:
schmonz 2021-09-16 13:02:34 +00:00
parent 88cd7b3153
commit c6c96da6a1
4 changed files with 65 additions and 10 deletions

View file

@ -1,16 +1,17 @@
$NetBSD: distinfo,v 1.79 2021/07/30 12:21:06 ryoon Exp $
$NetBSD: distinfo,v 1.80 2021/09/16 13:02:34 schmonz Exp $
SHA1 (pulseaudio-15.0.tar.xz) = 41e9f001770ccf7b47dc228311a99a09bb579563
RMD160 (pulseaudio-15.0.tar.xz) = ed6607183e7c137e5df10cee31e1567c76aa6da1
SHA512 (pulseaudio-15.0.tar.xz) = 352ef20384c76c631c0faa73b08e2318902a433712e0c086a5ac7a0ae58873c8d4be8f35879bdec71a93b19ae8e2ba073cacac4d56215bcf58375a0cd9d88833
Size (pulseaudio-15.0.tar.xz) = 1521760 bytes
SHA1 (patch-meson.build) = f5916ceee1e17923073c009778c4d9dd7b3fae74
SHA1 (patch-meson.build) = e8414f6b3246ce0fc9fe3957f14826dabdad851c
SHA1 (patch-src_daemon_meson.build) = 20f2909ceaea27d43ef2cb5fb228952f8376fb3c
SHA1 (patch-src_modules_module-detect.c) = 72605c7d9392be7217dab2fbd9ecc85ed02021aa
SHA1 (patch-src_modules_oss_module-oss.c) = d373b855138a931640be7bf5271a33b402b549e5
SHA1 (patch-src_modules_raop_raop-client.h) = 9fb7ae86a6852022f53aee3765777bd136250ffb
SHA1 (patch-src_pulse_meson.build) = 56b5f1d4fc9d617a9bee95f9cbaa8a6d529996e6
SHA1 (patch-src_pulsecore_creds.h) = a73c9669e00ff7625bc645c54e45403f20ac389b
SHA1 (patch-src_pulsecore_creds.h) = a22cd7fa038cb3424f3ce6e4ce48fd86de6f0d9d
SHA1 (patch-src_pulsecore_iochannel.c) = d227e379d9b09612f84b9071f9378dbc66cfa4ac
SHA1 (patch-src_pulsecore_mix__neon.c) = 6f6d33d38024d65045d637d48276e1ba92b81342
SHA1 (patch-src_pulsecore_shm.c) = c7079e8ac3461f5069e1415a2816784781aaa59c
SHA1 (patch-src_tests_rtpoll-test.c) = 3584aeda2b6f7eb14af9cb5c665a31d972a306ae

View file

@ -1,11 +1,41 @@
$NetBSD: patch-meson.build,v 1.1 2021/07/30 12:21:06 ryoon Exp $
$NetBSD: patch-meson.build,v 1.2 2021/09/16 13:02:34 schmonz Exp $
* Non-MS Windows case uses libintl for dgettext.
Fix build under NetBSD.
* Apply proposed upstream commit 390e5f02 to fix non-x86 clang builds.
* Omit unsupported linker arguments on macOS.
--- meson.build.orig 2021-07-27 20:02:27.711868000 +0000
--- meson.build.orig 2021-07-27 20:02:27.000000000 +0000
+++ meson.build
@@ -348,7 +349,7 @@ if cc.has_header_symbol('sys/syscall.h',
@@ -216,7 +216,6 @@ endif
check_headers = [
'arpa/inet.h',
'byteswap.h',
- 'cpuid.h',
'dlfcn.h',
'execinfo.h',
'grp.h',
@@ -276,6 +275,19 @@ if cc.has_header_symbol('pthread.h', 'PT
cdata.set('HAVE_PTHREAD_PRIO_INHERIT', 1)
endif
+# Headers which are usable
+
+check_usable_headers = [
+ 'cpuid.h',
+]
+
+foreach h : check_usable_headers
+ if cc.check_header(h)
+ define = 'HAVE_' + h.underscorify().to_upper()
+ cdata.set(define, 1)
+ endif
+endforeach
+
# Functions
check_functions = [
@@ -348,7 +360,7 @@ if cc.has_header_symbol('sys/syscall.h',
endif
if cc.has_function('dgettext')
@ -14,3 +44,12 @@ $NetBSD: patch-meson.build,v 1.1 2021/07/30 12:21:06 ryoon Exp $
libintl_dep = []
else
libintl_dep = cc.find_library('intl')
@@ -404,7 +416,7 @@ cdata.set('MESON_BUILD', 1)
# so we request the nodelete flag to be enabled.
# On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
# Windows doesn't support this flag.
-if host_machine.system() != 'windows'
+if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
nodelete_link_args = ['-Wl,-z,nodelete']
else
nodelete_link_args = []

View file

@ -1,15 +1,15 @@
$NetBSD: patch-src_pulsecore_creds.h,v 1.1 2021/07/30 12:21:06 ryoon Exp $
$NetBSD: patch-src_pulsecore_creds.h,v 1.2 2021/09/16 13:02:34 schmonz Exp $
* Disable ucred for NetBSD.
* Disable ucred for NetBSD and macOS.
--- src/pulsecore/creds.h.orig 2021-07-27 20:02:27.821869100 +0000
--- src/pulsecore/creds.h.orig 2021-07-27 20:02:27.000000000 +0000
+++ src/pulsecore/creds.h
@@ -34,7 +34,7 @@
typedef struct pa_creds pa_creds;
typedef struct pa_cmsg_ancil_data pa_cmsg_ancil_data;
-#if defined(SCM_CREDENTIALS) || defined(SCM_CREDS)
+#if (defined(SCM_CREDENTIALS) || defined(SCM_CREDS)) && !defined(__NetBSD__)
+#if (defined(SCM_CREDENTIALS) || defined(SCM_CREDS)) && !defined(__NetBSD__) && !defined(__APPLE__)
#define HAVE_CREDS 1

View file

@ -0,0 +1,15 @@
$NetBSD: patch-src_pulsecore_iochannel.c,v 1.1 2021/09/16 13:02:34 schmonz Exp $
No SO_PASSCRED on macOS either.
--- src/pulsecore/iochannel.c.orig 2021-07-27 20:02:27.000000000 +0000
+++ src/pulsecore/iochannel.c
@@ -298,7 +298,7 @@ int pa_iochannel_creds_enable(pa_iochann
pa_assert(io);
pa_assert(io->ifd >= 0);
-#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
+#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && !defined(__APPLE__)
if (setsockopt(io->ifd, SOL_SOCKET, SO_PASSCRED, &t, sizeof(t)) < 0) {
pa_log_error("setsockopt(SOL_SOCKET, SO_PASSCRED): %s", pa_cstrerror(errno));
return -1;