commit:     6ac43070cf152ee19cdcc386261835a01d5f29cd
Author:     Kellerman Rivero Suarez <krsloco <AT> gmail <DOT> com>
AuthorDate: Wed Dec 31 07:39:40 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 31 11:51:43 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ac43070

media-video/pipewire: Support for libcamera plugin

libcamera is now available in Gentoo repository. Therefore,
pipewire/libcamera integration or plugin can be enabled.

Bug: https://bugs.gentoo.org/867670
Signed-off-by: Kellerman Rivero Suarez <krsloco <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45203
Closes: https://github.com/gentoo/gentoo/pull/45203
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/metadata.xml                           |  1 +
 .../{pipewire-1.4.9999.ebuild => pipewire-1.4.9-r2.ebuild}  | 13 +++++++------
 media-video/pipewire/pipewire-1.4.9999.ebuild               | 11 ++++++-----
 media-video/pipewire/pipewire-9999.ebuild                   |  8 +++++---
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/media-video/pipewire/metadata.xml 
b/media-video/pipewire/metadata.xml
index db347d472d4b..be0e0bace777 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -22,6 +22,7 @@
                <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) 
to read/save used modules (useful for e.g. <pkg>media-sound/paprefs</pkg></flag>
                <flag name="jack-client">Install a plugin for running PipeWire 
as a JACK client</flag>
                <flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
+               <flag name="libcamera">Enable libcamera plugin via 
<pkg>media-libs/libcamera</pkg></flag>
                <flag name="liblc3">Allow loading LC3 plugins via 
<pkg>media-sound/liblc3</pkg></flag>
                <flag name="loudness">Enable loudness normalisation according 
to the EBU R128 standard using <pkg>media-libs/libebur128</pkg></flag>
                <flag name="lv2">Allow loading LV2 plugins via 
<pkg>media-libs/lv2</pkg></flag>

diff --git a/media-video/pipewire/pipewire-1.4.9999.ebuild 
b/media-video/pipewire/pipewire-1.4.9-r2.ebuild
similarity index 98%
copy from media-video/pipewire/pipewire-1.4.9999.ebuild
copy to media-video/pipewire/pipewire-1.4.9-r2.ebuild
index 015d5870a658..2170809c69a1 100644
--- a/media-video/pipewire/pipewire-1.4.9999.ebuild
+++ b/media-video/pipewire/pipewire-1.4.9-r2.ebuild
@@ -52,19 +52,19 @@ else
                PIPEWIRE_DOCS_USEFLAG="man"
        fi
 
-       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc 
~x86"
+       KEYWORDS="~amd64 ~arm64"
 fi
 
-SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz";
-
 DESCRIPTION="Multimedia processing graphs"
 HOMEPAGE="https://pipewire.org/";
+SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz";
 
 LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for 
https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 
loudness lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl 
system-service systemd test v4l X zeroconf"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings"
+IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 
modemmanager pipewire-alsa readline roc selinux"
+IUSE+=" sound-server ssl system-service systemd test v4l X zeroconf "
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -154,6 +154,7 @@ RDEPEND="
                !media-sound/jack-audio-connection-kit
                !media-sound/jack2
        )
+       libcamera? ( media-libs/libcamera:= )
        liblc3? ( media-sound/liblc3 )
        loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] )
        lv2? ( media-libs/lilv )
@@ -283,7 +284,7 @@ multilib_src_configure() {
                $(meson_feature fftw)
                $(meson_native_use_feature lv2)
                $(meson_native_use_feature v4l v4l2)
-               -Dlibcamera=disabled # libcamera is not in Portage tree
+               $(meson_native_use_feature libcamera)
                $(meson_native_use_feature roc)
                $(meson_native_use_feature readline)
                $(meson_native_use_feature ssl raop)

diff --git a/media-video/pipewire/pipewire-1.4.9999.ebuild 
b/media-video/pipewire/pipewire-1.4.9999.ebuild
index 015d5870a658..0d74273a3b41 100644
--- a/media-video/pipewire/pipewire-1.4.9999.ebuild
+++ b/media-video/pipewire/pipewire-1.4.9999.ebuild
@@ -55,16 +55,16 @@ else
        KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc 
~x86"
 fi
 
-SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz";
-
 DESCRIPTION="Multimedia processing graphs"
 HOMEPAGE="https://pipewire.org/";
+SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-1.4.7-0001-don-t-include-standard-C-headers-inside-of-extern-C.patch.xz";
 
 LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for 
https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 
loudness lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl 
system-service systemd test v4l X zeroconf"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings"
+IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 
modemmanager pipewire-alsa readline roc selinux"
+IUSE+=" sound-server ssl system-service systemd test v4l X zeroconf"
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -154,6 +154,7 @@ RDEPEND="
                !media-sound/jack-audio-connection-kit
                !media-sound/jack2
        )
+       libcamera? ( media-libs/libcamera:= )
        liblc3? ( media-sound/liblc3 )
        loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] )
        lv2? ( media-libs/lilv )
@@ -283,7 +284,7 @@ multilib_src_configure() {
                $(meson_feature fftw)
                $(meson_native_use_feature lv2)
                $(meson_native_use_feature v4l v4l2)
-               -Dlibcamera=disabled # libcamera is not in Portage tree
+               $(meson_native_use_feature libcamera)
                $(meson_native_use_feature roc)
                $(meson_native_use_feature readline)
                $(meson_native_use_feature ssl raop)

diff --git a/media-video/pipewire/pipewire-9999.ebuild 
b/media-video/pipewire/pipewire-9999.ebuild
index fc3136d986e1..080cdf6c9372 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -61,8 +61,9 @@ HOMEPAGE="https://pipewire.org/";
 LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for 
https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 
loudness lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl 
system-service systemd test v4l X zeroconf"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra 
ffmpeg fftw flatpak gstreamer gsettings"
+IUSE+=" ieee1394 jack-client jack-sdk libcamera liblc3 loudness lv2 
modemmanager pipewire-alsa readline roc selinux"
+IUSE+=" sound-server ssl system-service systemd test v4l X zeroconf"
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -152,6 +153,7 @@ RDEPEND="
                !media-sound/jack-audio-connection-kit
                !media-sound/jack2
        )
+       libcamera? ( media-libs/libcamera:= )
        liblc3? ( media-sound/liblc3 )
        loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] )
        lv2? ( media-libs/lilv )
@@ -278,7 +280,7 @@ multilib_src_configure() {
                $(meson_feature fftw)
                $(meson_native_use_feature lv2)
                $(meson_native_use_feature v4l v4l2)
-               -Dlibcamera=disabled # libcamera is not in Portage tree
+               $(meson_native_use_feature libcamera)
                $(meson_native_use_feature roc)
                $(meson_native_use_feature readline)
                $(meson_native_use_feature ssl raop)

Reply via email to