commit:     e2fee93fb7bebb6e7bbd43fb724154267d44ab2c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  1 16:38:11 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jul  1 16:54:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2fee93f

media-video/obs-studio: sync live

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/obs-studio/obs-studio-9999.ebuild | 91 ++++++++++++++++++++-------
 1 file changed, 69 insertions(+), 22 deletions(-)

diff --git a/media-video/obs-studio/obs-studio-9999.ebuild 
b/media-video/obs-studio/obs-studio-9999.ebuild
index f1b911e3391..56839893506 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -5,26 +5,35 @@ EAPI=7
 
 CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
 LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
 
-inherit cmake lua-single python-single-r1 xdg-utils
+inherit xdg cmake lua-single python-single-r1
 
-if [[ ${PV} == *9999 ]]; then
+OBS_BROWSER_COMMIT="f1a61c5a2579e5673765c31a47c2053d4b502d4b"
+CEF_DIR="cef_binary_4280_linux64"
+
+if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git";
-       EGIT_SUBMODULES=()
+       EGIT_SUBMODULES=( plugins/obs-browser )
 else
        SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+       SRC_URI+=" browser? ( 
https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz 
-> obs-browser-${OBS_BROWSER_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="GPL-2"
 SLOT="0"
-IUSE="+alsa decklink fdk imagemagick jack lua nvenc pipewire pulseaudio python 
speex +ssl truetype v4l vlc wayland"
+IUSE="
+       +alsa browser decklink fdk jack lua nvenc pipewire
+       pulseaudio python speex +ssl truetype v4l vlc wayland
+"
 REQUIRED_USE="
+       browser? ( || ( alsa pulseaudio ) )
        lua? ( ${LUA_REQUIRED_USE} )
        python? ( ${PYTHON_REQUIRED_USE} )
 "
@@ -34,7 +43,7 @@ BDEPEND="
        python? ( dev-lang/swig )
 "
 DEPEND="
-       >=dev-libs/jansson-2.5
+       dev-libs/jansson
        dev-qt/qtcore:5
        dev-qt/qtdeclarative:5
        dev-qt/qtgui:5[wayland?]
@@ -50,21 +59,38 @@ DEPEND="
        media-video/ffmpeg:=[x264]
        net-misc/curl
        sys-apps/dbus
-       sys-libs/zlib
+       sys-libs/zlib:=
        virtual/udev
        x11-libs/libX11
        x11-libs/libXcomposite
        x11-libs/libXfixes
        x11-libs/libXinerama
        x11-libs/libXrandr
-       x11-libs/libxcb
+       x11-libs/libxcb:=
        alsa? ( media-libs/alsa-lib )
+       browser? (
+               app-accessibility/at-spi2-atk
+               dev-libs/atk
+               dev-libs/expat
+               dev-libs/glib
+               dev-libs/nspr
+               dev-libs/nss
+               media-libs/alsa-lib
+               media-libs/fontconfig
+               net-print/cups
+               x11-libs/libXScrnSaver
+               x11-libs/libXcursor
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXi
+               x11-libs/libXrender
+               x11-libs/libXtst
+       )
        fdk? ( media-libs/fdk-aac:= )
-       imagemagick? ( media-gfx/imagemagick:= )
        jack? ( virtual/jack )
        lua? ( ${LUA_DEPS} )
        nvenc? ( >=media-video/ffmpeg-4[video_cards_nvidia] )
-       pipewire? ( media-video/pipewire )
+       pipewire? ( media-video/pipewire:= )
        pulseaudio? ( media-sound/pulseaudio )
        python? ( ${PYTHON_DEPS} )
        speex? ( media-libs/speexdsp )
@@ -79,17 +105,40 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
-PATCHES=( "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" ) # 
https://github.com/obsproject/obs-studio/pull/3335
+QA_PREBUILT="
+       usr/lib*/obs-plugins/chrome-sandbox
+       usr/lib*/obs-plugins/libEGL.so
+       usr/lib*/obs-plugins/libGLESv2.so
+       usr/lib*/obs-plugins/libcef.so
+       usr/lib*/obs-plugins/swiftshader/libEGL.so
+       usr/lib*/obs-plugins/swiftshader/libGLESv2.so
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-26.1.2-python-3.8.patch"
+)
 
 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
+       elif use browser; then
+               rm -d ${P}/plugins/obs-browser || die
+               mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser 
|| die
+       fi
+}
+
 src_configure() {
        local libdir=$(get_libdir)
        local mycmakeargs=(
-               -DBUILD_BROWSER=no
+               $(usex browser -DCEF_ROOT_DIR=../${CEF_DIR} '')
+               -DBUILD_BROWSER=$(usex browser)
                -DBUILD_VST=no
                -DENABLE_WAYLAND=$(usex wayland)
                -DDISABLE_ALSA=$(usex !alsa)
@@ -102,13 +151,16 @@ src_configure() {
                -DDISABLE_SPEEXDSP=$(usex !speex)
                -DDISABLE_V4L2=$(usex !v4l)
                -DDISABLE_VLC=$(usex !vlc)
-               -DLIBOBS_PREFER_IMAGEMAGICK=$(usex imagemagick)
                -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
                -DUNIX_STRUCTURE=1
                -DWITH_RTMPS=$(usex ssl)
+
+               # deprecated and currently cause issues
+               # 
https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608
+               -DLIBOBS_PREFER_IMAGEMAGICK=no
        )
 
-       if [[ ${PV} != *9999 ]]; then
+       if [[ ${PV} != 9999 ]]; then
                mycmakeargs+=(
                        -DOBS_VERSION_OVERRIDE=${PV}
                )
@@ -129,13 +181,14 @@ src_configure() {
 
 src_install() {
        cmake_src_install
-       #external plugins may need some things not installed by default, 
install them here
+
+       # 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_icon_cache_update
+       xdg_pkg_postinst
 
        if ! use alsa && ! use pulseaudio; then
                elog
@@ -154,9 +207,7 @@ pkg_postinst() {
                elog "(if 'x11-misc/xdg-utils' is installed)."
                elog
        fi
-}
 
-pkg_postinst() {
        if use python; then
                ewarn "This ebuild applies a patch that is not yet accepted 
upstream,"
                ewarn "and while it fixes Python support at least to some 
extent, it"
@@ -165,7 +216,3 @@ pkg_postinst() {
                ewarn "Please report any such issues to the Gentoo maintainer."
        fi
 }
-
-pkg_postrm() {
-       xdg_icon_cache_update
-}

Reply via email to