diff options
author | Igor V. Kovalenko <igor.v.kovalenko@gmail.com> | 2022-02-19 10:21:06 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-21 00:48:59 +0000 |
commit | 5c0932d5e4d591710f3299f70c2012383ab268bc (patch) | |
tree | a423f8f507e7999498409f05097df4901a1aafb0 /media-sound | |
parent | net-wireless/blueman: Allow more BT audio implementations (diff) | |
download | gentoo-5c0932d5e4d591710f3299f70c2012383ab268bc.tar.gz gentoo-5c0932d5e4d591710f3299f70c2012383ab268bc.tar.bz2 gentoo-5c0932d5e4d591710f3299f70c2012383ab268bc.zip |
media-sound/pulseaudio-daemon: Update 15.0 split build to patches merged upstream
Added patch moving systemd socket activation to server implementation.
No functional changes. This patch is only required to apply upstream
daemon/client split patch with minimal adjustment.
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/640
Updated daemon/client split patch to version merged upstream, rebased to 15.0
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659
Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/24217
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/pulseaudio-daemon/Manifest | 1 | ||||
-rw-r--r-- | media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch | 298 | ||||
-rw-r--r-- | media-sound/pulseaudio-daemon/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch | 25 | ||||
-rw-r--r-- | media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0-r1.ebuild (renamed from media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0.ebuild) | 17 |
4 files changed, 13 insertions, 328 deletions
diff --git a/media-sound/pulseaudio-daemon/Manifest b/media-sound/pulseaudio-daemon/Manifest index 308d59508744..620fb8498703 100644 --- a/media-sound/pulseaudio-daemon/Manifest +++ b/media-sound/pulseaudio-daemon/Manifest @@ -1 +1,2 @@ DIST pulseaudio-15.0.tar.xz 1521760 BLAKE2B a6f7b74fdcfe7f2a993eafb9f465946915a24b6801d3077971b9377290d6c70b3f8640a800abd09d5901db96a20349f31b1beedd9da2249f69b591fb8392f489 SHA512 352ef20384c76c631c0faa73b08e2318902a433712e0c086a5ac7a0ae58873c8d4be8f35879bdec71a93b19ae8e2ba073cacac4d56215bcf58375a0cd9d88833 +DIST pulseaudio-daemon-15.0-patchset-1.tar.bz2 13739 BLAKE2B 0a9497536481b79ebb9928fc753d44cde30b331890cf7a912f0e038fc270a79e4774fdca209a52b6d50de93e32c30c6636e4d7e57e9daceb90ee80e699599ac8 SHA512 04d98d2a1862cc65cc48837bd3c9d6c8ece4591966bc9d673c8273b445fc63dcc59d8aa891ae8c802ebacacdf56e2790a3f20a95009107c5e5cf6581d1f5f996 diff --git a/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch b/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch deleted file mode 100644 index 4d99c1ebe639..000000000000 --- a/media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch +++ /dev/null @@ -1,298 +0,0 @@ -From f4f28cc436a506d1dfbd514968b2976ab31cdf5f Mon Sep 17 00:00:00 2001 -From: Mart Raudsepp <mart@leio.tech> -Date: Fri, 24 Sep 2021 15:19:05 +0300 -Subject: [PATCH] build-sys: meson: Allow building the daemon only - ---- - man/meson.build | 2 ++ - meson.build | 23 ++++++++++++++++++++--- - meson_options.txt | 3 +++ - po/meson.build | 3 --- - shell-completion/bash/meson.build | 2 ++ - src/daemon/meson.build | 4 ++-- - src/meson.build | 11 +++++++++++ - src/modules/gsettings/meson.build | 3 +-- - src/tests/meson.build | 9 +++++++-- - src/utils/meson.build | 10 ++++++---- - 10 files changed, 54 insertions(+), 16 deletions(-) - -diff --git a/man/meson.build b/man/meson.build -index 31c581a8f..c12ad5e6a 100644 ---- a/man/meson.build -+++ b/man/meson.build -@@ -14,6 +14,7 @@ if get_option('daemon') - ] - endif - -+if not get_option('daemon-only') - manpages += [ - ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], - ['pactl', '1'], -@@ -31,6 +32,7 @@ if x11_dep.found() - ['pax11publish', '1'], - ] - endif -+endif - - # FIXME: Add esdcompat if HAVE_ESOUND - #manpages += ['esdcompat', '1'], -diff --git a/meson.build b/meson.build -index 63ed62342..420cc6fac 100644 ---- a/meson.build -+++ b/meson.build -@@ -53,6 +53,8 @@ libpulse_mainloop_glib_version = '@0@.@1@.@2@'.format( - libpulse_mainloop_glib_version_info[1], - ) - -+i18n = import('i18n') -+ - # Paths - - prefix = get_option('prefix') -@@ -68,6 +70,7 @@ localedir = join_paths(prefix, get_option('localedir')) - localstatedir = join_paths(prefix, get_option('localstatedir')) - sysconfdir = join_paths(prefix, get_option('sysconfdir')) - privlibdir = join_paths(libdir, 'pulseaudio') -+po_dir = join_paths(meson.current_source_dir(), 'po') - - if host_machine.system() == 'windows' - # Windows only supports loading libraries from the same dir as the executable -@@ -796,20 +799,28 @@ check_dep = dependency('check', version : '>= 0.9.10', required : get_option('te - if get_option('doxygen') - subdir('doxygen') - endif --subdir('po') -+if not get_option('daemon-only') -+ subdir('po') -+endif - if get_option('man') - subdir('man') - endif - subdir('shell-completion/bash') --subdir('shell-completion/zsh') -+if not get_option('daemon-only') -+ subdir('shell-completion/zsh') -+endif - subdir('src') --subdir('vala') -+if not get_option('daemon-only') -+ subdir('vala') -+endif - - # Now generate config.h from everything above - configure_file(output : 'config.h', configuration : cdata) - - # pkg-config files - -+if not get_option('daemon-only') -+ - pc_cdata = configuration_data() - - pc_cdata.set('prefix', prefix) -@@ -842,8 +853,12 @@ foreach file : pc_files - install_dir : pkgconfigdir) - endforeach - -+endif # !daemon-only -+ - # CMake files - -+if not get_option('daemon-only') -+ - m4 = find_program('m4', required: true) - - cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') -@@ -872,6 +887,8 @@ configure_file( - install_dir : cmakedir, - ) - -+endif # !daemon-only -+ - ############################################################ - - # Final summary -diff --git a/meson_options.txt b/meson_options.txt -index bb41a42a7..62828ac5c 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,6 +1,9 @@ - option('daemon', - type : 'boolean', value : true, - description : 'Enable building and installation of pulseaudio daemon and supporting configuration files') -+option('daemon-only', -+ type : 'boolean', value : false, -+ description : 'Build and install only the pulseaudio daemon and supporting configuration files, relying on a system installation of libpulse') - option('doxygen', - type : 'boolean', value : true, - description : 'Enable building and installation of documentation generated with doxygen') -diff --git a/po/meson.build b/po/meson.build -index 34278db47..33429373c 100644 ---- a/po/meson.build -+++ b/po/meson.build -@@ -1,4 +1,3 @@ --i18n = import('i18n') - i18n.gettext( - meson.project_name(), - preset: 'glib', -@@ -7,5 +6,3 @@ i18n.gettext( - args: ['--msgid-bugs-address=https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/new', - '--width=90'], - ) -- --po_dir = meson.current_source_dir() -diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build -index 3ba5cb16f..83d90b94b 100644 ---- a/shell-completion/bash/meson.build -+++ b/shell-completion/bash/meson.build -@@ -8,6 +8,7 @@ if bashcompletiondir != 'no' - ] - endif - -+ if not get_option('daemon-only') - aliases += [ - 'pacat', - 'pactl', -@@ -16,6 +17,7 @@ if bashcompletiondir != 'no' - 'parec', - 'parecord', - ] -+ endif - - install_data('pulseaudio', install_dir : bashcompletiondir) - -diff --git a/src/daemon/meson.build b/src/daemon/meson.build -index 262e193b2..e8f70a453 100644 ---- a/src/daemon/meson.build -+++ b/src/daemon/meson.build -@@ -30,8 +30,8 @@ executable('pulseaudio', - install_rpath : privlibdir, - include_directories : [configinc, topinc], - link_args : ['-ffast-math'], -- link_with : [libpulsecore, libpulsecommon, libpulse], -- dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep], -+ link_with : [libpulsecore], -+ dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep, libpulsecommon_dep, libpulse_dep], - c_args : pa_c_args, - ) - -diff --git a/src/meson.build b/src/meson.build -index e2860811b..a56667271 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -188,6 +188,15 @@ else - endif - # FIXME: Do SIMD things - -+if get_option('daemon-only') -+ libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) -+ libpulse_dep = dependency('libpulse', required : true) -+ libpulse_simple_dep = dependency('libpulse-simple', required : true) -+ if glib_dep.found() -+ libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', required : true) -+ endif -+else -+ - libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, - libpulsecommon_sources, - libpulsecommon_headers, -@@ -207,6 +216,8 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, - libpulsecommon_dep = declare_dependency(link_with: libpulsecommon) - - subdir('pulse') -+endif -+ - if get_option('daemon') - subdir('pulsecore') - subdir('daemon') -diff --git a/src/modules/gsettings/meson.build b/src/modules/gsettings/meson.build -index 68a72c3ff..9604699e7 100644 ---- a/src/modules/gsettings/meson.build -+++ b/src/modules/gsettings/meson.build -@@ -8,8 +8,7 @@ gsettings_helper = executable('gsettings-helper', - gsettings_helper_sources, - c_args : pa_c_args, - include_directories : [configinc, topinc], -- link_with : [libpulsecommon, libpulse], -- dependencies : [gio_dep], -+ dependencies : [gio_dep, libpulsecommon_dep, libpulse_dep], - install_dir : pulselibexecdir, - install_rpath : privlibdir, - install : true, -diff --git a/src/tests/meson.build b/src/tests/meson.build -index acd301037..56d71299f 100644 ---- a/src/tests/meson.build -+++ b/src/tests/meson.build -@@ -20,8 +20,6 @@ default_tests += [ - [ check_dep, libpulse_dep, libpulsecommon_dep ] ], - [ 'json-test', 'json-test.c', - [ check_dep, libpulse_dep, libpulsecommon_dep ] ], -- [ 'mainloop-test', 'mainloop-test.c', -- [ check_dep, libpulse_dep, libpulsecommon_dep ] ], - [ 'proplist-test', 'proplist-test.c', - [ check_dep, libpulse_dep, libpulsecommon_dep ] ], - [ 'thread-mainloop-test', 'thread-mainloop-test.c', -@@ -32,6 +30,13 @@ default_tests += [ - [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], - ] - -+if not get_option('daemon-only') -+ default_tests += [ -+ [ 'mainloop-test', 'mainloop-test.c', -+ [ check_dep, libpulse_dep, libpulsecommon_dep ] ], -+ ] -+endif -+ - if get_option('daemon') - default_tests += [ - [ 'asyncmsgq-test', 'asyncmsgq-test.c', -diff --git a/src/utils/meson.build b/src/utils/meson.build -index c9635fdb6..7ed6e738f 100644 ---- a/src/utils/meson.build -+++ b/src/utils/meson.build -@@ -1,3 +1,4 @@ -+if not get_option('daemon-only') - pacat_sources = [ - 'pacat.c', - ] -@@ -41,6 +42,7 @@ executable('pactl', - dependencies : [sndfile_dep, libintl_dep], - c_args : pa_c_args, - ) -+endif - - if get_option('daemon') - if host_machine.system() != 'windows' -@@ -53,8 +55,7 @@ if get_option('daemon') - install: true, - install_rpath : privlibdir, - include_directories : [configinc, topinc], -- link_with : [libpulsecommon, libpulse], -- dependencies: [libintl_dep], -+ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], - c_args : pa_c_args, - ) - -@@ -67,13 +68,13 @@ if get_option('daemon') - install: true, - install_rpath : privlibdir, - include_directories : [configinc, topinc], -- link_with : [libpulsecommon, libpulse], -- dependencies: [libintl_dep], -+ dependencies: [libintl_dep, libpulsecommon_dep, libpulse_dep], - c_args : pa_c_args, - ) - endif - endif - -+if not get_option('daemon-only') - if x11_dep.found() - pax11publish_sources = [ - 'pax11publish.c', -@@ -121,3 +122,4 @@ if dbus_dep.found() and fftw_dep.found() - endif - - install_data('pa-info', install_dir : bindir) -+endif --- -2.32.0 - diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch deleted file mode 100644 index f3df62031d34..000000000000 --- a/media-sound/pulseaudio-daemon/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch +++ /dev/null @@ -1,25 +0,0 @@ -https://bugs.gentoo.org/806052 - -commit 42af3ee08381faa5807fde68d4c8ec0d7ad5e9a5 -Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> -Date: Tue Aug 3 09:43:32 2021 +0300 - - build-sys: meson: Require xice, xsm and xtst for daemon only - - Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/613> - ---- a/meson.build -+++ b/meson.build -@@ -681,9 +681,9 @@ endif - x11_dep = dependency('x11-xcb', required : get_option('x11')) - if x11_dep.found() - xcb_dep = dependency('xcb', required : true, version : '>= 1.6') -- ice_dep = dependency('ice', required : true) -- sm_dep = dependency('sm', required : true) -- xtst_dep = dependency('xtst', required : true) -+ ice_dep = dependency('ice', required : get_option('daemon')) -+ sm_dep = dependency('sm', required : get_option('daemon')) -+ xtst_dep = dependency('xtst', required : get_option('daemon')) - cdata.set('HAVE_X11', 1) - if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) - cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0.ebuild b/media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0-r1.ebuild index 2af849121400..ca5a0570c89f 100644 --- a/media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0.ebuild +++ b/media-sound/pulseaudio-daemon/pulseaudio-daemon-15.0-r1.ebuild @@ -5,7 +5,7 @@ EAPI="7" MY_PV="${PV/_pre*}" MY_P="pulseaudio-${MY_PV}" - +MY_PATCHSET="${PN}-15.0-patchset-1" inherit bash-completion-r1 gnome2-utils meson optfeature systemd tmpfiles udev DESCRIPTION="A networked sound server with an advanced plugin system" @@ -17,6 +17,7 @@ if [[ ${PV} = 9999 ]]; then EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" else SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" + SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCHSET}.tar.bz2" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" fi @@ -148,9 +149,9 @@ DOCS=( NEWS README ) S="${WORKDIR}/${MY_P}" +# patches merged upstream, to be removed with 16.0 bump PATCHES=( - "${FILESDIR}"/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch - "${FILESDIR}"/${PV}-daemon-only.patch + "${WORKDIR}"/${MY_PATCHSET}/ ) src_prepare() { @@ -164,7 +165,7 @@ src_configure() { --localstatedir="${EPREFIX}"/var -Ddaemon=true - -Ddaemon-only=true + -Dclient=false -Ddoxygen=false -Dgcov=false -Dman=true @@ -222,8 +223,14 @@ src_configure() { src_install() { meson_src_install - # Installed by media-libs/libpulse + # Upstream installs 'pactl' if client is built, with all symlinks except for + # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built. + # This trips QA warning, workaround: + # - install missing aliases in media-libs/libpulse (client build) + # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build) rm "${D}/$(get_bashcompdir)"/pulseaudio || die + rm "${D}/$(get_bashcompdir)"/pacmd || die + rm "${D}/$(get_bashcompdir)"/pasuspender || die if use system-wide; then newconfd "${FILESDIR}"/pulseaudio.conf.d pulseaudio |