package/pipewire-media-session: new package
PATCH 1/1 package/pipewire-media-session: new package
The pipewire-media-session has been moved into a separate package which pipewire attempts to download via meson wraps if session-managers are enabled, since we don't support meson wraps we need to disable session-managers in the pipewire package and create a new pipewire-media-session package.
We also need to add a patch removing an invalid session-managers option check from pipewire-media-session.
There is an alsa with-module-sets uption in pipewire-media-session, however at the moment alsa is an unconditional dependency so we need to always enable it and select alsa-lib.
--- package/Config.in | 1 + ...remove-session-managers-option-check.patch | 36 +++++++++++++ package/pipewire-media-session/Config.in | 9 ++++ .../pipewire-media-session.hash | 4 ++ .../pipewire-media-session.mk | 51 +++++++++++++++++++ package/pipewire/Config.in | 6 --- package/pipewire/pipewire.mk | 9 +--- 7 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch create mode 100644 package/pipewire-media-session/Config.in create mode 100644 package/pipewire-media-session/pipewire-media-session.hash create mode 100644 package/pipewire-media-session/pipewire-media-session.mk
package/Config.in +1 -0
@@ -1539,6 +1539,7 @@ menu "Graphics" source "package/pango/Config.in" source "package/pangomm/Config.in" source "package/pipewire/Config.in" + source "package/pipewire-media-session/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in"
package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch new file +36 -0
@@ -0,0 +1,36 @@ +From 1923c97fbd0b3d8cacdb72386886f860c818bccf Mon Sep 17 00:00:00 2001 +From: James Hilliard <[email protected]> +Date: Wed, 10 Nov 2021 08:54:06 -0700 +Subject: [PATCH] meson: remove session-managers option check. + +This option no longer exists and causes a build failure if building +with the systemd system service enabled. + +Signed-off-by: James Hilliard <[email protected]> +[Upstream status: +https://gitlab.freedesktop.org/pipewire/media-session/-/merge_requests/24] +--- + systemd/system/meson.build | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/systemd/system/meson.build b/systemd/system/meson.build +index ab0d49064..0e9885b0f 100644 +--- a/systemd/system/meson.build ++++ b/systemd/system/meson.build +@@ -4,9 +4,7 @@ systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunit + systemd_config = configuration_data() + systemd_config.set('PW_MEDIA_SESSION_BINARY', media_session_bindir / 'pipewire-media-session') + +-if get_option('session-managers').contains('media-session') +- configure_file(input : 'pipewire-media-session.service.in', +- output : 'pipewire-media-session.service', +- configuration : systemd_config, +- install_dir : systemd_system_services_dir) +-endif ++configure_file(input : 'pipewire-media-session.service.in', ++ output : 'pipewire-media-session.service', ++ configuration : systemd_config, ++ install_dir : systemd_system_services_dir) +-- +2.25.1 +
package/pipewire-media-session/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION + bool "pipewire media-session" + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, dbus + depends on BR2_USE_MMU # dbus + depends on BR2_PACKAGE_PIPEWIRE + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_DBUS + help + Build pipewire media-session support
package/pipewire-media-session/pipewire-media-session.hash new file +4 -0
@@ -0,0 +1,4 @@ +# Locally calculated +sha256 ebdf9f8e389896fdc4b58da5f909afce18441b4b53d5b4f2104dd53586ea8681 media-session-0.4.1.tar.bz2 +sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING +sha256 77b9c867237ef919e33c0fdbcf22ab84b1cf24a63f9431ec68759026b658c994 LICENSE
package/pipewire-media-session/pipewire-media-session.mk new file +51 -0
51 lines not on this page · raw message
package/pipewire/Config.in +0 -6
@@ -18,12 +18,6 @@ config BR2_PACKAGE_PIPEWIRE_EXAMPLES help Build pipewire examples -config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION - bool "pipewire media-session" - depends on BR2_PACKAGE_PIPEWIRE_EXAMPLES - help - Build pipewire media-session support - config BR2_PACKAGE_PIPEWIRE_GSTREAMER bool "pipewire gstreamer plugins" depends on BR2_USE_WCHAR # libglib2
package/pipewire/pipewire.mk +2 -7
@@ -26,7 +26,8 @@ PIPEWIRE_CONF_OPTS += \ -Dtest=disabled \ -Dvideoconvert=enabled \ -Dvideotestsrc=enabled \ - -Dvolume=enabled + -Dvolume=enabled \ + -Dsession-managers=[] ifeq ($(BR2_PACKAGE_DBUS),y) PIPEWIRE_CONF_OPTS += -Ddbus=enabled
@@ -171,12 +172,6 @@ else PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled endif -ifeq ($(BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION),y) -PIPEWIRE_SESSION_MANAGERS_LIST = media-session -endif - -PIPEWIRE_CONF_OPTS += -Dsession-managers='$(subst $(space),$(comma),$(PIPEWIRE_SESSION_MANAGERS_LIST))' - define PIPEWIRE_USERS pipewire -1 pipewire -1 * - - audio,video PipeWire System Daemon endef
Signature · 6 lines
2.25.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
James, All,
On 2021-11-10 09:44 -0700, James Hilliard spake thusly:
Quoted 6 lines
The pipewire-media-session has been moved into a separate package which pipewire attempts to download via meson wraps if session-managers are enabled, since we don't support meson wraps we need to disable session-managers in the pipewire package and create a new pipewire-media-session package.
Quoted 8 lines
We also need to add a patch removing an invalid session-managers option check from pipewire-media-session.
There is an alsa with-module-sets uption in pipewire-media-session, however at the moment alsa is an unconditional dependency so we need to always enable it and select alsa-lib.
Signed-off-by James Hilliard <[email protected]>
So, this is a new package, but adding it fixes a regression due to the recent bump of pipewire, where the previous media-session option has been spun off to a separate package, *and* the recent change that prevents meson from downloading subprojects.
As such, and as a special exception, I have applied this to master, after doing a few tweaks:
- extend commit log with legacy handling
- first unconditional CONF_OPTS uses =, not +=; fits on one line
- slight reorder in variables assignments
Thanks! :-)
Regards,
Yann E. MORIN.
Quoted 201 lines
--- package/Config.in | 1 + ...remove-session-managers-option-check.patch | 36 +++++++++++++ package/pipewire-media-session/Config.in | 9 ++++ .../pipewire-media-session.hash | 4 ++ .../pipewire-media-session.mk | 51 +++++++++++++++++++ package/pipewire/Config.in | 6 --- package/pipewire/pipewire.mk | 9 +--- 7 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch create mode 100644 package/pipewire-media-session/Config.in create mode 100644 package/pipewire-media-session/pipewire-media-session.hash create mode 100644 package/pipewire-media-session/pipewire-media-session.mkpackage/Config.in +1
-0@@ -1539,6 +1539,7 @@ menu "Graphics" source "package/pango/Config.in" source "package/pangomm/Config.in" source "package/pipewire/Config.in" + source "package/pipewire-media-session/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in"package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch new file +36
-0@@ -0,0 +1,36 @@ +From 1923c97fbd0b3d8cacdb72386886f860c818bccf Mon Sep 17 00:00:00 2001 +From: James Hilliard <[email protected]> +Date: Wed, 10 Nov 2021 08:54:06 -0700 +Subject: [PATCH] meson: remove session-managers option check. + +This option no longer exists and causes a build failure if building +with the systemd system service enabled. + +Signed-off-by: James Hilliard <[email protected]> +[Upstream status: +https://gitlab.freedesktop.org/pipewire/media-session/-/merge_requests/24] +--- + systemd/system/meson.build | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/systemd/system/meson.build b/systemd/system/meson.build +index ab0d49064..0e9885b0f 100644 +--- a/systemd/system/meson.build ++++ b/systemd/system/meson.build +@@ -4,9 +4,7 @@ systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunit + systemd_config = configuration_data() + systemd_config.set('PW_MEDIA_SESSION_BINARY', media_session_bindir / 'pipewire-media-session') + +-if get_option('session-managers').contains('media-session') +- configure_file(input : 'pipewire-media-session.service.in', +- output : 'pipewire-media-session.service', +- configuration : systemd_config, +- install_dir : systemd_system_services_dir) +-endif ++configure_file(input : 'pipewire-media-session.service.in', ++ output : 'pipewire-media-session.service', ++ configuration : systemd_config, ++ install_dir : systemd_system_services_dir) +-- +2.25.1 +package/pipewire-media-session/Config.in new file +9
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION + bool "pipewire media-session" + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, dbus + depends on BR2_USE_MMU # dbus + depends on BR2_PACKAGE_PIPEWIRE + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_DBUS + help + Build pipewire media-session supportpackage/pipewire-media-session/pipewire-media-session.hash new file +4
-0@@ -0,0 +1,4 @@ +# Locally calculated +sha256 ebdf9f8e389896fdc4b58da5f909afce18441b4b53d5b4f2104dd53586ea8681 media-session-0.4.1.tar.bz2 +sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING +sha256 77b9c867237ef919e33c0fdbcf22ab84b1cf24a63f9431ec68759026b658c994 LICENSEpackage/pipewire-media-session/pipewire-media-session.mk new file +51
-0@@ -0,0 +1,51 @@ +################################################################################ +# +# pipewire-media-session +# +################################################################################ + +PIPEWIRE_MEDIA_SESSION_VERSION = 0.4.1 +PIPEWIRE_MEDIA_SESSION_SOURCE = media-session-$(PIPEWIRE_MEDIA_SESSION_VERSION).tar.bz2 +PIPEWIRE_MEDIA_SESSION_SITE = https://gitlab.freedesktop.org/pipewire/media-session/-/archive/$(PIPEWIRE_MEDIA_SESSION_VERSION) +PIPEWIRE_MEDIA_SESSION_LICENSE = MIT +PIPEWIRE_MEDIA_SESSION_LICENSE_FILES = COPYING LICENSE +PIPEWIRE_MEDIA_SESSION_INSTALL_STAGING = YES +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES = \ + host-pkgconf \ + alsa-lib \ + dbus \ + pipewire \ + $(TARGET_NLS_DEPENDENCIES) + +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += \ + -Ddocs=disabled \ + -Dtests=disabled + +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST = alsa + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += \ + -Dsystemd=enabled \ + -Dsystemd-system-service=enabled \ + -Dsystemd-user-service=enabled +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += systemd +else +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += \ + -Dsystemd=disabled \ + -Dsystemd-system-service=disabled \ + -Dsystemd-user-service=disabled +endif + +ifeq ($(BR2_PACKAGE_JACK2),y) +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST += jack +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += jack2 +endif + +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST += pulseaudio +PIPEWIRE_MEDIA_SESSION_DEPENDENCIES += pulseaudio +endif + +PIPEWIRE_MEDIA_SESSION_CONF_OPTS += -Dwith-module-sets='$(subst $(space),$(comma),$(PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST))' + +$(eval $(meson-package))package/pipewire/Config.in +0
-6@@ -18,12 +18,6 @@ config BR2_PACKAGE_PIPEWIRE_EXAMPLES help Build pipewire examples -config BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION - bool "pipewire media-session" - depends on BR2_PACKAGE_PIPEWIRE_EXAMPLES - help - Build pipewire media-session support - config BR2_PACKAGE_PIPEWIRE_GSTREAMER bool "pipewire gstreamer plugins" depends on BR2_USE_WCHAR # libglib2package/pipewire/pipewire.mk +2
-7@@ -26,7 +26,8 @@ PIPEWIRE_CONF_OPTS += \ -Dtest=disabled \ -Dvideoconvert=enabled \ -Dvideotestsrc=enabled \ - -Dvolume=enabled + -Dvolume=enabled \ + -Dsession-managers=[] ifeq ($(BR2_PACKAGE_DBUS),y) PIPEWIRE_CONF_OPTS += -Ddbus=enabled@@ -171,12 +172,6 @@ else PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled endif -ifeq ($(BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION),y) -PIPEWIRE_SESSION_MANAGERS_LIST = media-session -endif - -PIPEWIRE_CONF_OPTS += -Dsession-managers='$(subst $(space),$(comma),$(PIPEWIRE_SESSION_MANAGERS_LIST))' - define PIPEWIRE_USERS pipewire -1 pipewire -1 * - - audio,video PipeWire System Daemon endefSignature · 6 lines
2.25.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot