summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-04-02 16:58:32 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-04-04 20:54:11 +0300
commit45852739b8823d99a818e714b72961886759fe2e (patch)
tree92fc4d26b025440bff29a7b0cbf204c7f5cca151 /meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb
parente9c4c65544ebd9f2c5772936c9fe0552d5e6d5b0 (diff)
downloadopenbmc-45852739b8823d99a818e714b72961886759fe2e.tar.xz
subtree updates
meta-openembedded: 9a52bfc4a6..af11f6ce73: Andreas Müller (4): nautilus: Add a packageconfig for libportal - disabled by default gtk4: upgrade 4.4.0 -> 4.6.2 libadwaita: initial add 1.1.0 gtksourceview5: upgrade 5.2.0 -> 5.4.0 Carlos Rafael Giani (3): libopenmpt: Remove unnecessary python code block pipewire: Upgrade to version 0.3.49 wireplumber: Upgrade to version 0.4.9 Kai Kang (4): wxwidgets: 3.1.4 -> 3.1.5 python3-wxgtk4: add recipe wxwidgets: fix typo mcelog: fix compile error Khem Raj (1): python3-wxgtk4: Use cross prefix with native wx-config Matthias Klein (1): paho-mqtt-c: upgrade 1.3.9 -> 1.3.10 Mingli Yu (1): mariadb: increase MY_AES_CTX_SIZE Potin Lai (4): libimobiledevice-glue: add recipe libimobiledevice-glue: fix undefined bswap error libirecovery: add recipe idevicerestore: add recipe S. Lockwood-Childs (1): python3-evdev: fix host header contamination Yi Zhao (2): strongswan: 5.9.4 -> 5.9.5 libnetfilter-conntrack: upgrade 1.0.8 -> 1.0.9 meta-raspberrypi: c06ae5eacf..31c33d155c: Khem Raj (3): linux-raspberrypi_5.15.bb: Upgrade to 5.15.32 raspberrypi-firmware: Update to match 5.15.32 armstubs: Upgrade to 20211101 poky: 5fe3689f4f..1976521190: Chen Qi (1): gobject-introspection: fix default search path for girdir Daniel Ammann (2): overview-manual: Fix reference ref-manual: Add vfat in list of filesystems supported by kickstart Jagadeesh Krishnanjanappa (1): cmake: support to create per-toolchain cmake file in SDK Khem Raj (2): weston: Add a knob to control simple clients meson: Robustify compiler detection logic Marta Rybczynska (1): doc: migration-3.5: extend the section on inclusive language Michael Halstead (1): releases: update to include 3.4.3 Michael Opdenacker (4): overview-manual: add missing upper case docs: add poky.yaml and sphinx-static/switchers.js to "make clean" manuals: fix quoting of double dashes migration-guides: preliminary description for 3.5 Oleksandr Kravchuk (1): python3: update to 3.10.4 Peter Kjellerstedt (1): ref-manual: Remove references to AVAILABLE_LICENSES Rasmus Villemoes (1): git: make expat and curl into PACKAGECONFIG items Richard Purdie (11): set_versions/switchers: Drop versions shown to the active releases mirrors: Add missing gitsm entries for yocto/oe mirrors base: Don't add duplicates to sys.path base: Clean up module import compatibility code modutils-initscripts: Change license PD -> MIT keymaps: Clean up license handling initscripts: Clean up license handling/identifiers bitbake: cooker: Further fixes to inotify to fix memres bitbake issues bitbake: cooker: Restore sys.path and sys.modules between parses bitbake: cooker: Ensure any existing hashserv connection is closed bitbake: cooker: Avoid error if siggen wasn't setup Ross Burton (24): ref-manual: update Python class documentation buildtools-tarball: include nativesdk-python3-pyyaml image_types: hddimg and iso only work on x86 oeqa/selftest/devtool: ensure Git username is set before upgrade tests oeqa/selftest/wic: use os.rename instead of bb.utils.rename oeqa/selftest/wic: remove redundant asserts oeqa/selftest/wic: clean up only_for_arch decorator oeqa/selftest/wic: don't hardcode kernel image type in test_wic_rm oeqa/selftest/wic: add more arch-specific annotations oeqa/selftest/buildoptions: set PACKAGE_CLASSES in test_arch_work_dir_and_export_source oeqa/runtime/decorator/package.py: remove use of strToSet oeqa/core/decorator: remove redundant code testimage: inline updateTestData() oeqa/core/utils/misc: remove redundant file oeqa/selftest: remove unused imports oeqa/core/decorators/data: improve has_* logic oeqa/selftest: tag tests that use runqemu oeqa: rationalise skipifqemu decorators oeqa/selftest/oescripts: refactor skipping logic oeqa/selftest/wic: cleanup WicTestCase.setUpLocal oeqa/selftest/wic: rearrange tests oeqa/selftest/wic: use os.path.join to join paths oeqa/selftest/wic: use self.td instead of get_bb_var to save on bitbake calls oeqa/selftest: generalise test_devtool_virtual_kernel_modify Simon Kuhnle (1): convert-variable-renames: Fix typo in description Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic8359fe5772351a45a3154c6a7f5042a88ff934c
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb')
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb143
1 files changed, 143 insertions, 0 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb
new file mode 100644
index 0000000000..0a2ca3b6f7
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb
@@ -0,0 +1,143 @@
+SUMMARY = "Session / policy manager implementation for PipeWire"
+HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber"
+BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues"
+AUTHOR = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
+SECTION = "multimedia"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77"
+
+DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
+ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
+"
+
+SRCREV = "8b97b40c4467951fbd4181afb47e4175361365a6"
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
+ file://90-OE-disable-session-dbus-dependent-features.lua \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gobject-introspection systemd
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+# Enable system-lua to let wireplumber use OE's lua.
+# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now.
+# elogind is not (yet) available in OE, so disable support.
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dsystem-lua=true \
+ -Delogind=disabled \
+ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
+ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
+ -Dtests=false \
+"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \
+"
+
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd"
+# "systemd-user-service" packageconfig will only install service
+# files to rootfs but not enable them as systemd.bbclass
+# currently lacks the feature of enabling user services.
+PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd"
+
+PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
+PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
+
+WP_MODULE_SUBDIR = "wireplumber-0.4"
+
+add_custom_lua_config_scripts() {
+ install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
+}
+
+do_install[postfuncs] += "add_custom_lua_config_scripts"
+
+python split_dynamic_packages () {
+ # Create packages for each WirePlumber module.
+ wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
+ do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False)
+}
+
+python set_dynamic_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ # Go through all generated WirePlumber module packages
+ # (excluding the main package and the -meta package itself)
+ # and add them to the -meta package as RDEPENDS.
+
+ base_pn = d.getVar('PN')
+
+ wp_module_pn = base_pn + '-modules'
+ wp_module_metapkg = wp_module_pn + '-meta'
+
+ d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1")
+ d.setVar('FILES:' + wp_module_metapkg, "")
+
+ blacklist = [ wp_module_pn, wp_module_metapkg ]
+ wp_module_metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in blacklist:
+ continue
+
+ is_wp_module_pkg = pkg.startswith(wp_module_pn)
+ if not is_wp_module_pkg:
+ continue
+
+ if pkg in wp_module_metapkg_rdepends:
+ continue
+
+ # See if the package is empty by looking at the contents of its
+ # PKGDEST subdirectory. If this subdirectory is empty, then then
+ # package is empty as well. Empty packages do not get added to
+ # the meta package's RDEPENDS.
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ if is_wp_module_pkg:
+ wp_module_metapkg_rdepends.append(pkg)
+
+ d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package')
+}
+
+PACKAGES =+ "\
+ libwireplumber \
+ ${PN}-default-config \
+ ${PN}-scripts \
+ ${PN}-modules \
+ ${PN}-modules-meta \
+"
+
+PACKAGES_DYNAMIC = "^${PN}-modules.*"
+
+SYSTEMD_SERVICE:${PN} = "wireplumber.service"
+CONFFILES:${PN} += " \
+ ${datadir}/wireplumber/wireplumber.conf \
+ ${datadir}/wireplumber/*.lua.d/* \
+"
+# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
+# be present. While in theory any application that uses libpipewire can configure
+# itself to become a daemon, in practice, the PipeWire daemon is used.
+RRECOMMENDS:${PN} += "${PN}-scripts pipewire"
+
+FILES:libwireplumber = " \
+ ${libdir}/libwireplumber-*.so.* \
+"
+
+FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*"
+
+# Dynamic packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-modules = ""
+RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"