commit:     87479b842a4c5af883517256f14f3dbb19f3b113
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 10 00:36:17 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 00:38:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87479b84

media-video/pipewire: add 0.3.52

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |  1 +
 .../files/pipewire-0.3.52-pulse-path.patch         | 78 ++++++++++++++++++++++
 ...pipewire-9999.ebuild => pipewire-0.3.52.ebuild} | 16 +++--
 media-video/pipewire/pipewire-9999.ebuild          | 15 +++--
 4 files changed, 102 insertions(+), 8 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 528468dc49d8..9f0efb7e7c58 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -3,3 +3,4 @@ DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 
20fce0d7f88347fe594491d4fae7b6a8edee
 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 
2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6
 SHA512 
36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
 DIST pipewire-0.3.50.tar.gz 1773182 BLAKE2B 
d286b73553471795ea8ed60c82e12c955f1835a7a3a8d45baeda6b1e20a795221230b50c21619af4ef5b2b4962d2783de00b1ab2b22b091220970c334de8b9dc
 SHA512 
e29a626258ab28d74e35e310037fac374fe009fb56e0fa41cef7abb1ec6abb26f828cff1b17500f92f1dd4c95c1e0e98f6af497d315dd463f81c2649d1e8ee23
 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 
8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc
 SHA512 
a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
+DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B 
bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef
 SHA512 
30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a

