summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2022-02-19 10:21:06 +0300
committerSam James <sam@gentoo.org>2022-02-21 00:48:59 +0000
commit5c0932d5e4d591710f3299f70c2012383ab268bc (patch)
treea423f8f507e7999498409f05097df4901a1aafb0 /media-sound
parentnet-wireless/blueman: Allow more BT audio implementations (diff)
downloadgentoo-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/Manifest1
-rw-r--r--media-sound/pulseaudio-daemon/files/15.0-daemon-only.patch298
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-15.0-xice-xsm-xtst-daemon-only.patch25
-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