From 2bd71c190060a4d822e82183a517e66983f819d8 Mon Sep 17 00:00:00 2001 From: Stefano Ragni Date: Fri, 22 Oct 2021 00:19:53 +0200 Subject: [PATCH] pipewire: update to 0.3.39 --- srcpkgs/pipewire/patches/1042.patch | 77 +++++++++++++++++++++ srcpkgs/pipewire/patches/f8817b4.patch | 25 ------- srcpkgs/pipewire/patches/no-LIB-token.patch | 27 ++++++++ srcpkgs/pipewire/template | 17 +++-- 4 files changed, 117 insertions(+), 29 deletions(-) create mode 100644 srcpkgs/pipewire/patches/1042.patch delete mode 100644 srcpkgs/pipewire/patches/f8817b4.patch create mode 100644 srcpkgs/pipewire/patches/no-LIB-token.patch diff --git a/srcpkgs/pipewire/patches/1042.patch b/srcpkgs/pipewire/patches/1042.patch new file mode 100644 index 000000000000..fc4c5f2f35cd --- /dev/null +++ b/srcpkgs/pipewire/patches/1042.patch @@ -0,0 +1,77 @@ +From cf3c0431c387a72fdbc66ec78086f695d0b6de3c Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 26 Oct 2021 11:14:06 +1000 +Subject: [PATCH 1/2] test: fix tmpdir value after setenv + +Introduced in a2856c6e0f692b7a379e06d3ed6ac8107f9b946b + +set_test_env() modifies TMPDIR so we must not use getenv until after +that call. + +Fixes #1736 +--- + test/pwtest.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/test/pwtest.c b/test/pwtest.c +index fbf16cb2f..a000153fd 100644 +--- a/test/pwtest.c ++++ b/test/pwtest.c +@@ -915,9 +915,7 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + pid_t pw_daemon = 0; + int read_fds[_FD_LAST], write_fds[_FD_LAST]; + int r; +- const char *tmpdir = getenv("TMPDIR"); +- +- spa_assert_se(tmpdir != NULL); ++ const char *tmpdir; + + if (t->result == PWTEST_SKIP) { + char *buf = pw_array_add(&t->logs[FD_LOG], 64); +@@ -934,6 +932,8 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + } + + set_test_env(ctx, t); ++ tmpdir = getenv("TMPDIR"); ++ spa_assert_se(tmpdir != NULL); + r = chdir(tmpdir); + if (r < 0) { + t->sig_or_errno = -errno; +-- +GitLab + + +From 07c5511aedf0b0606c0d3f92ce829c5402436d58 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 26 Oct 2021 11:03:22 +1000 +Subject: [PATCH 2/2] test: handle chdir errors correctly + +When we get to this code, we already updated the environment variables +so we need to use the usual error path to restore them. + +And where chdir does fail, print an error to the log. 256 chars should +be enough here, if your tmpdir exceeds that you just have the error +message cut off. +--- + test/pwtest.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/pwtest.c b/test/pwtest.c +index a000153fd..35e7b003c 100644 +--- a/test/pwtest.c ++++ b/test/pwtest.c +@@ -936,8 +936,10 @@ static void run_test(struct pwtest_context *ctx, struct pwtest_suite *c, struct + spa_assert_se(tmpdir != NULL); + r = chdir(tmpdir); + if (r < 0) { ++ char *buf = pw_array_add(&t->logs[FD_LOG], 256); ++ spa_scnprintf(buf, 256, "pwtest: failed to chdir to '%s'\n", tmpdir); + t->sig_or_errno = -errno; +- return; ++ goto error; + } + + if (t->args.pw_daemon) { +-- +GitLab + diff --git a/srcpkgs/pipewire/patches/f8817b4.patch b/srcpkgs/pipewire/patches/f8817b4.patch deleted file mode 100644 index ab410b061bd1..000000000000 --- a/srcpkgs/pipewire/patches/f8817b4.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f8817b439433798bd7217dc4ae72197887b0fc96 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 30 Sep 2021 11:12:27 +0200 -Subject: [PATCH] cpu: fix compilation on ARM - ---- - spa/plugins/support/cpu-arm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/spa/plugins/support/cpu-arm.c b/spa/plugins/support/cpu-arm.c -index d80b8ad87..de07ebf41 100644 ---- a/spa/plugins/support/cpu-arm.c -+++ b/spa/plugins/support/cpu-arm.c -@@ -80,7 +80,7 @@ arm_init(struct impl *impl) - int arch; - - if (!(cpuinfo = get_cpuinfo())) { -- spa_log_warn(impl->log, NAME " %p: Can't read cpuinfo", impl); -+ spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl); - return 1; - } - --- -GitLab - diff --git a/srcpkgs/pipewire/patches/no-LIB-token.patch b/srcpkgs/pipewire/patches/no-LIB-token.patch new file mode 100644 index 000000000000..6573e2aeb7f4 --- /dev/null +++ b/srcpkgs/pipewire/patches/no-LIB-token.patch @@ -0,0 +1,27 @@ +As void doesn't support multiarch, remove the glibc specific $LIB dynamic string +token, which otherwise breaks musl. +diff --git a/meson.build.orig b/meson.build +index 7172ee4..7af3373 100644 +--- a/meson.build ++++ b/meson.build +@@ -39,19 +39,7 @@ pipewire_configdir = pipewire_sysconfdir / 'pipewire' + pipewire_confdatadir = pipewire_datadir / 'pipewire' + modules_install_dir = pipewire_libdir / pipewire_name + +-if host_machine.system() == 'linux' +- # glibc ld.so interprets ${LIB} in a library loading path with an +- # appropriate value for the current architecture, typically something +- # like lib, lib64 or lib/x86_64-linux-gnu. +- # This allows the same pw-jack script to work for both 32- and 64-bit +- # applications on biarch/multiarch distributions, by setting something +- # like LD_LIBRARY_PATH='/usr/${LIB}/pipewire-0.3/jack'. +- # Note that ${LIB} is a special token expanded by the runtime linker, +- # not an environment variable, and must be passed through literally. +- modules_install_dir_dlopen = prefix / '${LIB}' / pipewire_name +-else +- modules_install_dir_dlopen = modules_install_dir +-endif ++modules_install_dir_dlopen = modules_install_dir + + spa_plugindir = pipewire_libdir / spa_name + spa_datadir = pipewire_datadir / spa_name diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index 53ab873c9d87..fc8b75f3aaf9 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,7 +1,8 @@ # Template file for 'pipewire' pkgname=pipewire -version=0.3.38 +version=0.3.39 revision=1 +_pms_version=0.4.0 build_style=meson configure_args=" --auto-features=enabled @@ -13,6 +14,7 @@ configure_args=" -Dsystemd=disabled -Dudevrulesdir=/usr/lib/udev/rules.d -Dvulkan=enabled + -Dmedia-session:systemd=disabled " hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext" makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel @@ -21,14 +23,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel readline-devel" depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision} - libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}" + libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision} + libspa-v4l2>=${version}_${revision}" short_desc="Server and user space API to deal with multimedia pipelines" maintainer="Stefano Ragni " license="MIT" homepage="https://pipewire.org/" changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS" -distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz" -checksum=2a2424cea5bfdca88503fd8616fff891aa8355e850cab19e875050fe60c35ce7 +distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz + https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz" +checksum="2112173c7d5e89b28ec289a25d30f2be5340e2ca6d104511d176324ffd0f968a + c04496f1606d60174ba30b0adc0dc14ec0e3d1bf1684dd42836a56511e64ba8b" make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire" system_accounts="_pipewire" @@ -47,6 +52,10 @@ else configure_args+=" -Dbluez5-codec-ldac=disabled" fi +post_extract() { + mv ${XBPS_BUILDDIR}/media-session-${_pms_version} ${wrksrc}/subprojects/media-session +} + post_install() { vlicense LICENSE vdoc "${FILESDIR}/README.voidlinux"