diff --git a/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch 
b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
new file mode 100644
index 000000000000..09d8ffff699f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
@@ -0,0 +1,78 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4821c7ca2fe5e25ba018e9f5d4967f08d6bb816f
+
+From: Wim Taymans <[email protected]>
+Date: Thu, 9 Jun 2022 17:06:07 +0200
+Subject: [PATCH] pulse-server: don't append "/pulse" to PULSE_RUNTIME_PATH
+
+Fixes #2431
+--- a/src/modules/module-protocol-pulse/server.c
++++ b/src/modules/module-protocol-pulse/server.c
+@@ -460,7 +460,7 @@ static int parse_unix_address(const char *address, struct 
sockaddr_storage *addr
+       if (address[0] != '/') {
+               char runtime_dir[PATH_MAX];
+ 
+-              if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir), 
"pulse")) < 0)
++              if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir))) < 
0)
+                       return res;
+ 
+               res = snprintf(addr.sun_path, sizeof(addr.sun_path),
+--- a/src/modules/module-protocol-pulse/utils.c
++++ b/src/modules/module-protocol-pulse/utils.c
+@@ -50,27 +50,30 @@
+ #include "log.h"
+ #include "utils.h"
+ 
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir)
++int get_runtime_dir(char *buf, size_t buflen)
+ {
+-      const char *runtime_dir;
++      const char *runtime_dir, *dir = NULL;
+       struct stat stat_buf;
+       int res, size;
+ 
+       runtime_dir = getenv("PULSE_RUNTIME_PATH");
+-      if (runtime_dir == NULL)
++      if (runtime_dir == NULL) {
+               runtime_dir = getenv("XDG_RUNTIME_DIR");
+-
++              dir = "pulse";
++      }
+       if (runtime_dir == NULL) {
+               pw_log_error("could not find a suitable runtime directory in"
+                               "$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR");
+               return -ENOENT;
+       }
+ 
+-      size = snprintf(buf, buflen, "%s/%s", runtime_dir, dir);
++      size = snprintf(buf, buflen, "%s%s%s", runtime_dir,
++                      dir ? "/" : "", dir ? dir : "");
+       if (size < 0)
+               return -errno;
+       if ((size_t) size >= buflen) {
+-              pw_log_error("path %s/%s too long", runtime_dir, dir);
++              pw_log_error("path %s%s%s too long", runtime_dir,
++                              dir ? "/" : "", dir ? dir : "");
+               return -ENAMETOOLONG;
+       }
+ 
+@@ -182,7 +185,7 @@ int create_pid_file(void) {
+       FILE *f;
+       int res;
+ 
+-      if ((res = get_runtime_dir(pid_file, sizeof(pid_file), "pulse")) < 0)
++      if ((res = get_runtime_dir(pid_file, sizeof(pid_file))) < 0)
+               return res;
+ 
+       if (strlen(pid_file) > PATH_MAX - sizeof("/pid")) {
+--- a/src/modules/module-protocol-pulse/utils.h
++++ b/src/modules/module-protocol-pulse/utils.h
+@@ -31,7 +31,7 @@
+ struct client;
+ struct pw_context;
+ 
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir);
++int get_runtime_dir(char *buf, size_t buflen);
+ int check_flatpak(struct client *client, pid_t pid);
+ pid_t get_client_pid(struct client *client, int client_fd);
+ const char *get_server_name(struct pw_context *context);
+GitLab

diff --git a/media-video/pipewire/pipewire-9999.ebuild 
b/media-video/pipewire/pipewire-0.3.52.ebuild
similarity index 96%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.52.ebuild
index a57b7fea5d54..76d0878bb062 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.52.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd 
udev
 
@@ -19,7 +19,7 @@ else
                
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz";
        fi
 
-       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -85,7 +85,6 @@ RDEPEND="
        lv2? ( media-libs/lilv )
        pipewire-alsa? (
                >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-               !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
        )
        !pipewire-alsa? ( 
media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
        ssl? ( dev-libs/openssl:= )
@@ -124,6 +123,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
        "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+       "${FILESDIR}"/${P}-pulse-path.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1
@@ -190,6 +190,8 @@ multilib_src_configure() {
                $(meson_native_use_feature bluetooth bluez5-codec-ldac)
                $(meson_native_use_feature bluetooth libusb) # At least for now 
only used by bluez5 native (quirk detection of adapters)
                $(meson_native_use_feature echo-cancel echo-cancel-webrtc) 
#807889
+               # Not yet packaged.
+               -Dbluez5-codec-lc3plus=disabled
                -Dcontrol=enabled # Matches upstream
                -Daudiotestsrc=enabled # Matches upstream
                -Dffmpeg=disabled # Disabled by upstream and no major 
developments to spa/plugins/ffmpeg/ since May 2020
@@ -237,10 +239,16 @@ multilib_src_install_all() {
 
        if use pipewire-alsa; then
                dodir /etc/alsa/conf.d
+
+               # Install pipewire conf loader hook
+               insinto /usr/share/alsa/alsa.conf.d
+               doins "${FILESDIR}"/99-pipewire-default-hook.conf
+               eprefixify 
"${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
                # These will break if someone has /etc that is a symbolic link 
to a subfolder! See #724222
                # And the current dosym8 -r implementation is likely affected 
by the same issue, too.
                dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf 
/etc/alsa/conf.d/50-pipewire.conf
-               dosym 
../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf 
/etc/alsa/conf.d/99-pipewire-default.conf
+               dosym 
../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf 
/etc/alsa/conf.d/99-pipewire-default-hook.conf
        fi
 
        if ! use systemd; then

diff --git a/media-video/pipewire/pipewire-9999.ebuild 
b/media-video/pipewire/pipewire-9999.ebuild
index a57b7fea5d54..3fc526e97dfe 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd 
udev
 
@@ -19,7 +19,7 @@ else
                
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz";
        fi
 
-       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -85,7 +85,6 @@ RDEPEND="
        lv2? ( media-libs/lilv )
        pipewire-alsa? (
                >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-               !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
        )
        !pipewire-alsa? ( 
media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
        ssl? ( dev-libs/openssl:= )
@@ -190,6 +189,8 @@ multilib_src_configure() {
                $(meson_native_use_feature bluetooth bluez5-codec-ldac)
                $(meson_native_use_feature bluetooth libusb) # At least for now 
only used by bluez5 native (quirk detection of adapters)
                $(meson_native_use_feature echo-cancel echo-cancel-webrtc) 
#807889
+               # Not yet packaged.
+               -Dbluez5-codec-lc3plus=disabled
                -Dcontrol=enabled # Matches upstream
                -Daudiotestsrc=enabled # Matches upstream
                -Dffmpeg=disabled # Disabled by upstream and no major 
developments to spa/plugins/ffmpeg/ since May 2020
@@ -237,10 +238,16 @@ multilib_src_install_all() {
 
        if use pipewire-alsa; then
                dodir /etc/alsa/conf.d
+
+               # Install pipewire conf loader hook
+               insinto /usr/share/alsa/alsa.conf.d
+               doins "${FILESDIR}"/99-pipewire-default-hook.conf
+               eprefixify 
"${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
                # These will break if someone has /etc that is a symbolic link 
to a subfolder! See #724222
                # And the current dosym8 -r implementation is likely affected 
by the same issue, too.
                dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf 
/etc/alsa/conf.d/50-pipewire.conf
-               dosym 
../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf 
/etc/alsa/conf.d/99-pipewire-default.conf
+               dosym 
../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf 
/etc/alsa/conf.d/99-pipewire-default-hook.conf
        fi
 
        if ! use systemd; then

Reply via email to