commit:     08c754eb05921c72bc429afeb56e724c6bbe5d74
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 17 18:49:47 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 17 20:20:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08c754eb

media-video/webcamoid: Sanitise and add many, many IUSE

Add IUSE aom, faac, fdk-aac, lame, libusb, mp4, opus, rav1e, screencast,
  svt-av1, vlc, vorbis, vpx, X, x264
Add missing media-libs/alsa-lib for IUSE alsa
Better describe IUSE libuvc (at all)
Drop no-op IUSE oss
Drop IUSE v4lutils (duplicates v4l without good explanation)
Drop IUSE videoeffects (no deps)
Merge IUSE qtaudio and qtcamera into qtmedia (same dep, prior use)
Drop puzzling use of RESTRICT="mirror" in live ebuild switch
Sort IUSE
Fix stray tab in DEPENDs
Wire up IUSE portaudio (at all)

Bug: https://bugs.gentoo.org/935774
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-video/webcamoid/metadata.xml          | 11 +++-
 media-video/webcamoid/webcamoid-9999.ebuild | 92 ++++++++++++++++++++---------
 2 files changed, 73 insertions(+), 30 deletions(-)

diff --git a/media-video/webcamoid/metadata.xml 
b/media-video/webcamoid/metadata.xml
index 41c3bc23a2d0..c08daa047538 100644
--- a/media-video/webcamoid/metadata.xml
+++ b/media-video/webcamoid/metadata.xml
@@ -6,11 +6,20 @@
                <remote-id type="github">webcamoid/webcamoid</remote-id>
        </upstream>
        <use>
+               <flag name="aom">Enable <pkg>media-libs/libaom</pkg> audio 
codec support</flag>
+               <flag name="faac">Enable <pkg>media-libs/faac</pkg> audio codec 
support</flag>
+               <flag name="fdk-aac">Enable <pkg>media-libs/fdk-aac</pkg> audio 
codec support</flag>
                <flag name="headers">Install development headers</flag>
-               <flag name="libuvc">Build with libuvc support</flag>
+               <flag name="libusb">Enable video capturing from USB devices 
using <pkg>dev-libs/libusb</pkg></flag>
+               <flag name="libuvc">Enable video capturing from USB devices 
using <pkg>media-libs/libuvc</pkg></flag>
                <flag name="qtaudio">Enable audio capture/play via 
<pkg>dev-qt/qtmultimedia</pkg></flag>
                <flag name="qtcamera">Enable video capture/play via 
<pkg>dev-qt/qtmultimedia</pkg></flag>
+               <flag name="qtmedia">Enable audio/video/screen capture/play via 
<pkg>dev-qt/qtmultimedia</pkg></flag>
+               <flag name="rav1e">Enable <pkg>media-video/rav1e</pkg> audio 
codec support</flag>
+               <flag name="svt-av1">Enable <pkg>media-libs/svt-av1</pkg> video 
codec support</flag>
                <flag name="v4lutils">Build with V4L-utils support</flag>
                <flag name="videoeffects">Build video effects</flag>
+               <flag name="vlc">Enable <pkg>media-video/vlc</pkg> video 
backend support</flag>
+               <flag name="X">Enable <pkg>x11-libs/libX11</pkg> screen capture 
support</flag>
        </use>
 </pkgmetadata>

diff --git a/media-video/webcamoid/webcamoid-9999.ebuild 
b/media-video/webcamoid/webcamoid-9999.ebuild
index 2bcfa8ebd343..b96e7ba420e3 100644
--- a/media-video/webcamoid/webcamoid-9999.ebuild
+++ b/media-video/webcamoid/webcamoid-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -7,11 +7,9 @@ inherit cmake flag-o-matic xdg
 
 DESCRIPTION="Full featured webcam capture application"
 HOMEPAGE="https://webcamoid.github.io";
