commit:     fc32123a7724621a6faf9c83fe11c210052ea34c
Author:     Guillermo Joandet <gjoandet <AT> gmail <DOT> com>
AuthorDate: Sat Feb  4 15:47:20 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Mon Feb  6 04:08:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc32123a

media-video/obs-studio: Version bump to 29.0.2

Closes: https://github.com/gentoo/gentoo/pull/29423
Signed-off-by: Guillermo Joandet <gjoandet <AT> gmail.com>
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 media-video/obs-studio/Manifest                 |   2 +
 media-video/obs-studio/obs-studio-29.0.2.ebuild | 267 ++++++++++++++++++++++++
 2 files changed, 269 insertions(+)

diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 5475de86801f..e31f363900d7 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,10 +1,12 @@
 DIST asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6.tar.gz 1211725 BLAKE2B 
8ffe536e9398b23910deab9889136ac5cb2a39e26982826252400737ea68d201e11bf16f13f20bd4c777fc7ff718da5ef8d329747065c62e61306fc1448f3908
 SHA512 
91245741fe6e7ce8eec6897f222b05cfa9474f93487272d8ca84ec56679afd5cddff2cf07f30cdd6516149e0a138b8a7396b1a7c02a46044b38f4e60addcbf8a
 DIST cef_binary_5060_linux64.tar.bz2 132839531 BLAKE2B 
f7d342cf12bf435aab3873b666a47c42c6583a88f140c28dabfd2dd860cd0d5c96cc51cc034703bffc6f1094a738bd77008c01839fa5ea53b848bc1c483a0ae4
 SHA512 
c99ce53858c57becd7822e39ff81d59b7296374fa61b29dfd4a572c2ed8f9ab155114ed179764ea05586e0edb2f1654f0b73c471f1cd9b233660e7f1c8b462c4
 DIST json-a34e011e24beece3b69397a03fdc650546f052c3.tar.gz 6860722 BLAKE2B 
433b499f24859153171654f3fd0fa9afd4ceb8b21a159185a424084b940d8496f8952c0291a52d85009dde16c46e45d5a206f354d043f4d010a29a1f18965d87
 SHA512 
a7c64517377274479bc3060163a2a7ed0a8780c12dc193287c060f04dfd742ffe8832c930bec75eb0b36f8290044c31530260a614aabae90367f6ccfd4b711f3
+DIST obs-browser-1c2264d722f065646b72ac654f6ddbb6843f9bef.tar.gz 110765 
BLAKE2B 
99ceb51dc1a39c5abab26c6e5f1be63eb0cfaeb7e102ed07a4dc6a16d477e46e7499f1e9beca81d479683374d03e3c08c9ceeb34d04a733ae34c0688bb4ad1c0
 SHA512 
bddfa7914559405331c10a9589f46c17013cdbd361423e71763a4d8d4d521c53dc5df4d7581ff7bf0c9136627024e017bfb08b4a996b33e609cddbae41b5c878
 DIST obs-browser-e2310b02df3e6c184fe6eb6608244a82e37f582e.tar.gz 109012 
BLAKE2B 
a2f3d9e1a3dbc3aa4d00423e743633038d59ce501626941a21ef0cf78608f4190335b8b846bfef49b2f09976d4ef3bb8b19f955b2a328c375cc045b886cb367c
 SHA512 
76494fc9415db68d2b67d832a7a5c8b035e4e379d9adb6eb8292579d12b88b92350692b24e999b1328e02f729fae4060304594d37c754ff359903193c1464aed
 DIST obs-browser-fc62563ba4232649b7e0ffd772e66ad71ba49377.tar.gz 109571 
BLAKE2B 
10082c64bd872d52fccf7bd539f7106c5b66fc9d6e5f31ffdb86c2e6a3e97b36a4848f5f6f008cbfb67f94bd1fad01c7683e8575e3e0f8d1808724e740be4e11
 SHA512 
113f97a21be8deb8bbd1ec98fd565ebb139d4b6901692ed5f61034581da7016b06fa6975b49db3fd2c7aaeac369a09ac98174798abba149aacbfffd2e0b40236
 DIST obs-studio-28.1.2.tar.gz 18859931 BLAKE2B 
08fcedb4094d6a03512139e9055116f47fbd6cf706029d2719524bc018d0dce2a774de83b603f9a7665a115e2414775b858020e0be0ccdcc6882478256392646
 SHA512 
9d5e7e1f2f6236b795c2c49a1a6ba43623c71f16c1c6106fae6ac99b792e15793c169fb62aea271c253b13a0fd9bc9b9ad7880315d9ee787682174a5700f85bd
 DIST obs-studio-29.0.0.tar.gz 18894364 BLAKE2B 
