summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimi Huotari <chiitoo@gentoo.org>2024-08-11 17:47:26 +0300
committerJimi Huotari <chiitoo@gentoo.org>2024-08-22 09:49:53 +0300
commit35e147e12f01668914a0d2e7c3e4407cc373c371 (patch)
treeceea2652311e0366a77f30c03fd431563725eaa7 /media-video
parentkde-apps/kbruch: add kcrash dep (diff)
downloadgentoo-35e147e12f01668914a0d2e7c3e4407cc373c371.tar.gz
gentoo-35e147e12f01668914a0d2e7c3e4407cc373c371.tar.bz2
gentoo-35e147e12f01668914a0d2e7c3e4407cc373c371.zip
media-video/obs-studio: migrate to "new modern CMake path"
- Use the "new modern CMake path" and tweak CMake switches accordingly. - Drop USE="ssl" since it is no longer optional (and unconditionally depend on 'mbedtls'). - Add USE="sndio" to enable sndio support. - Add python 3.13 and remove 3.9 compatibility. - Enable both, "legacy ffmpeg" and the new, "native" nvenc with USE="nvenc". - Tweak formatting on lines longer than 120 characters. - Add USE="test-input" for building and installing test sources. - De-wire up tests, since upstream did not bring building unit tests along with the latest CMake changes, as they are "unmaintained and not supported for a very long time" [1]. 1. https://github.com/obsproject/obs-studio/issues/11115 Signed-off-by: Jimi Huotari <chiitoo@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r--media-video/obs-studio/metadata.xml3
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild33
2 files changed, 19 insertions, 17 deletions
diff --git a/media-video/obs-studio/metadata.xml b/media-video/obs-studio/metadata.xml
index 2e6e1d188e06..be051ff610c3 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -19,8 +19,9 @@
<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>
+ <flag name="sndio">Build with sndio support.</flag>
<flag name="speex">Build with Speex noise suppression filter support.</flag>
- <flag name="ssl">Build with TLS/SSL support for RTMPS connections.</flag>
+ <flag name="test-input">Build and install input sources used for testing.</flag>
<flag name="vlc">Build with VLC media source support.</flag>
<flag name="websocket">Build with WebSocket API support.</flag>
</use>
diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index 957534cb13d4..efd7033f58ab 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
@@ -26,9 +26,12 @@ if [[ ${PV} == 9999 ]]; then
)
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/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ 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/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz
+ -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
@@ -39,9 +42,8 @@ LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
+alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
- python qsv speex +ssl test truetype v4l vlc wayland websocket
+ python qsv sndio speex test-input truetype v4l vlc wayland websocket
"
-RESTRICT="!test? ( test )"
REQUIRED_USE="
browser? ( || ( alsa pulseaudio ) )
lua? ( ${LUA_REQUIRED_USE} )
@@ -66,6 +68,7 @@ DEPEND="
media-libs/x264:=
media-video/ffmpeg:=[nvenc?,opus,x264]
net-misc/curl
+ net-libs/mbedtls:=
sys-apps/dbus
sys-apps/pciutils
sys-apps/util-linux
@@ -116,9 +119,8 @@ DEPEND="
pulseaudio? ( media-libs/libpulse )
python? ( ${PYTHON_DEPS} )
qsv? ( media-libs/libvpl )
+ sndio? ( media-sound/sndio )
speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
@@ -189,32 +191,31 @@ src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
$(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DCALM_DEPRECATION=ON
- -DCCACHE_SUPPORT=OFF
-DENABLE_ALSA=$(usex alsa)
-DENABLE_AJA=OFF
-DENABLE_BROWSER=$(usex browser)
+ -DENABLE_CCACHE=OFF
-DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FFMPEG_NVENC=$(usex nvenc)
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NATIVE_NVENC=OFF
-DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
+ -DENABLE_NVENC=$(usex nvenc)
-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_SNDIO=$(usex sndio)
-DENABLE_SPEEXDSP=$(usex speex)
- -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_TEST_INPUT=$(usex test-input)
-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}
- -DUNIX_STRUCTURE=1
+ -DOBS_CMAKE_VERSION=3
)
if [[ ${PV} != 9999 ]]; then
@@ -233,7 +234,7 @@ src_configure() {
mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
fi
- if use browser && use ssl; then
+ if use browser; then
mycmakeargs+=( -DENABLE_WHATSNEW=ON )
else
mycmakeargs+=( -DENABLE_WHATSNEW=OFF )