commit:     8e2f1b97ced74c2d2fae3e5421336dcded041301
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 21 17:14:46 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 19:17:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e2f1b97

media-video/obs-studio: add mpegts and rnnoise features

This allows for toggling the NEW_MPEGTS/native SRT/RIST
mpegts output feature, and adds 'media-libs/rnnoise'
as a dependency.

This also cleans up some submodule references that are
no longer being used, and updates the existing ones in
9999.

Closes: https://bugs.gentoo.org/915179
Closes: https://bugs.gentoo.org/915347
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 media-video/obs-studio/metadata.xml                |  1 +
 ...dio-9999.ebuild => obs-studio-29.1.3-r2.ebuild} | 43 ++++++++++++++--------
 media-video/obs-studio/obs-studio-9999.ebuild      | 24 ++++++------
 3 files changed, 39 insertions(+), 29 deletions(-)

diff --git a/media-video/obs-studio/metadata.xml 
b/media-video/obs-studio/metadata.xml
index 9b0f681b3e6d..2e6e1d188e06 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -15,6 +15,7 @@
     <flag name="browser">Enable browser source support via (precompiled) 
CEF.</flag>
     <flag name="decklink">Build the Decklink plugin.</flag>
     <flag name="fdk">Build with LibFDK AAC support.</flag>
+    <flag name="mpegts">Enable native SRT/RIST mpegts output.</flag>
     <flag name="pipewire">Build with PipeWire support.</flag>
     <flag name="python">Build with scripting support for Python 3.</flag>
     <flag name="qsv">Build with Intel Quick Sync Video support.</flag>

diff --git a/media-video/obs-studio/obs-studio-9999.ebuild 
b/media-video/obs-studio/obs-studio-29.1.3-r2.ebuild
similarity index 90%
copy from media-video/obs-studio/obs-studio-9999.ebuild
copy to media-video/obs-studio/obs-studio-29.1.3-r2.ebuild
index 96ad2ebc7090..a31aeb0aa6c9 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-29.1.3-r2.ebuild
@@ -10,7 +10,7 @@ PYTHON_COMPAT=( python3_{9..12} )
 inherit cmake lua-single optfeature python-single-r1 xdg
 
 CEF_DIR="cef_binary_5060_linux64"
-OBS_BROWSER_COMMIT="291464d6988083411e7369fc53eba6d5ef07ff67"
+OBS_BROWSER_COMMIT="594115a27d40f0916e55db97cb61f7c7130cbe28"
 OBS_WEBSOCKET_COMMIT="6fd18a7ef1ecb149e8444154af1daab61d4241a9"
 QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
 
@@ -20,10 +20,7 @@ if [[ ${PV} == 9999 ]]; then
        EGIT_SUBMODULES=(
                plugins/obs-browser
                plugins/obs-websocket
-               plugins/obs-websocket/deps/asio
-               plugins/obs-websocket/deps/json
                plugins/obs-websocket/deps/qr
-               plugins/obs-websocket/deps/websocketpp
        )
 else
        SRC_URI="
@@ -32,7 +29,7 @@ else
                
https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> 
qr-${QR_COMMIT}.tar.gz
                
https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz
 -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
        "
-       KEYWORDS="~amd64 ~ppc64 ~x86"
+       KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 fi
 SRC_URI+=" browser? ( 
https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
 
@@ -42,8 +39,8 @@ HOMEPAGE="https://obsproject.com";
 LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
 SLOT="0"
 IUSE="
-       +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio
-       python qsv speex +ssl truetype v4l vlc wayland websocket
+       +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
+       python qt6 speex +ssl truetype v4l vlc wayland websocket
 "
 REQUIRED_USE="
        browser? ( || ( alsa pulseaudio ) )
@@ -59,10 +56,9 @@ BDEPEND="
 DEPEND="
        dev-libs/glib:2
        dev-libs/jansson:=
-       dev-qt/qtbase:6[network,widgets,xml(+)]
-       dev-qt/qtsvg:6
        media-libs/libglvnd
        media-libs/libva
+       media-libs/rnnoise
        media-libs/x264:=
        media-video/ffmpeg:=[nvenc?,opus,x264]
        net-misc/curl
@@ -71,17 +67,15 @@ DEPEND="
        sys-apps/util-linux
        sys-libs/zlib:=
        x11-libs/libX11
-       x11-libs/libxcb:=
        x11-libs/libXcomposite
        x11-libs/libXfixes
