commit:     c3635cb175c7f3d301323630956c1a6ca27605d5
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  2 05:21:17 2022 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Tue Nov  8 16:16:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3635cb1

media-video/obs-studio: add version 28.1.2

Closes: https://bugs.gentoo.org/867775
Thanks-to: マリウス <marius <AT> xn--gckvb8fzb.com>
Thanks-to: Ionen Wolkens <ionen <AT> gentoo.org>
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 media-video/obs-studio/Manifest                 |   7 +
 media-video/obs-studio/obs-studio-28.1.2.ebuild | 266 ++++++++++++++++++++++++
 2 files changed, 273 insertions(+)

diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index bb70ecac77a8..58346b4d341e 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,5 +1,12 @@
+DIST asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6.tar.gz 1211725 BLAKE2B 
8ffe536e9398b23910deab9889136ac5cb2a39e26982826252400737ea68d201e11bf16f13f20bd4c777fc7ff718da5ef8d329747065c62e61306fc1448f3908
 SHA512 
91245741fe6e7ce8eec6897f222b05cfa9474f93487272d8ca84ec56679afd5cddff2cf07f30cdd6516149e0a138b8a7396b1a7c02a46044b38f4e60addcbf8a
 DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 
13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6
 SHA512 
2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49
 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-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 
BLAKE2B 
d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e
 SHA512 
3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb
+DIST obs-browser-e2310b02df3e6c184fe6eb6608244a82e37f582e.tar.gz 109012 
BLAKE2B 
a2f3d9e1a3dbc3aa4d00423e743633038d59ce501626941a21ef0cf78608f4190335b8b846bfef49b2f09976d4ef3bb8b19f955b2a328c375cc045b886cb367c
 SHA512 
76494fc9415db68d2b67d832a7a5c8b035e4e379d9adb6eb8292579d12b88b92350692b24e999b1328e02f729fae4060304594d37c754ff359903193c1464aed
 DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 
76802ba67dcebccabd9b2a1f09f505a4aea83887b445093c51a2c7a49fbaa064549b6212bd1b2f3200674a78349b2de4bfa54d14871c76be248cd62139d98a56
 SHA512 
c34e850e1a83e55aed952611257446a39d7ba4456b94f74d91c85d09d77361af2f76848f7d3f3d8ba7ae76c926129adad555e2f54d632658832596d0f2696a3c
 DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 
00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd
 SHA512 
575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf
+DIST obs-studio-28.1.2.tar.gz 18859931 BLAKE2B 
08fcedb4094d6a03512139e9055116f47fbd6cf706029d2719524bc018d0dce2a774de83b603f9a7665a115e2414775b858020e0be0ccdcc6882478256392646
 SHA512 
9d5e7e1f2f6236b795c2c49a1a6ba43623c71f16c1c6106fae6ac99b792e15793c169fb62aea271c253b13a0fd9bc9b9ad7880315d9ee787682174a5700f85bd
+DIST obs-websocket-5716577019b1ccda01a12db2cba35a023082b7ad.tar.gz 235118 
BLAKE2B 
96202cf81389b82b26027680dcaa6e2bf902c9776a89895fbef859dae2986523bc5d34ad30233c29fac043611a942fb4d86e5d9d9cd4ef2a9503154a383002fe
 SHA512 
9bb511c9693889f9837cd001fafe403762d44f2ecc80bad42e592d7555e3807a148ab19638724871b7807e71edf5f62a1e0ea62f362fd1b9a6e9bf49000b8a5c
+DIST qr-8518684c0f33d004fa93971be2c6a8eca3167d1e.tar.gz 135863 BLAKE2B 
fa6fb9c9e5250b56bdf38f31aa4acaf4ce860c153012984d1266928bd7a62dcf43b271ff53b4322931304670742566dcb016ef65ff2f681bf76224f86eca567c
 SHA512 
ba298de89411fecc8db3dc10850485da01f5183d68b6d91ea91a9e28c1f104eb110adbf143a37e5d1856abbba5d309ab8329a6359ca7225bacb033d8044fa72c
+DIST websocketpp-56123c87598f8b1dd471be83ca841ceae07f95ba.tar.gz 701544 
BLAKE2B 
61680c31309d8f78b27b82e1bde2c7828eae2777df0629355c557dfd8b0daef6de7d202bbcff372351e135bb62366ffc8eec6c72a99df7c46a9197773c46550c
 SHA512 
f185a66e5a7c783254352a6ef87e2e559f681032b7368765d08393ed12bcae76825abed7dcaea73de09df644320409dad46279701f5f469520542a2c9b6a6163

diff --git a/media-video/obs-studio/obs-studio-28.1.2.ebuild 
b/media-video/obs-studio/obs-studio-28.1.2.ebuild
new file mode 100644
index 000000000000..dec59165b47e
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-28.1.2.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2022 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_{8..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="e2310b02df3e6c184fe6eb6608244a82e37f582e"
+OBS_WEBSOCKET_COMMIT="5716577019b1ccda01a12db2cba35a023082b7ad"
+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/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)
+               -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