diff options
author | Philipp Zabel <p.zabel@pengutronix.de> | 2021-11-26 16:49:34 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2021-11-27 12:02:21 +0100 |
commit | 90cb7745825c21908f3bacd99f4deafbaefd0940 (patch) | |
tree | 31dca96a12f537642239d2b010e41e30f05d62cb | |
parent | df4236226aefd21ee90ea9331d0af0a988775ba4 (diff) | |
download | ptxdist-90cb7745825c21908f3bacd99f4deafbaefd0940.tar.gz ptxdist-90cb7745825c21908f3bacd99f4deafbaefd0940.tar.xz |
media-session: new package
Starting from PipeWire 0.3.39, pipewire-media-session was split out into
its own standalone package. Include a backported patch to fix build with
systemd system service enabled.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Message-Id: <20211126154934.2091313-2-p.zabel@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | patches/media-session-0.4.1/0001-meson-remove-session-managers-option-check.patch | 32 | ||||
-rw-r--r-- | patches/media-session-0.4.1/series | 1 | ||||
-rw-r--r-- | rules/media-session.in | 32 | ||||
-rw-r--r-- | rules/media-session.make | 94 |
4 files changed, 159 insertions, 0 deletions
diff --git a/patches/media-session-0.4.1/0001-meson-remove-session-managers-option-check.patch b/patches/media-session-0.4.1/0001-meson-remove-session-managers-option-check.patch new file mode 100644 index 000000000..7def21649 --- /dev/null +++ b/patches/media-session-0.4.1/0001-meson-remove-session-managers-option-check.patch @@ -0,0 +1,32 @@ +From dfa740175c83e1cd0d815ad423f90872de566437 Mon Sep 17 00:00:00 2001 +From: James Hilliard <james.hilliard1@gmail.com> +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. +--- + 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 ab0d49064986..0e9885b0f39f 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.30.2 + diff --git a/patches/media-session-0.4.1/series b/patches/media-session-0.4.1/series new file mode 100644 index 000000000..fef1ad945 --- /dev/null +++ b/patches/media-session-0.4.1/series @@ -0,0 +1 @@ +0001-meson-remove-session-managers-option-check.patch diff --git a/rules/media-session.in b/rules/media-session.in new file mode 100644 index 000000000..73fe521cc --- /dev/null +++ b/rules/media-session.in @@ -0,0 +1,32 @@ +## SECTION=multimedia_libs + +menuconfig MEDIA_SESSION + tristate + select HOST_MESON + select DBUS + select ALSA_LIB + select ALSA_LIB_PCM + select ALSA_LIB_UCM + select ALSA_LIB_SEQ + select PIPEWIRE + select SYSTEMD if MEDIA_SESSION_SYSTEMD + prompt "media-session " + help + Example session manager for PipeWire + +if MEDIA_SESSION + +config MEDIA_SESSION_SYSTEMD + bool + +config MEDIA_SESSION_SYSTEMD_UNIT + bool + default PIPEWIRE_SYSTEMD_UNIT + select MEDIA_SESSION_SYSTEMD + +config MEDIA_SESSION_SYSTEMD_UNIT_USER + bool + default PIPEWIRE_SYSTEMD_UNIT_USER + select MEDIA_SESSION_SYSTEMD + +endif diff --git a/rules/media-session.make b/rules/media-session.make new file mode 100644 index 000000000..4013e2101 --- /dev/null +++ b/rules/media-session.make @@ -0,0 +1,94 @@ +# -*-makefile-*- +# +# Copyright (C) 2021 by Philipp Zabel <p.zabel@pengutronix.de> +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_MEDIA_SESSION) += media-session + +# +# Paths and names +# +MEDIA_SESSION_VERSION := 0.4.1 +MEDIA_SESSION_MD5 := 5f6d9e82330c8102f97b099f5269286f +MEDIA_SESSION := media-session-$(MEDIA_SESSION_VERSION) +MEDIA_SESSION_SUFFIX := tar.bz2 +MEDIA_SESSION_URL := \ + https://gitlab.freedesktop.org/pipewire/media-session/-/archive/$(MEDIA_SESSION_VERSION)/$(MEDIA_SESSION).$(MEDIA_SESSION_SUFFIX) +MEDIA_SESSION_SOURCE := $(SRCDIR)/$(MEDIA_SESSION).$(MEDIA_SESSION_SUFFIX) +MEDIA_SESSION_DIR := $(BUILDDIR)/$(MEDIA_SESSION) +MEDIA_SESSION_LICENSE := MIT AND LGPL-2.1-or-later AND GPL-2.0-only +MEDIA_SESSION_LICENSE_FILES := \ + file://LICENSE;md5=647cfa0f759d97b208bfb5c1eb912071 \ + file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +MEDIA_SESSION_CONF_ENV := \ + PTXDIST_PKG_CONFIG_VAR_NO_SYSROOT=systemdsystemunitdir + +# +# meson +# +MEDIA_SESSION_CONF_TOOL := meson +MEDIA_SESSION_CONF_OPT := \ + $(CROSS_MESON_USR) \ + -Ddocdir= \ + -Ddocs=disabled \ + -Dinstalled_tests=disabled \ + -Dsystemd-system-service=$(call ptx/endis,PTXCONF_MEDIA_SESSION_SYSTEMD_UNIT)d \ + -Dsystemd-user-service=$(call ptx/endis,PTXCONF_MEDIA_SESSION_SYSTEMD_UNIT_USER)d \ + -Dsystemd-user-unit-dir= \ + -Dsystemd=$(call ptx/endis,PTXCONF_MEDIA_SESSION_SYSTEMD)d \ + -Dtests=disabled \ + -Dwith-module-sets= + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/media-session.targetinstall: + @$(call targetinfo) + + @$(call install_init, media-session) + @$(call install_fixup, media-session,PRIORITY,optional) + @$(call install_fixup, media-session,SECTION,base) + @$(call install_fixup, media-session,AUTHOR,"Philipp Zabel <p.zabel@pengutronix.de>") + @$(call install_fixup, media-session,DESCRIPTION,missing) + + @$(call install_copy, media-session, 0, 0, 755, -, /usr/bin/pipewire-media-session) + +ifdef PTXCONF_MEDIA_SESSION_SYSTEMD_UNIT + @$(call install_alternative, media-session, 0, 0, 0644, \ + /usr/lib/systemd/system/pipewire-media-session.service) + @$(call install_link, media-session, ../pipewire-media-session.service, \ + /usr/lib/systemd/system/pipewire.service.wants/pipewire-media-session.service) +endif +ifdef PTXCONF_MEDIA_SESSION_SYSTEMD_UNIT_USER + @$(call install_alternative, media-session, 0, 0, 0644, \ + /usr/lib/systemd/user/pipewire-media-session.service) + @$(call install_link, media-session, ../pipewire-media-session.service, \ + /usr/lib/systemd/user/pipewire.service.wants/pipewire-media-session.service) +endif + + @$(call install_copy, media-session, 0, 0, 644, -, \ + /usr/share/pipewire/media-session.d/alsa-monitor.conf) + @$(call install_copy, media-session, 0, 0, 644, -, \ + /usr/share/pipewire/media-session.d/bluez-monitor.conf) + @$(call install_copy, media-session, 0, 0, 644, -, \ + /usr/share/pipewire/media-session.d/media-session.conf) + @$(call install_copy, media-session, 0, 0, 644, -, \ + /usr/share/pipewire/media-session.d/v4l2-monitor.conf) + + @$(call install_finish, media-session) + + @$(call touch) + +# vim: syntax=make |