diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2021-07-01 00:56:24 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2021-07-01 12:54:42 -0400 |
commit | 2c4e606350f81335053fc77a81bc9790379adcb9 (patch) | |
tree | 912928a6908de1c6d394af7f2882ac9c309a9594 /media-video/obs-studio | |
parent | profiles/arch/*: mask media-video/obs-studio[browser] on ppc64/x86 (diff) | |
download | gentoo-2c4e606350f81335053fc77a81bc9790379adcb9.tar.gz gentoo-2c4e606350f81335053fc77a81bc9790379adcb9.tar.bz2 gentoo-2c4e606350f81335053fc77a81bc9790379adcb9.zip |
media-video/obs-studio: tidy with small fixes
Finishing the last few bits from previous PR.
- python3_10 compat
- migrate to xdg eclass
- drop USE=imagemagick, broken and upstream has deprecated it
- add missing cups for CEF, and alsa-lib if USE=-alsa
- merge duplicate pkg_postinst() that's been there for a long time
- scrubbed python patch, moved pull request ref to it
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'media-video/obs-studio')
-rw-r--r-- | media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch | 12 | ||||
-rw-r--r-- | media-video/obs-studio/obs-studio-27.0.1.ebuild | 80 |
2 files changed, 42 insertions, 50 deletions
diff --git a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch index c4709c654688..d9e328ea4efb 100644 --- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch +++ b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch @@ -1,15 +1,9 @@ -From 413fbe27ee68881f60265f0f2dd670ce42ca220e Mon Sep 17 00:00:00 2001 +https://bugs.gentoo.org/754006 + +https://github.com/obsproject/obs-studio/pull/3335 From: Matt Gajownik <matt@obsproject.com> Date: Tue, 25 Aug 2020 19:28:26 +1000 Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix - -Fixes #2222 ---- - libobs/util/platform-nix.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libobs/util/platform-nix.c b/libobs/util/platform-nix.c -index 26800d52f7c..997b62db1a3 100644 --- a/libobs/util/platform-nix.c +++ b/libobs/util/platform-nix.c @@ -71,7 +71,8 @@ void *os_dlopen(const char *path) diff --git a/media-video/obs-studio/obs-studio-27.0.1.ebuild b/media-video/obs-studio/obs-studio-27.0.1.ebuild index 3ce88e1927c1..56839893506e 100644 --- a/media-video/obs-studio/obs-studio-27.0.1.ebuild +++ b/media-video/obs-studio/obs-studio-27.0.1.ebuild @@ -5,17 +5,17 @@ EAPI=7 CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) + +inherit xdg cmake lua-single python-single-r1 OBS_BROWSER_COMMIT="f1a61c5a2579e5673765c31a47c2053d4b502d4b" CEF_DIR="cef_binary_4280_linux64" -inherit cmake lua-single python-single-r1 xdg-utils - -if [[ ${PV} == *9999 ]]; then +if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" - EGIT_SUBMODULES=( "plugins/obs-browser" ) + 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 )" @@ -28,7 +28,10 @@ HOMEPAGE="https://obsproject.com" LICENSE="GPL-2" SLOT="0" -IUSE="+alsa browser 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} ) @@ -40,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?] @@ -56,14 +59,14 @@ 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 @@ -72,21 +75,22 @@ DEPEND=" 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/libXScrnSaver 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 ) @@ -102,15 +106,17 @@ DEPEND=" 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/swiftshader/libEGL.so - /usr/lib*/obs-plugins/swiftshader/libGLESv2.so + 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" ) # https://github.com/obsproject/obs-studio/pull/3335 +PATCHES=( + "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" +) pkg_setup() { use lua && lua-single_pkg_setup @@ -119,19 +125,19 @@ pkg_setup() { src_unpack() { default - if [[ ${PV} != *9999 ]]; then - if use browser; then - rm -d "${P}/plugins/obs-browser" || die - mv "obs-browser-${OBS_BROWSER_COMMIT}" "${P}/plugins/obs-browser" || die - fi - else + + 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=( + $(usex browser -DCEF_ROOT_DIR=../${CEF_DIR} '') -DBUILD_BROWSER=$(usex browser) -DBUILD_VST=no -DENABLE_WAYLAND=$(usex wayland) @@ -145,24 +151,21 @@ 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} ) fi - if use browser; then - mycmakeargs+=( - -DCEF_ROOT_DIR="../${CEF_DIR}" - ) - fi - if use lua || use python; then mycmakeargs+=( -DDISABLE_LUA=$(usex !lua) @@ -178,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 @@ -203,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" @@ -214,7 +216,3 @@ pkg_postinst() { ewarn "Please report any such issues to the Gentoo maintainer." fi } - -pkg_postrm() { - xdg_icon_cache_update -} |