diff options
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb')
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb | 81 |
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 +} |