about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/pulseaudio
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-22 16:41:59 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-22 16:41:59 +0100
commit46a88117a05c3469af5d99433af140c3de8ca088 (patch)
treed7f0557756d8f07a3081b3498c05ddc5a8ad429d /nixpkgs/pkgs/servers/pulseaudio
parente97457545cea0b2ca421da257c83d8f1ef451d85 (diff)
parenta343533bccc62400e8a9560423486a3b6c11a23b (diff)
downloadnixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.gz
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.bz2
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.lz
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.xz
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.zst
nixlib-46a88117a05c3469af5d99433af140c3de8ca088.zip
Merge commit 'a343533bccc62400e8a9560423486a3b6c11a23b'
Diffstat (limited to 'nixpkgs/pkgs/servers/pulseaudio')
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch26
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch27
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch26
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch13
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch31
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch18
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch75
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch9
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/default.nix18
9 files changed, 6 insertions, 237 deletions
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch b/nixpkgs/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch
deleted file mode 100644
index 2a5ae040d9d4..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 72f3fe059f031f24c5ad026cb2fc16318f227c09 Mon Sep 17 00:00:00 2001
-From: Andrew Childs <andrew.childs@bibo.com.ph>
-Date: Tue, 19 Apr 2022 16:29:58 +0900
-Subject: [PATCH 1/8] Make gio-2.0 optional when gsettings is disabled
-
-Derived from https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index c5135330f..340f58e17 100644
---- a/meson.build
-+++ b/meson.build
-@@ -683,7 +683,7 @@ if get_option('daemon')
-     cdata.set('HAVE_ALSA_UCM', 1)
-   endif
- 
--  gio_dep = dependency('gio-2.0', version : '>= 2.26.0')
-+  gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : false)
-   if get_option('gsettings').enabled()
-     assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)')
-     cdata.set('HAVE_GSETTINGS', 1)
--- 
-2.35.1
-
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch
deleted file mode 100644
index 9196e205dc0c..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 39bef695f783614e6175477417298ddf37e2ac13 Mon Sep 17 00:00:00 2001
-From: Andrew Childs <andrew.childs@bibo.com.ph>
-Date: Tue, 19 Apr 2022 16:58:43 +0900
-Subject: [PATCH 2/8] Ignore SCM_CREDS on macOS
-
-It was added for FreeBSD support, but also enables the
-unsupported[citation needed] feature on macOS.
----
- src/pulsecore/creds.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pulsecore/creds.h b/src/pulsecore/creds.h
-index b599b569c..b5b1c9f37 100644
---- a/src/pulsecore/creds.h
-+++ b/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(__APPLE__))
- 
- #define HAVE_CREDS 1
- 
--- 
-2.35.1
-
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
deleted file mode 100644
index ce0df74f8771..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
-index c383a61c0..3d0a68c2e 100644
---- a/src/pulsecore/core-util.c
-+++ b/src/pulsecore/core-util.c
-@@ -110,7 +110,7 @@
- #include <sys/personality.h>
- #endif
- 
--#ifdef HAVE_CPUID_H
-+#if defined(HAVE_CPUID_H) && !(defined(__APPLE__) && defined(__aarch64__))
- #include <cpuid.h>
- #endif
- 
-diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c
-index 317a0101e..d1eb95d2b 100644
---- a/src/pulsecore/cpu-x86.c
-+++ b/src/pulsecore/cpu-x86.c
-@@ -24,7 +24,7 @@
- 
- #include <stdint.h>
- 
--#ifdef HAVE_CPUID_H
-+#if defined(HAVE_CPUID_H) && !(defined(__APPLE__) && defined(__aarch64__))
- #include <cpuid.h>
- #endif
- 
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
deleted file mode 100644
index 0eeaf2a03a12..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/pulsecore/core-rtclock.c b/src/pulsecore/core-rtclock.c
-index 2c2e28631..b946a3fb1 100644
---- a/src/pulsecore/core-rtclock.c
-+++ b/src/pulsecore/core-rtclock.c
-@@ -65,7 +65,7 @@ pa_usec_t pa_rtclock_age(const struct timeval *tv) {
- 
- struct timeval *pa_rtclock_get(struct timeval *tv) {
- 
--#if defined(OS_IS_DARWIN)
-+#if defined(OS_IS_DARWIN) && !defined(HAVE_CLOCK_GETTIME)
-     uint64_t val, abs_time = mach_absolute_time();
-     Nanoseconds nanos;
- 
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch
deleted file mode 100644
index bdf5ff2b9ca3..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/meson.build b/meson.build
-index c5135330f..055567479 100644
---- a/meson.build
-+++ b/meson.build
-@@ -185,6 +185,7 @@ endif
- # rather than ending up in the config.h file?
- if host_machine.system() == 'darwin'
-   cdata.set('OS_IS_DARWIN', 1)
-+  cdata.set('HAVE_COREAUDIO', 1)
-   cdata.set('_DARWIN_C_SOURCE', '200112L') # Needed to get NSIG on Mac OS
- elif host_machine.system() == 'windows'
-   cdata.set('OS_IS_WIN32', 1)
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index 1e12569dc..53a800927 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -63,6 +63,14 @@ all_modules = [
-   [ 'module-volume-restore', 'module-volume-restore.c' ],
- ]
- 
-+if host_machine.system() == 'darwin'
-+  coreaudio_dep = dependency('appleframeworks', modules : ['AudioUnit', 'Cocoa', 'CoreServices', 'CoreAudio'])
-+  all_modules += [
-+    [ 'module-coreaudio-detect', 'macosx/module-coreaudio-detect.c', [], [], [coreaudio_dep] ],
-+    [ 'module-coreaudio-device', 'macosx/module-coreaudio-device.c', [], [], [coreaudio_dep] ],
-+  ]
-+endif
-+
- if host_machine.system() == 'windows'
-   winmm_dep = meson.get_compiler('c').find_library('winmm')
-   ksuser_dep = meson.get_compiler('c').find_library('ksuser')
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch
deleted file mode 100644
index 67a21af46795..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/meson.build b/src/meson.build
-index 9efb561d8..d181f4867 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -179,6 +179,13 @@ if host_machine.system() == 'windows'
-     'pulsecore/semaphore-win32.c',
-     'pulsecore/thread-win32.c',
-   ]
-+elif host_machine.system() == 'darwin'
-+  libpulsecommon_sources += [
-+    'pulsecore/mutex-posix.c',
-+    'pulsecore/poll-posix.c',
-+    'pulsecore/semaphore-osx.c',
-+    'pulsecore/thread-posix.c'
-+  ]
- else
-   libpulsecommon_sources += [
-     'pulsecore/mutex-posix.c',
diff --git a/nixpkgs/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch b/nixpkgs/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch
deleted file mode 100644
index 30a11adca085..000000000000
--- a/nixpkgs/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/meson.build b/meson.build
-index c5135330f..1b66a1fc4 100644
---- a/meson.build
-+++ b/meson.build
-@@ -424,7 +424,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() not in ['windows', 'darwin']
-   nodelete_link_args = ['-Wl,-z,nodelete']
- else
-   nodelete_link_args = []
-diff --git a/src/modules/echo-cancel/meson.build b/src/modules/echo-cancel/meson.build
-index 641cd35e7..523bffac4 100644
---- a/src/modules/echo-cancel/meson.build
-+++ b/src/modules/echo-cancel/meson.build
-@@ -10,12 +10,17 @@ libwebrtc_util_sources = [
-   'webrtc.cc'
- ]
- 
-+ignore_unresolved_symbols_link_args = ['-Wl,--unresolved-symbols=ignore-in-object-files']
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  ignore_unresolved_symbols_link_args = [ '-Wl,-undefined,dynamic_lookup' ]
-+endif
-+
- libwebrtc_util = shared_library('webrtc-util',
-   libwebrtc_util_sources,
-   cpp_args : [pa_c_args, server_c_args],
-   include_directories : [configinc, topinc],
-   dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep, webrtc_dep, libintl_dep],
--  link_args : [nodelete_link_args, '-Wl,--unresolved-symbols=ignore-in-object-files'],
-+  link_args : [nodelete_link_args, ignore_unresolved_symbols_link_args],
-   install : true,
-   install_rpath : privlibdir,
-   install_dir : modlibexecdir,
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index 1e12569dc..66f3e46a4 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -298,6 +298,11 @@ all_modules += [
- # FIXME: meson doesn't support multiple RPATH arguments currently
- rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
- 
-+no_undefined_link_args = ['-Wl,--no-undefined']
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  no_undefined_link_args = [ '-Wl,-undefined,error' ]
-+endif
-+
- foreach m : all_modules
-   name = m[0]
-   sources = m[1]
-@@ -315,7 +320,7 @@ foreach m : all_modules
-     install_rpath : rpath_dirs,
-     install_dir : modlibexecdir,
-     dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, platform_dep, platform_socket_dep] + extra_deps,
--    link_args : [nodelete_link_args, '-Wl,--no-undefined' ],
-+    link_args : [nodelete_link_args, no_undefined_link_args ],
-     link_with : extra_libs,
-     name_prefix : '',
-     implicit_include_directories : false)
-diff --git a/src/pulse/meson.build b/src/pulse/meson.build
-index 1b82c807c..938e4addd 100644
---- a/src/pulse/meson.build
-+++ b/src/pulse/meson.build
-@@ -75,6 +75,9 @@ run_target('update-map-file',
-               [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
- 
- versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  versioning_link_args = []
-+endif
- 
- libpulse = shared_library('pulse',
-   libpulse_sources,
diff --git a/nixpkgs/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch b/nixpkgs/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
index bb56eb13e88a..920c2593d285 100644
--- a/nixpkgs/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
+++ b/nixpkgs/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
@@ -74,7 +74,7 @@
  )
  
  system_conf = configuration_data()
-@@ -136,12 +136,12 @@ custom_target('system.pa',
+@@ -136,6 +136,6 @@ custom_target('system.pa',
    command : [m4, '@INPUT@'],
    build_by_default : true,
    install : true,
@@ -82,13 +82,6 @@
 +  install_dir : pulsesysconfdir_install,
  )
  
- if dbus_dep.found()
-   install_data('pulseaudio-system.conf',
--    install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d')
-+    install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d')
-   )
- endif
- 
 --- a/src/pulse/meson.build
 +++ b/src/pulse/meson.build
 @@ -134,5 +134,5 @@ client_conf_file = configure_file(
diff --git a/nixpkgs/pkgs/servers/pulseaudio/default.nix b/nixpkgs/pkgs/servers/pulseaudio/default.nix
index 6b62f066211d..5f078d2f6fcf 100644
--- a/nixpkgs/pkgs/servers/pulseaudio/default.nix
+++ b/nixpkgs/pkgs/servers/pulseaudio/default.nix
@@ -3,7 +3,7 @@
 , xorg, libcap, alsa-lib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
-, soxr, speexdsp, systemd, webrtc-audio-processing
+, soxr, speexdsp, systemd, webrtc-audio-processing_1
 , gst_all_1
 , check, libintl, meson, ninja, m4, wrapGAppsHook
 
@@ -37,26 +37,17 @@
 
 stdenv.mkDerivation rec {
   pname = "${lib.optionalString libOnly "lib"}pulseaudio";
-  version = "16.1";
+  version = "17.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "sha256-ju8yzpHUeXn5X9mpNec4zX63RjQw2rxyhjJRdR5QSuQ=";
+    hash = "sha256-BTeU1mcaPjl9hJ5HioC4KmPLnYyilr01tzMXu1zrh7U=";
   };
 
   patches = [
     # Install sysconfdir files inside of the nix store,
     # but use a conventional runtime sysconfdir outside the store
     ./add-option-for-installation-sysconfdir.patch
-    # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654 (merged)
-    ./0001-Make-gio-2.0-optional-16.patch
-    # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/746 (merged)
-    ./0002-Ignore-SCM_CREDS-on-darwin.patch
-    ./0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
-    ./0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
-    ./0005-Enable-CoreAudio-on-darwin.patch
-    ./0006-Fix-libpulsecommon-sources-on-darwin.patch
-    ./0007-Fix-link-args-on-darwin.patch
   ];
 
   outputs = [ "out" "dev" ];
@@ -74,7 +65,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.isLinux [ glib dbus ]
     ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices CoreAudio libintl ]
     ++ lib.optionals (!libOnly) (
-      [ libasyncns webrtc-audio-processing ]
+      [ libasyncns webrtc-audio-processing_1 ]
       ++ lib.optional jackaudioSupport libjack2
       ++ lib.optionals x11Support [ xorg.libICE xorg.libSM xorg.libX11 xorg.libXi xorg.libXtst ]
       ++ lib.optional useSystemd systemd
@@ -126,6 +117,7 @@ stdenv.mkDerivation rec {
     (lib.mesonOption "systemduserunitdir" "${placeholder "out"}/lib/systemd/user")
   ]
   ++ lib.optionals stdenv.isDarwin [
+    (lib.mesonEnable "consolekit" false)
     (lib.mesonEnable "dbus" false)
     (lib.mesonEnable "glib" false)
     (lib.mesonEnable "oss-output" false)