3cf120b5bc9bae3d797a55aa0d348a6eabb2c0ccbf71d89e203468c42780212a6ad0ab52eaa913a8942a4b9c1bf07a50dc951891bcf2cbc3639177f983841066
 SHA512 
14208682fd7c2d5bdc049affe9adcdda73f5d9177277da021aed942518f23c2f3bec8ed55ba58fd8ee3f5f575b13f1083b36248a1073bafed2c4bbb2bd28ec61
+DIST obs-studio-29.0.2.tar.gz 18939072 BLAKE2B 
78a6b7fec520797a5c9d36e7d9a034c29c701d38a745415c3fd0ae3907831584ef4a77b833fa1a7466a23b02a06736afd34720ff3b0d3226dbb0dcab64c72931
 SHA512 
63a832dc6a0a7f07a2f7adf18f1412e8694405d39721144e82dedab8182e17da6f3063f547bc2b33cc7ea053f6dbb8ffda051af5bffdf9773710bd08744faf8f
 DIST obs-websocket-31f9845b6132e6c1529401292bc1125401e2a324.tar.gz 238884 
BLAKE2B 
93a41ff9dd33cf2babaef90c961def1ae39d3b4e7d2f2542123973672c2adbd0cff987f58ce72e9c4acd8818c834531e624c376b3d297f4bdfc097e22ee4b293
 SHA512 
11bf28f574ec2a7b128dae53010484610465c94245881fd98eb750b59e00236f656d1ef706187a41cb42eab3e3668440d83f66399f6917e2d93b7ba6c7241ad3
 DIST obs-websocket-5716577019b1ccda01a12db2cba35a023082b7ad.tar.gz 235118 
BLAKE2B 
96202cf81389b82b26027680dcaa6e2bf902c9776a89895fbef859dae2986523bc5d34ad30233c29fac043611a942fb4d86e5d9d9cd4ef2a9503154a383002fe
 SHA512 
9bb511c9693889f9837cd001fafe403762d44f2ecc80bad42e592d7555e3807a148ab19638724871b7807e71edf5f62a1e0ea62f362fd1b9a6e9bf49000b8a5c
 DIST qr-8518684c0f33d004fa93971be2c6a8eca3167d1e.tar.gz 135863 BLAKE2B 
fa6fb9c9e5250b56bdf38f31aa4acaf4ce860c153012984d1266928bd7a62dcf43b271ff53b4322931304670742566dcb016ef65ff2f681bf76224f86eca567c
 SHA512 
ba298de89411fecc8db3dc10850485da01f5183d68b6d91ea91a9e28c1f104eb110adbf143a37e5d1856abbba5d309ab8329a6359ca7225bacb033d8044fa72c

