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"

Reply via email to