diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2021-07-01 12:38:11 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2021-07-01 12:54:42 -0400 |
commit | e2fee93fb7bebb6e7bbd43fb724154267d44ab2c (patch) | |
tree | c63d14aedc1e19d8f50bd80572c68796d3226172 /media-video | |
parent | media-video/obs-studio: tidy with small fixes (diff) | |
download | gentoo-e2fee93fb7bebb6e7bbd43fb724154267d44ab2c.tar.gz gentoo-e2fee93fb7bebb6e7bbd43fb724154267d44ab2c.tar.bz2 gentoo-e2fee93fb7bebb6e7bbd43fb724154267d44ab2c.zip |
media-video/obs-studio: sync live
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/obs-studio/obs-studio-9999.ebuild | 91 |
1 files 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 f1b911e33918..56839893506e 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 -} |