diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2019-06-07 13:35:14 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2019-06-11 13:35:25 +0000 |
commit | 5e28b182790ce38cb769949a5f2f9c649b6978c6 (patch) | |
tree | 817b33721f0f613db0c45e360edc087900d8c085 | |
parent | 4c81f39081eb23f7b6e2381ea4e07969b3f53a33 (diff) |
pipewire recipe plumbing
This does enhance the recipes for pipewire and wireplumber in 2 ways:
a) we add a separate package for the configuration and make it replaceable
w/o recompiling pipewire or wireplumber itself
b) this in turn makes the recipes not AGL specific and upstreamable as-is.
v2: enhanced config recipes
v3 & v4: fix typo
Bug-AGL: SPEC-2473
Change-Id: I1f6f32d7cc64d9424706ca6bc87550f5e2c6d359
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
9 files changed, 58 insertions, 20 deletions
diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb index b831ef38..7958c732 100644 --- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb +++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb @@ -11,5 +11,4 @@ PACKAGES = "\ RDEPENDS_${PN} += "\ pipewire \ pipewire-alsa \ - wireplumber \ " diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire.conf b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl/pipewire.conf index d09ee8ed..d09ee8ed 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire.conf +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl/pipewire.conf diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb new file mode 100644 index 00000000..50b207df --- /dev/null +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb @@ -0,0 +1,30 @@ +SUMMARY = "AGL configuration file for pipewire" +HOMEPAGE = "https://pipewire.org" +BUGTRACKER = "https://jira.automotivelinux.org" +AUTHOR = "George Kiagiadakis <george.kiagiadakis@collabora.com>" +SECTION = "multimedia" + +LICENSE = "MIT" + +SRC_URI = " \ + file://pipewire.conf \ + " + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install_append() { + # if we are distributing our own configuration file, + # replace the one installed by pipewire + install -d ${D}/${sysconfdir}/pipewire/ + install -m 0644 ${WORKDIR}/pipewire.conf ${D}${sysconfdir}/pipewire/pipewire.conf +} + +FILES_${PN} = "\ + ${sysconfdir}/pipewire/pipewire.conf \ +" +CONFFILES_${PN} += "\ + ${sysconfdir}/pipewire/pipewire.conf \ +" + +RPROVIDES_${PN} += "virtual/pipewire-config" diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc b/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc index c1916c10..f7a6136d 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc @@ -49,13 +49,6 @@ PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreame PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native" do_install_append() { - # if we are distributing our own configuration file, - # replace the one installed by pipewire - if [ -f ${WORKDIR}/pipewire.conf ] - then - install -m 0644 ${WORKDIR}/pipewire.conf ${D}${sysconfdir}/pipewire/pipewire.conf - fi - # only install the alsa config file if the alsa-lib plugin has been built # this avoids creating the pipewire-alsa package when the pipewire-alsa # feature is not enabled @@ -66,24 +59,21 @@ do_install_append() { fi } -PACKAGES += "\ - lib${PN} \ - lib${PN}-modules \ +PACKAGES =+ "\ ${PN}-spa-plugins \ ${PN}-alsa \ ${PN}-pulseaudio \ ${PN}-jack \ + ${PN}-config \ gstreamer${GST_VER}-${PN} \ + lib${PN} \ + lib${PN}-modules \ " FILES_${PN} = "\ ${bindir}/pipewire* \ - ${sysconfdir}/pipewire/pipewire.conf \ ${systemd_user_unitdir}/* \ " -CONFFILES_${PN} += "\ - ${sysconfdir}/pipewire/pipewire.conf \ -" FILES_lib${PN} = "\ ${libdir}/libpipewire-*.so.* \ @@ -112,3 +102,14 @@ FILES_gstreamer${GST_VER}-${PN} = "\ " RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins" + +# The default pipewire config. +# Replace in your own package using +# "virtual/pipewire-config" +FILES_${PN}-config = "\ + ${sysconfdir}/pipewire/pipewire.conf \ +" +CONFFILES_${PN}-config += "\ + ${sysconfdir}/pipewire/pipewire.conf \ +" +RPROVIDES_${PN}-config += "virtual/pipewire-config" diff --git a/meta-pipewire/recipes-multimedia/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch index b78a9096..b78a9096 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/0001-spa-include-install-missing-headers.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-spa-include-install-missing-headers.patch index 01efe773..01efe773 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/0001-spa-include-install-missing-headers.patch +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-spa-include-install-missing-headers.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch index 008c15f9..008c15f9 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb index 65efe214..84e76883 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb @@ -1,16 +1,14 @@ require pipewire.inc -FILESEXTRAPATHS_prepend := "${THISDIR}:" - SRC_URI = "gitsm://github.com/PipeWire/pipewire;protocol=https;branch=work \ file://0001-spa-include-install-missing-headers.patch \ file://0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch \ file://0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch \ - file://pipewire.conf \ " + SRCREV = "4be788962e60891237f1f018627bf709ae3981e6" PV = "0.2.90+git${SRCPV}-1" S = "${WORKDIR}/git" -RDEPENDS_${PN} += "wireplumber" +RDEPENDS_${PN} += "virtual/pipewire-sessionmanager virtual/pipewire-config" diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb index daf0a38a..df5e93df 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb @@ -17,10 +17,20 @@ SRCREV = "36bc1795ca2626cde5cbd5ec6afae50e5496bd08" PV = "0.0+git${SRCPV}" S = "${WORKDIR}/git" +PACKAGES =+ "${PN}-config" + FILES_${PN} += "\ ${libdir}/wireplumber-*/* \ +" +RPROVIDES_${PN} += "virtual/pipewire-sessionmanager" +RDEPENDS_${PN} += "virtual/wireplumber-config" + + +FILES_${PN}-config += "\ ${sysconfdir}/wireplumber/* \ " -CONFFILES_${PN} += "\ +CONFFILES_${PN}-config += "\ ${sysconfdir}/wireplumber/* \ " + +RPROVIDES_${PN}-config += "virtual/wireplumber-config" |