summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb')
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb81
1 files changed, 60 insertions, 21 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
index 0e810b375..a04f115c3 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
@@ -7,40 +7,79 @@ SECTION = "multimedia"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;beginline=3;md5=e8ad01a5182f2c1b3a2640e9ea268264"
-inherit meson pkgconfig gobject-introspection
+inherit meson pkgconfig systemd
-DEPENDS = "glib-2.0 glib-2.0-native pipewire"
+DEPENDS = "glib-2.0 glib-2.0-native pipewire lua"
SRC_URI = "\
git://gitlab.freedesktop.org/pipewire/wireplumber.git;protocol=https;branch=master \
- https://raw.githubusercontent.com/skystrife/cpptoml/fededad7169e538ca47e11a9ee9251bc361a9a65/include/cpptoml.h \
- file://0001-Build-cpptoml-without-a-cmake-subproject.patch \
"
-SRCREV = "0e98e4150b73d0bed9b72bf8d3eba49671962991"
-SRC_URI[sha256sum] = "3e4e1d315fa1229921c7a4297ead08775b5bb1220c18a7eac62db9ca7e79df0d"
+# v0.4.17
+SRCREV = "d3eb77b292655cef333a8f4cab4e861415bc37c2"
-PV = "0.1.90+git${SRCPV}"
+# patches to be able to compile with lower version of meson that is available in AGL.
+SRC_URI += "\
+"
+
+PV = "0.4.17"
S = "${WORKDIR}/git"
-do_configure_prepend() {
- mkdir -p ${WORKDIR}/git/subprojects/cpptoml/include
- cp -f ${WORKDIR}/cpptoml.h ${WORKDIR}/git/subprojects/cpptoml/include/
-}
+WPAPI="0.4"
+
+# use shared lua from the system instead of the static bundled one
+EXTRA_OEMESON += "-Dsystem-lua=true"
-PACKAGES =+ "${PN}-config"
+# introspection in practice is only used for generating API docs
+# API docs are available on the website and we don't need to build them
+# (plus they depend on hotdoc which is not available here)
+EXTRA_OEMESON += "-Dintrospection=disabled -Ddoc=disabled"
-FILES_${PN} += "\
- ${libdir}/wireplumber-*/* \
+PACKAGECONFIG = "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
"
-RPROVIDES_${PN} += "virtual/pipewire-sessionmanager"
-RDEPENDS_${PN} += "virtual/wireplumber-config"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=true -Dsystemd-user-service=false,-Dsystemd=disabled -Dsystemd-system-service=false -Dsystemd-user-service=false,systemd"
-FILES_${PN}-config += "\
- ${sysconfdir}/wireplumber/* \
+do_configure:prepend() {
+ # relax meson version requirement
+ # we only need 0.54 when building with -Dsystem-lua=false
+ sed "s/meson_version : '>= 0.56.0'/meson_version : '>= 0.53.2'/" ${S}/meson.build > ${S}/tmp.build
+ mv -f ${S}/tmp.build ${S}/meson.build
+}
+
+PACKAGES =+ "\
+ lib${PN}-${WPAPI} \
+ ${PN}-config \
"
-CONFFILES_${PN}-config += "\
- ${sysconfdir}/wireplumber/* \
+
+SYSTEMD_SERVICE:${PN} = "wireplumber.service"
+FILES:${PN} = "\
+ ${bindir}/wireplumber \
+ ${bindir}/wpctl \
+ ${bindir}/wpexec \
+ ${libdir}/wireplumber-${WPAPI}/* \
+ ${datadir}/wireplumber/scripts/* \
+ ${datadir}/zsh/* \
+ ${systemd_system_unitdir}/* \
+"
+
+FILES:lib${PN}-${WPAPI} = "\
+ ${libdir}/libwireplumber-${WPAPI}.so.* \
"
-RPROVIDES_${PN}-config += "virtual/wireplumber-config"
+FILES:${PN}-config += "\
+ ${sysconfdir}/wireplumber/* \
+ ${datadir}/wireplumber/*conf \
+ ${datadir}/wireplumber/common/* \
+ ${datadir}/wireplumber/main.lua.d/* \
+ ${datadir}/wireplumber/bluetooth.lua.d/* \
+ ${datadir}/wireplumber/policy.lua.d/* \
+"
+do_install:append() {
+ rm -rf ${D}${sysconfdir}/wireplumber/
+ rm -f ${D}${datadir}/wireplumber/*conf
+ rm -rf ${D}${datadir}/wireplumber/common
+ rm -rf ${D}${datadir}/wireplumber/main.lua.d
+ rm -rf ${D}${datadir}/wireplumber/bluetooth.lua.d
+ rm -rf ${D}${datadir}/wireplumber/policy.lua.d
+}