-       x11-libs/libxkbcommon
+       x11-libs/libxcb:=
        alsa? ( media-libs/alsa-lib )
        browser? (
                || (
                        >=app-accessibility/at-spi2-core-2.46.0:2
                        ( app-accessibility/at-spi2-atk dev-libs/atk )
                )
-               dev-cpp/nlohmann_json
                dev-libs/expat
                dev-libs/glib
                dev-libs/nspr
@@ -108,10 +102,27 @@ DEPEND="
        fdk? ( media-libs/fdk-aac:= )
        jack? ( virtual/jack )
        lua? ( ${LUA_DEPS} )
+       mpegts? (
+               net-libs/librist
+               net-libs/srt
+       )
        pipewire? ( media-video/pipewire:= )
        pulseaudio? ( media-libs/libpulse )
        python? ( ${PYTHON_DEPS} )
-       qsv? ( media-libs/oneVPL )
+       qt6? (
+               dev-qt/qtbase:6[network,widgets,xml(+)]
+               dev-qt/qtsvg:6
+               x11-libs/libxkbcommon
+       )
+       !qt6? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5[wayland?]
+               dev-qt/qtnetwork:5
+               dev-qt/qtquickcontrols:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtxml:5
+       )
        speex? ( media-libs/speexdsp )
        ssl? ( net-libs/mbedtls:= )
        truetype? (
@@ -189,19 +200,19 @@ src_configure() {
                -DENABLE_FREETYPE=$(usex truetype)
                -DENABLE_JACK=$(usex jack)
                -DENABLE_LIBFDK=$(usex fdk)
-               -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+               -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
                -DENABLE_PIPEWIRE=$(usex pipewire)
                -DENABLE_PULSEAUDIO=$(usex pulseaudio)
-               -DENABLE_QSV11=$(usex qsv)
+               -DENABLE_RNNOISE=ON
                -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
                -DENABLE_SPEEXDSP=$(usex speex)
                -DENABLE_V4L2=$(usex v4l)
                -DENABLE_VLC=$(usex vlc)
                -DENABLE_VST=ON
                -DENABLE_WAYLAND=$(usex wayland)
-               -DENABLE_WEBRTC=OFF # Requires libdatachannel.
                -DENABLE_WEBSOCKET=$(usex websocket)
                -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+               -DQT_VERSION=$(usex qt6 6 5)
                -DUNIX_STRUCTURE=1
        )
 

diff --git a/media-video/obs-studio/obs-studio-9999.ebuild 
b/media-video/obs-studio/obs-studio-9999.ebuild
index 96ad2ebc7090..98bbc80af0b5 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -10,8 +10,8 @@ PYTHON_COMPAT=( python3_{9..12} )
 inherit cmake lua-single optfeature python-single-r1 xdg
 
 CEF_DIR="cef_binary_5060_linux64"
-OBS_BROWSER_COMMIT="291464d6988083411e7369fc53eba6d5ef07ff67"
-OBS_WEBSOCKET_COMMIT="6fd18a7ef1ecb149e8444154af1daab61d4241a9"
+OBS_BROWSER_COMMIT="e397df52e70392ebb9146e0ab6317c0d1a30bce4"
+OBS_WEBSOCKET_COMMIT="4ff109b62bc221192943541010d055be9ae5dbba"
 QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
 
 if [[ ${PV} == 9999 ]]; then
@@ -20,19 +20,14 @@ if [[ ${PV} == 9999 ]]; then
        EGIT_SUBMODULES=(
                plugins/obs-browser
                plugins/obs-websocket
-               plugins/obs-websocket/deps/asio
-               plugins/obs-websocket/deps/json
-               plugins/obs-websocket/deps/qr
-               plugins/obs-websocket/deps/websocketpp
        )
 else
        SRC_URI="
                https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> 
${P}.tar.gz
                
https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz 
-> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
-               
https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> 
qr-${QR_COMMIT}.tar.gz
                
https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz
 -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
        "
-       KEYWORDS="~amd64 ~ppc64 ~x86"
+       KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 fi
 SRC_URI+=" browser? ( 
https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
 
@@ -42,7 +37,7 @@ HOMEPAGE="https://obsproject.com";
 LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
 SLOT="0"
 IUSE="
-       +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio
+       +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
        python qsv speex +ssl truetype v4l vlc wayland websocket
 "
 REQUIRED_USE="
@@ -63,6 +58,7 @@ DEPEND="
        dev-qt/qtsvg:6
        media-libs/libglvnd
        media-libs/libva
+       media-libs/rnnoise
        media-libs/x264:=
        media-video/ffmpeg:=[nvenc?,opus,x264]
        net-misc/curl
@@ -108,6 +104,10 @@ DEPEND="
        fdk? ( media-libs/fdk-aac:= )
        jack? ( virtual/jack )
        lua? ( ${LUA_DEPS} )
+       mpegts? (
+               net-libs/librist
+               net-libs/srt
+       )
        pipewire? ( media-video/pipewire:= )
        pulseaudio? ( media-libs/libpulse )
        python? ( ${PYTHON_DEPS} )
@@ -162,9 +162,6 @@ src_unpack() {
 
                rm -d ${P}/plugins/obs-websocket || die
                mv obs-websocket-${OBS_WEBSOCKET_COMMIT} 
${P}/plugins/obs-websocket || die
-
-               rm -d ${P}/plugins/obs-websocket/deps/qr || die
-               mv QR-Code-generator-${QR_COMMIT} 
${P}/plugins/obs-websocket/deps/qr || die
        fi
 }
 
@@ -189,10 +186,11 @@ src_configure() {
                -DENABLE_FREETYPE=$(usex truetype)
                -DENABLE_JACK=$(usex jack)
                -DENABLE_LIBFDK=$(usex fdk)
-               -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+               -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
                -DENABLE_PIPEWIRE=$(usex pipewire)
                -DENABLE_PULSEAUDIO=$(usex pulseaudio)
                -DENABLE_QSV11=$(usex qsv)
+               -DENABLE_RNNOISE=ON
                -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
                -DENABLE_SPEEXDSP=$(usex speex)
                -DENABLE_V4L2=$(usex v4l)

Reply via email to