diff --git a/media-video/obs-studio/obs-studio-29.0.2.ebuild 
b/media-video/obs-studio/obs-studio-29.0.2.ebuild
new file mode 100644
index 000000000000..a7bffc5d998a
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-29.0.2.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+LUA_COMPAT=( luajit )
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake lua-single optfeature python-single-r1 xdg
+
+CEF_DIR="cef_binary_5060_linux64"
+ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
+JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
+OBS_BROWSER_COMMIT="1c2264d722f065646b72ac654f6ddbb6843f9bef"
+OBS_WEBSOCKET_COMMIT="31f9845b6132e6c1529401292bc1125401e2a324"
+QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
+WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git";
+       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/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> 
asio-${ASIO_COMMIT}.tar.gz
+               
https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> 
qr-${QR_COMMIT}.tar.gz
+               https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz 
-> json-${JSON_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/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> 
websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
+       "
+       KEYWORDS="~amd64 ~ppc64 ~x86"
+fi
+SRC_URI+=" browser? ( 
https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+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 qt6 speex +ssl truetype v4l vlc wayland websocket
+"
+REQUIRED_USE="
+       browser? ( || ( alsa pulseaudio ) )
+       lua? ( ${LUA_REQUIRED_USE} )
+       python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+       lua? ( dev-lang/swig )
+       python? ( dev-lang/swig )
+"
+DEPEND="
+       dev-libs/glib:2
+       dev-libs/jansson:=
+       media-libs/libglvnd
+       media-libs/libva
+       media-libs/x264:=
+       media-video/ffmpeg:=[nvenc?,x264]
+       net-misc/curl
+       sys-apps/dbus
+       sys-apps/pciutils
+       sys-libs/zlib:=
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXfixes
+       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-libs/expat
+               dev-libs/glib
+               dev-libs/nspr
+               dev-libs/nss
+               dev-libs/wayland
+               media-libs/alsa-lib
+               media-libs/fontconfig
+               media-libs/mesa[gbm(+)]
+               net-print/cups
+               x11-libs/cairo
+               x11-libs/libdrm
+               x11-libs/libXcursor
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXi
+               x11-libs/libxkbcommon
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               x11-libs/libXScrnSaver
+               x11-libs/libxshmfence
+               x11-libs/libXtst
+               x11-libs/pango
+       )
+       fdk? ( media-libs/fdk-aac:= )
+       jack? ( virtual/jack )
+       lua? ( ${LUA_DEPS} )
+       pipewire? ( media-video/pipewire:= )
+       pulseaudio? ( media-libs/libpulse )
+       python? ( ${PYTHON_DEPS} )
+       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? (
+               media-libs/fontconfig
+               media-libs/freetype
+       )
+       v4l? (
+               media-libs/libv4l
+               virtual/udev
+       )
+       vlc? ( media-video/vlc:= )
+       wayland? (
+               dev-libs/wayland
+               x11-libs/libxkbcommon
+       )
+"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="
+       usr/lib*/obs-plugins/chrome-sandbox
+       usr/lib*/obs-plugins/libcef.so
+       usr/lib*/obs-plugins/libEGL.so
+       usr/lib*/obs-plugins/libGLESv2.so
+       usr/lib*/obs-plugins/libvk_swiftshader.so
+       usr/lib*/obs-plugins/libvulkan.so.1
+       usr/lib*/obs-plugins/swiftshader/libEGL.so
+       usr/lib*/obs-plugins/swiftshader/libGLESv2.so
+"
+
+pkg_setup() {
+       use lua && lua-single_pkg_setup
+       use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+       default
+
+       if [[ ${PV} == 9999 ]]; then
+               git-r3_src_unpack
+       else
+               rm -d ${P}/plugins/obs-browser || die
+               mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser 
|| die
+
+               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/asio || die
+               mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || 
die
+
+               rm -d ${P}/plugins/obs-websocket/deps/json || die
+               mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || 
die
+
+               rm -d ${P}/plugins/obs-websocket/deps/qr || die
+               mv QR-Code-generator-${QR_COMMIT} 
${P}/plugins/obs-websocket/deps/qr || die
+
+               rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
+               mv websocketpp-${WEBSOCKETPP_COMMIT} 
${P}/plugins/obs-websocket/deps/websocketpp || die
+       fi
+}
+
+src_configure() {
+       local libdir=$(get_libdir)
+       local mycmakeargs=(
+               $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
+               -DENABLE_ALSA=$(usex alsa)
+               -DENABLE_AJA=OFF
+               -DENABLE_BROWSER=$(usex browser)
+               -DENABLE_DECKLINK=$(usex decklink)
+               -DENABLE_FREETYPE=$(usex truetype)
+               -DENABLE_JACK=$(usex jack)
+               -DENABLE_LIBFDK=$(usex fdk)
+               -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+               -DENABLE_PIPEWIRE=$(usex pipewire)
+               -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+               -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_WEBSOCKET=$(usex websocket)
+               -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+               -DQT_VERSION=$(usex qt6 6 5)
+               -DUNIX_STRUCTURE=1
+       )
+
+       if [[ ${PV} != 9999 ]]; then
+               mycmakeargs+=(
+                       -DOBS_VERSION_OVERRIDE=${PV}
+               )
+       fi
+
+       if use lua || use python; then
+               mycmakeargs+=(
+                       -DENABLE_SCRIPTING_LUA=$(usex lua)
+                       -DENABLE_SCRIPTING_PYTHON=$(usex python)
+                       -DENABLE_SCRIPTING=ON
+               )
+       else
+               mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
+       fi
+
+       if use browser && use ssl; then
+               mycmakeargs+=( -DENABLE_WHATSNEW=ON )
+       else
+               mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
+       fi
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       # external plugins may need some things not installed by default, 
install them here
+       insinto /usr/include/obs/UI/obs-frontend-api
+       doins UI/obs-frontend-api/obs-frontend-api.h
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use alsa && ! use pulseaudio; then
+               elog
+               elog "For the audio capture features to be available,"
+               elog "at least one of the 'alsa' or 'pulseaudio' USE-flags 
needs to"
+               elog "be enabled."
+               elog
+       fi
+
+       if use v4l && has_version media-video/v4l2loopback; then
+               elog
+               elog "Depending on system configuration, the v4l2loopback 
kernel module"
+               elog "may need to be loaded manually, and needs to be re-built 
after"
+               elog "kernel changes."
+               elog
+       fi
+
+       optfeature "virtual camera support" media-video/v4l2loopback
+}

Reply via email to