commit: b11128211a033b797a411233c255c6fcc1fc579c Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Oct 11 06:58:35 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Oct 11 07:00:17 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1112821
media-video/wireplumber: add 0.5.12 Now with man pages, albeit from AI [0]. [0] https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/735 Signed-off-by: Sam James <sam <AT> gentoo.org> media-video/wireplumber/Manifest | 2 + ...umber-9999.ebuild => wireplumber-0.5.12.ebuild} | 65 ++++++++++++++++++---- media-video/wireplumber/wireplumber-9999.ebuild | 65 ++++++++++++++++++---- 3 files changed, 108 insertions(+), 24 deletions(-) diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index 9e9bec87cc4f..f60cc0a1a38d 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -1,2 +1,4 @@ DIST wireplumber-0.5.10.tar.bz2 423061 BLAKE2B ec39d4687e5e16a46178cbbe53dcf8f21aa697a6db9304f26d21cedda19131fd1e097c29255819578966bc5026110f44599efc94aa6a069ded8d5eb827fa3fed SHA512 53e1518ccc9f607dcbef9cfdc459804ac077ca11b79f215a2466332f5c67e9eace1b9bc05f1e7320e34a915c99a1b3ffdbb8963fadbdd1e3af85b3d0af09a32d DIST wireplumber-0.5.11.tar.bz2 436646 BLAKE2B 5044ad0d0b0cfc948ba28e61f21dfe390fa3a29ccf121959be81e48623b65bc6b9c25c872197fd5d49391bd4bb8b73ee0fd101116ae7eb5b1741a5348bc3b830 SHA512 782b266a4be9663c73f892f01a4de5b154ddfc1dfcc51a17e0783a30660168991905c37aa604609a107432d05da7199d1ed770d806864c588fc116762bb06c6e +DIST wireplumber-0.5.12-docs.tar.xz 4764 BLAKE2B 81c5f850f2e2847a4ac50a5f4e6dbd494cb11d77523c663e7de2d64eb58cdb5a021f510f5820fae5e142bec6b3e986f77675f085e4d25cae07db83830562ff9d SHA512 eb032f73fb2ddd9bb38f417bed8c90b8bc50f35262b30aac6a7ae1d28ac2f712bb8668c059c0157c51254a5381dde01714f5a14c2fb6d534baa82d3beb5dba91 +DIST wireplumber-0.5.12.tar.bz2 442204 BLAKE2B 4cf1439740839026754964f6810351c97a3796cfdf6ed1575f100f4cf7c1d2d017e7719c47140e10fdaee6105905f231588f1353c149af4ba0365511cadaba30 SHA512 e00317ef90add4d5a0e1b637109a2fba594f081f466c15e1c5e62b9157d9684c13a745c926cc18795d0e4899c7813ddb5615b5f396e191a455b11cab11a38990 diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-0.5.12.ebuild similarity index 55% copy from media-video/wireplumber/wireplumber-9999.ebuild copy to media-video/wireplumber/wireplumber-0.5.12.ebuild index 25ddc1c5fa56..260ae5e17506 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-0.5.12.ebuild @@ -6,30 +6,50 @@ EAPI=8 # 1. Please regularly check (even at the point of bumping) Fedora's packaging # for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide # -# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things +# 2. Keep an eye on git master (for both wireplumber and wireplumber) as things # continue to move quickly. It's not uncommon for fixes to be made shortly # after releases. +# TODO: Maybe get upstream to produce `meson dist` tarballs: +# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/issues/3663 +# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/merge_requests/1788 +# +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-wireplumber-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${WIREPLUMBER_DOCS_PREBUILT:=1} + +WIREPLUMBER_DOCS_PREBUILT_DEV=sam +WIREPLUMBER_DOCS_VERSION="$(ver_cut 1-3)" +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +WIREPLUMBER_DOCS_USEFLAG="+doc" + LUA_COMPAT=( lua5-{3,4} ) PYTHON_COMPAT=( python3_{11..14} ) inherit lua-single meson python-any-r1 systemd -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" +DESCRIPTION="Replacement for wireplumber-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/wireplumber/wireplumber" if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_REPO_URI="https://gitlab.freedesktop.org/wireplumber/${PN}.git" EGIT_BRANCH="master" inherit git-r3 else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + SRC_URI="https://gitlab.freedesktop.org/wireplumber/${PN}/-/archive/${PV}/${P}.tar.bz2" + + if [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${WIREPLUMBER_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" + WIREPLUMBER_DOCS_USEFLAG="doc" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="MIT" SLOT="0/0.5" -IUSE="elogind system-service systemd test" +IUSE="${WIREPLUMBER_DOCS_USEFLAG} doc elogind system-service systemd test" REQUIRED_USE=" ${LUA_REQUIRED_USE} @@ -46,6 +66,13 @@ BDEPEND=" dev-util/gdbus-codegen dev-util/glib-utils sys-devel/gettext + doc? ( + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) test? ( sys-apps/dbus ) " DEPEND=" @@ -67,12 +94,23 @@ RDEPEND=" DOCS=( {NEWS,README}.rst ) PATCHES=( - # Defer enabling sound server parts to media-video/pipewire + # Defer enabling sound server parts to media-video/wireplumber # TODO: Soon, we should be able to migrate to just a dropin at - # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735. + # /usr/share. See https://gitlab.freedesktop.org/wireplumber/wireplumber/-/issues/652#note_2399735. "${FILESDIR}"/${PN}-0.5.6-config-disable-sound-server-parts.patch ) +python_check_deps() { + if use doc; then + python_has_version \ + "dev-python/sphinx[${PYTHON_USEDEP}]" \ + "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \ + "dev-python/breathe[${PYTHON_USEDEP}]" || return 1 + else + return 0 + fi +} + pkg_setup() { lua-single_pkg_setup python-any-r1_pkg_setup @@ -83,8 +121,7 @@ src_configure() { -Ddaemon=true -Dtools=true -Dmodules=true - # Ebuild not wired up yet (Sphinx, Doxygen?) - -Ddoc=disabled + $(meson_feature doc) # Only used for Sphinx doc generation -Dintrospection=disabled -Dsystem-lua=true @@ -105,6 +142,10 @@ src_configure() { src_install() { meson_src_install + if ! use doc && [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs/man/*/*.[0-8] + fi + exeinto /etc/user/init.d newexe "${FILESDIR}"/wireplumber.initd wireplumber @@ -116,7 +157,7 @@ pkg_postinst() { if use system-service; then ewarn ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "the system-wide systemd units that enable wireplumber to run as a system" ewarn "service. This is more than likely NOT what you want. You are strongly" ewarn "advised not to enable this mode and instead stick with systemd user" ewarn "units. The default configuration files will likely not work out of" diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index 25ddc1c5fa56..260ae5e17506 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -6,30 +6,50 @@ EAPI=8 # 1. Please regularly check (even at the point of bumping) Fedora's packaging # for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide # -# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things +# 2. Keep an eye on git master (for both wireplumber and wireplumber) as things # continue to move quickly. It's not uncommon for fixes to be made shortly # after releases. +# TODO: Maybe get upstream to produce `meson dist` tarballs: +# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/issues/3663 +# - https://gitlab.freedesktop.org/wireplumber/wireplumber/-/merge_requests/1788 +# +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-wireplumber-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${WIREPLUMBER_DOCS_PREBUILT:=1} + +WIREPLUMBER_DOCS_PREBUILT_DEV=sam +WIREPLUMBER_DOCS_VERSION="$(ver_cut 1-3)" +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +WIREPLUMBER_DOCS_USEFLAG="+doc" + LUA_COMPAT=( lua5-{3,4} ) PYTHON_COMPAT=( python3_{11..14} ) inherit lua-single meson python-any-r1 systemd -DESCRIPTION="Replacement for pipewire-media-session" -HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" +DESCRIPTION="Replacement for wireplumber-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/wireplumber/wireplumber" if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_REPO_URI="https://gitlab.freedesktop.org/wireplumber/${PN}.git" EGIT_BRANCH="master" inherit git-r3 else - SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + SRC_URI="https://gitlab.freedesktop.org/wireplumber/${PN}/-/archive/${PV}/${P}.tar.bz2" + + if [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${WIREPLUMBER_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs.tar.xz )" + WIREPLUMBER_DOCS_USEFLAG="doc" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="MIT" SLOT="0/0.5" -IUSE="elogind system-service systemd test" +IUSE="${WIREPLUMBER_DOCS_USEFLAG} doc elogind system-service systemd test" REQUIRED_USE=" ${LUA_REQUIRED_USE} @@ -46,6 +66,13 @@ BDEPEND=" dev-util/gdbus-codegen dev-util/glib-utils sys-devel/gettext + doc? ( + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) test? ( sys-apps/dbus ) " DEPEND=" @@ -67,12 +94,23 @@ RDEPEND=" DOCS=( {NEWS,README}.rst ) PATCHES=( - # Defer enabling sound server parts to media-video/pipewire + # Defer enabling sound server parts to media-video/wireplumber # TODO: Soon, we should be able to migrate to just a dropin at - # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735. + # /usr/share. See https://gitlab.freedesktop.org/wireplumber/wireplumber/-/issues/652#note_2399735. "${FILESDIR}"/${PN}-0.5.6-config-disable-sound-server-parts.patch ) +python_check_deps() { + if use doc; then + python_has_version \ + "dev-python/sphinx[${PYTHON_USEDEP}]" \ + "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \ + "dev-python/breathe[${PYTHON_USEDEP}]" || return 1 + else + return 0 + fi +} + pkg_setup() { lua-single_pkg_setup python-any-r1_pkg_setup @@ -83,8 +121,7 @@ src_configure() { -Ddaemon=true -Dtools=true -Dmodules=true - # Ebuild not wired up yet (Sphinx, Doxygen?) - -Ddoc=disabled + $(meson_feature doc) # Only used for Sphinx doc generation -Dintrospection=disabled -Dsystem-lua=true @@ -105,6 +142,10 @@ src_configure() { src_install() { meson_src_install + if ! use doc && [[ ${WIREPLUMBER_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${WIREPLUMBER_DOCS_VERSION}-docs/man/*/*.[0-8] + fi + exeinto /etc/user/init.d newexe "${FILESDIR}"/wireplumber.initd wireplumber @@ -116,7 +157,7 @@ pkg_postinst() { if use system-service; then ewarn ewarn "WARNING: you have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "the system-wide systemd units that enable wireplumber to run as a system" ewarn "service. This is more than likely NOT what you want. You are strongly" ewarn "advised not to enable this mode and instead stick with systemd user" ewarn "units. The default configuration files will likely not work out of"