-if [[ ${PV} = 9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
        EGIT_REPO_URI="https://github.com/webcamoid/webcamoid.git";
-       EGIT_BRANCH="master"
        inherit git-r3
-       RESTRICT="mirror"
 else
        
SRC_URI="https://github.com/webcamoid/${PN}/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
        KEYWORDS="~amd64 ~arm64 ~x86"
@@ -19,23 +17,43 @@ fi
 
 LICENSE="GPL-3"
 SLOT="0"
-IUSE="alsa ffmpeg gstreamer jack libuvc oss portaudio pulseaudio qtaudio 
qtcamera sdl v4lutils videoeffects debug headers v4l"
-
-REQUIRED_USE="v4lutils? ( v4l )"
+IUSE="alsa aom debug faac fdk-aac ffmpeg gstreamer headers jack lame libusb 
libuvc mp4
+opus portaudio pulseaudio qtmedia rav1e screencast sdl svt-av1 v4l vlc vorbis 
vpx X x264"
 
 COMMON_DEPEND="
+       media-libs/libmikmod
        dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,widgets]
        dev-qt/qtdeclarative:6
        dev-qt/qtsvg:6
-       ffmpeg? ( media-video/ffmpeg:= )
+       alsa? ( media-libs/alsa-lib )
+       aom? ( media-libs/libaom:= )
+       faac? ( media-libs/faac )
+       fdk-aac? ( media-libs/fdk-aac:= )
+       ffmpeg? ( media-video/ffmpeg:= )
        gstreamer? ( >=media-libs/gstreamer-1.6.0 )
        jack? ( virtual/jack )
-       libuvc? ( media-libs/libuvc )
+       lame? ( media-sound/lame )
+       libusb? ( dev-libs/libusb:1 )
+       libuvc? ( >=media-libs/libuvc-0.0.7 )
+       mp4? ( media-libs/libmp4v2 )
+       opus? ( media-libs/opus )
+       portaudio? ( media-libs/portaudio )
        pulseaudio? ( media-libs/libpulse )
-       qtaudio? ( dev-qt/qtmultimedia:6 )
-       qtcamera? ( dev-qt/qtmultimedia:6 )
+       qtmedia? ( dev-qt/qtmultimedia:6 )
+       rav1e? ( media-video/rav1e:= )
+       screencast? ( media-video/pipewire:= )
        sdl? ( media-libs/libsdl2 )
+       svt-av1? ( media-libs/svt-av1:= )
        v4l? ( media-libs/libv4l )
+       vlc? ( media-video/vlc:= )
+       vorbis? ( media-libs/libvorbis )
+       vpx? ( media-libs/libvpx:= )
+       X? (
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/libXfixes
+       )
+       x264? ( media-libs/x264:= )
 "
 DEPEND="${COMMON_DEPEND}
        >=sys-kernel/linux-headers-3.6
@@ -55,24 +73,40 @@ src_configure() {
        sed -i 's|find_program(GIT_BIN git)|#find_program(GIT_BIN git)|' 
libAvKys/cmake/ProjectCommons.cmake || die
 
        local mycmakeargs=(
-               "-DNOMEDIAFOUNDATION=1"
-               "-DNODSHOW=1"
-               "-DNOWASAPI=1"
-               "-DNOVLC=1"
-               "-DNOPIPEWIRE=1"
-               "-DNOPORTAUDIO=1" # PortAudio not packaged for gentoo
-               "-DNOALSA=$(usex alsa 0 1)"
-               "-DNOQTAUDIO=$(usex qtaudio 0 1)"
-               "-DNOQTCAMERA=$(usex qtcamera 0 1)"
-               "-DNOFFMPEG=$(usex ffmpeg 0 1)"
-               "-DNOGSTREAMER=$(usex gstreamer 0 1)"
-               "-DNOJACK=$(usex jack 0 1)"
-               "-DNOLIBUVC=$(usex libuvc 0 1)"
-               "-DNOPULSEAUDIO=$(usex pulseaudio 0 1)"
-               "-DNOSDL=$(usex sdl 0 1)"
-               "-DNOV4L2=$(usex v4l 0 1)"
-               "-DNOV4LUTILS=$(usex v4lutils 0 1)"
-               "-DNOVIDEOEFFECTS=$(usex videoeffects 0 1)"
+               -DNOVIDEOEFFECTS=0 # no extra deps, no IUSE
+               -DNOCHECKUPDATES=1
+               -DNOMEDIAFOUNDATION=1
+               -DNODSHOW=1
+               -DNOWASAPI=1
+               -DNOALSA=$(usex !alsa)
+               -DNOAOMAV1=$(usex !aom)
+               -DNOFAAC=$(usex !faac)
+               -DNOFDKAAC=$(usex !fdk-aac)
+               -DNOFFMPEG=$(usex !ffmpeg)
+               -DNOGSTREAMER=$(usex !gstreamer)
+               -DNOJACK=$(usex !jack)
+               -DNOLAME=$(usex !lame)
+               -DNOLIBUSB=$(usex !libusb)
+               -DNOLIBUVC=$(usex !libuvc)
+               -DNOLIBMP4V2=$(usex !mp4)
+               -DNOLIBOPUS=$(usex !opus)
+               -DNOPORTAUDIO=$(usex !portaudio)
+               -DNOPULSEAUDIO=$(usex !pulseaudio)
+               -DNOQTAUDIO=$(usex !qtmedia)
+               -DNOQTCAMERA=$(usex !qtmedia)
+               -DNOQTSCREENCAPTURE=$(usex !qtmedia)
+               -DNORAVIE=$(usex !rav1e)
+               -DNOPIPEWIRE=$(usex !screencast)
+               -DNOSDL=$(usex !sdl)
+               -DNOSVTAV1=$(usex !svt-av1)
+               -DNOV4L2=$(usex !v4l)
+               -DNOV4LUTILS=$(usex !v4l)
+               -DNOVLC=$(usex !vlc)
+               -DNOLIBVORBIS=$(usex !vorbis)
+               -DNOLIBWEBM=$(usex !vpx)
+               -DNOLIBVPX=$(usex !vpx)
+               -DNOXLIBSCREENCAP=$(usex !X)
+               -DNOX264=$(usex !x264)
        )
        cmake_src_configure
 }

Reply via email to