public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2017-10-11 21:23 Patrice Clement
  0 siblings, 0 replies; 7+ messages in thread
From: Patrice Clement @ 2017-10-11 21:23 UTC (permalink / raw
  To: gentoo-commits

commit:     82e3d3b953257976714cc144dcd960471caa42a7
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  9 02:16:21 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Wed Oct 11 21:04:18 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82e3d3b9

media-video/obs-studio: add a patch to fix a crash related to net-misc/curl.

Upstream Pull Request: https://github.com/jp9000/obs-studio/pull/1038

Closes: https://bugs.gentoo.org/633596
Closes: https://github.com/gentoo/gentoo/pull/564
Package-Manager: Portage-2.3.11, Repoman-2.3.3

 .../files/obs-studio-20.0.1-fix-curl-crash.patch   |  46 ++++++++
 media-video/obs-studio/obs-studio-20.0.1-r1.ebuild | 121 +++++++++++++++++++++
 2 files changed, 167 insertions(+)

diff --git a/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch b/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch
new file mode 100644
index 00000000000..178bb2e6715
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch
@@ -0,0 +1,46 @@
+From 379137d039e8db4a4f5f4dd8b56aaa21600fe962 Mon Sep 17 00:00:00 2001
+From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
+Date: Tue, 19 Sep 2017 15:33:55 +0200
+Subject: [PATCH] file-updater: fix crash due to network timeout
+
+If there is no network connection, OBS crashes after 5 minutes idling
+with following crash:
+
+*** longjmp causes uninitialized stack frame ***: obs terminated
+======= Backtrace: =========
+/lib64/libc.so.6(+0x6f1e3)[0x7f8f95f901e3]
+/lib64/libc.so.6(__fortify_fail+0x37)[0x7f8f96018ba7]
+/lib64/libc.so.6(+0xf7add)[0x7f8f96018add]
+/lib64/libc.so.6(__longjmp_chk+0x29)[0x7f8f96018a39]
+/usr/lib64/libcurl.so.4(+0xa5d5)[0x7f8f979b75d5]
+/lib64/libpthread.so.0(+0x10e30)[0x7f8f962cae30]
+/lib64/libc.so.6(__poll+0x2d)[0x7f8f95fff46d]
+/usr/lib64/libglib-2.0.so.0(+0x4a64c)[0x7f8f91b5564c]
+/usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7f8f91b5575c]
+/usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5f)[0x7f8f9706c1ff]
+/usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xfa)[0x7f8f9701defa]
+/usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x9c)[0x7f8f970258fc]
+obs(main+0x5ac)[0x4773dc]
+/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f8f95f41700]
+obs(_start+0x29)[0x478389]
+
+Internet search [1] revealed that this is a libcurl bug that can be worked
+around by asking curl not to install signal handlers.
+
+[1] https://stackoverflow.com/a/10755612
+---
+ deps/file-updater/file-updater/file-updater.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/deps/file-updater/file-updater/file-updater.c b/deps/file-updater/file-updater/file-updater.c
+index ec639aeee..b8d649e05 100644
+--- a/deps/file-updater/file-updater/file-updater.c
++++ b/deps/file-updater/file-updater/file-updater.c
+@@ -117,6 +117,7 @@ static bool do_http_request(struct update_info *info, const char *url,
+ 	curl_easy_setopt(info->curl, CURLOPT_WRITEFUNCTION, http_write);
+ 	curl_easy_setopt(info->curl, CURLOPT_WRITEDATA, info);
+ 	curl_easy_setopt(info->curl, CURLOPT_FAILONERROR, true);
++	curl_easy_setopt(info->curl, CURLOPT_NOSIGNAL, 1);
+ 
+ 	if (!info->remote_url) {
+ 		// We only care about headers from the main package file

diff --git a/media-video/obs-studio/obs-studio-20.0.1-r1.ebuild b/media-video/obs-studio/obs-studio-20.0.1-r1.ebuild
new file mode 100644
index 00000000000..d8c5d14af74
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-20.0.1-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils
+
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/jp9000/obs-studio.git"
+	EGIT_SUBMODULES=()
+else
+	SRC_URI="https://github.com/jp9000/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+alsa fdk imagemagick jack pulseaudio truetype v4l"
+
+COMMON_DEPEND="
+	>=dev-libs/jansson-2.5
+	dev-qt/qtcore:5
+	dev-qt/qtdeclarative:5
+	dev-qt/qtgui:5
+	dev-qt/qtmultimedia:5
+	dev-qt/qtnetwork:5
+	dev-qt/qtquickcontrols:5
+	dev-qt/qtsql:5
+	dev-qt/qttest:5
+	dev-qt/qtwidgets:5
+	dev-qt/qtx11extras:5
+	media-video/ffmpeg:=[x264]
+	net-misc/curl
+	x11-libs/libXcomposite
+	x11-libs/libXinerama
+	x11-libs/libXrandr
+	alsa? ( media-libs/alsa-lib )
+	fdk? ( media-libs/fdk-aac:= )
+	imagemagick? ( media-gfx/imagemagick:= )
+	jack? ( virtual/jack )
+	pulseaudio? ( media-sound/pulseaudio )
+	truetype? (
+		media-libs/fontconfig
+		media-libs/freetype
+	)
+	v4l? ( media-libs/libv4l )
+"
+DEPEND="${COMMON_DEPEND}
+	imagemagick? (
+		|| (
+			<media-gfx/imagemagick-7
+			(
+				>=media-gfx/imagemagick-7
+				>=dev-util/cmake-3.9
+			)
+		)
+	)
+"
+RDEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-20.0.1-fix-curl-crash.patch"
+	"${FILESDIR}/${PN}-ImageMagick-header-path.patch"
+)
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+
+src_configure() {
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DDISABLE_ALSA=$(usex !alsa)
+		-DDISABLE_FREETYPE=$(usex !truetype)
+		-DDISABLE_JACK=$(usex !jack)
+		-DDISABLE_LIBFDK=$(usex !fdk)
+		-DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
+		-DDISABLE_V4L2=$(usex !v4l)
+		-DLIBOBS_PREFER_IMAGEMAGICK=$(usex imagemagick)
+		-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+		-DOBS_VERSION_OVERRIDE=${PV}
+		-DUNIX_STRUCTURE=1
+	)
+	cmake-utils_src_configure
+}
+
+pkg_postinst() {
+	gnome2_icon_cache_update
+
+	if ! use alsa && ! use pulseaudio; then
+		elog
+		elog "For the audio capture features to be available,"
+		elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
+		elog "be enabled."
+		elog
+	fi
+
+	if ! has_version "sys-apps/dbus"; then
+		elog
+		elog "The 'sys-apps/dbus' package is not installed, but"
+		elog "could be used for disabling hibernating, screensaving,"
+		elog "and sleeping.  Where it is not installed,"
+		elog "'xdg-screensaver reset' is used instead"
+		elog "(if 'x11-misc/xdg-utils' is installed)."
+		elog
+	fi
+
+	if ! has_version "media-libs/speex"; then
+		elog
+		elog "For the speexdsp-based noise suppression filter"
+		elog "to be available, the 'media-libs/speex' package needs"
+		elog "to be installed."
+		elog
+	fi
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2018-07-13  9:36 Tony Vroon
  0 siblings, 0 replies; 7+ messages in thread
From: Tony Vroon @ 2018-07-13  9:36 UTC (permalink / raw
  To: gentoo-commits

commit:     6b776b26f210470caae41bfdaa53606f156697b5
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  9 01:19:49 2018 +0000
Commit:     Tony Vroon <chainsaw <AT> gentoo <DOT> org>
CommitDate: Fri Jul 13 09:36:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b776b26

media-video/obs-studio: fix build with Qt 5.11

Upstream commit: https://github.com/obsproject/obs-studio/commit/4fd06b98

Closes: https://bugs.gentoo.org/660350
Package-Manager: Portage-2.3.41, Repoman-2.3.9

 .../files/obs-studio-21.0.2-qt-5.11.0.patch        | 28 ++++++++++++++++++++++
 media-video/obs-studio/obs-studio-21.0.2.ebuild    |  2 ++
 2 files changed, 30 insertions(+)

diff --git a/media-video/obs-studio/files/obs-studio-21.0.2-qt-5.11.0.patch b/media-video/obs-studio/files/obs-studio-21.0.2-qt-5.11.0.patch
new file mode 100644
index 00000000000..6eb7f7c3ca8
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-21.0.2-qt-5.11.0.patch
@@ -0,0 +1,28 @@
+From 4fd06b9825465ae5eb2a9b862cdb89098f655f14 Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Sat, 17 Mar 2018 18:16:39 +0200
+Subject: [PATCH] frontend-tools: Include 'QAction' to fix build against Qt
+ 5.11
+
+Some headers are no longer unconditionally included, leading to
+build failures.
+
+http://code.qt.io/cgit/qt/qtbase.git/commit/?id=748836dae80a7d11901f3f0630168829076d11a8
+http://code.qt.io/cgit/qt/qtbase.git/commit/?id=000c76ada5cc21479fc479be16a7507fed6490f8
+http://code.qt.io/cgit/qt/qtbase.git/commit/?id=058474884c2505a8a00d4c59b4922bfcd3597c2f
+---
+ UI/frontend-plugins/frontend-tools/scripts.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/UI/frontend-plugins/frontend-tools/scripts.cpp b/UI/frontend-plugins/frontend-tools/scripts.cpp
+index d923dcf610..364757e48b 100644
+--- a/UI/frontend-plugins/frontend-tools/scripts.cpp
++++ b/UI/frontend-plugins/frontend-tools/scripts.cpp
+@@ -12,6 +12,7 @@
+ #include <QFont>
+ #include <QDialogButtonBox>
+ #include <QResizeEvent>
++#include <QAction>
+ 
+ #include <obs.hpp>
+ #include <obs-module.h>

diff --git a/media-video/obs-studio/obs-studio-21.0.2.ebuild b/media-video/obs-studio/obs-studio-21.0.2.ebuild
index db4647c07d1..a8842b169dc 100644
--- a/media-video/obs-studio/obs-studio-21.0.2.ebuild
+++ b/media-video/obs-studio/obs-studio-21.0.2.ebuild
@@ -55,6 +55,8 @@ COMMON_DEPEND="
 DEPEND="${COMMON_DEPEND}"
 RDEPEND="${COMMON_DEPEND}"
 
+PATCHES="${FILESDIR}/${PN}-21.0.2-qt-5.11.0.patch"
+
 CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2018-07-13  9:36 Tony Vroon
  0 siblings, 0 replies; 7+ messages in thread
From: Tony Vroon @ 2018-07-13  9:36 UTC (permalink / raw
  To: gentoo-commits

commit:     56c84c9c9473e7651089b5d1fd0e64a542f71e69
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 17 22:29:00 2018 +0000
Commit:     Tony Vroon <chainsaw <AT> gentoo <DOT> org>
CommitDate: Fri Jul 13 09:36:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56c84c9c

media-video/obs-studio: add support for scripting

Scripting support for Lua and Python 3 is enabled by automagic, if
the required libraries are found.  This commit adds USE-flags and
a patch that give the user control on whether or not to do so.

Closes: https://bugs.gentoo.org/656956
Package-Manager: Portage-2.3.41, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/9151
Closes: https://bugs.gentoo.org/656956

 .../obs-studio-21.1.2-use-less-automagic.patch     | 167 +++++++++++++++++++++
 media-video/obs-studio/metadata.xml                |   4 +-
 media-video/obs-studio/obs-studio-9999.ebuild      |  26 +++-
 3 files changed, 193 insertions(+), 4 deletions(-)

diff --git a/media-video/obs-studio/files/obs-studio-21.1.2-use-less-automagic.patch b/media-video/obs-studio/files/obs-studio-21.1.2-use-less-automagic.patch
new file mode 100644
index 00000000000..2c28c8e080d
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-21.1.2-use-less-automagic.patch
@@ -0,0 +1,167 @@
+From eee6541153cfb6788ee088181781793de100e54c Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Mon, 9 Jul 2018 02:20:10 +0300
+Subject: [PATCH 1/2] deps/obs-scripting: Use less automagic for Lua/Python
+ detection
+
+This adds build-time options for disabling the Lua and/or Python
+scripting support in cases where users do not wish to build
+it, but have the required libraries installed.
+---
+ deps/obs-scripting/CMakeLists.txt | 73 +++++++++++++++++++------------
+ 1 file changed, 45 insertions(+), 28 deletions(-)
+
+diff --git a/deps/obs-scripting/CMakeLists.txt b/deps/obs-scripting/CMakeLists.txt
+index 835c1b30..46412779 100644
+--- a/deps/obs-scripting/CMakeLists.txt
++++ b/deps/obs-scripting/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ cmake_minimum_required(VERSION 2.8)
+ 
+ if(NOT ENABLE_SCRIPTING)
++	message(STATUS "Scripting plugin disabled")
+ 	return()
+ endif()
+ 
+@@ -11,44 +12,60 @@ if(MSVC)
+ 		w32-pthreads)
+ endif()
+ 
+-find_package(Luajit QUIET)
+-find_package(PythonDeps QUIET)
+-find_package(SwigDeps QUIET 2)
++option(DISABLE_LUA "Disable Lua scripting support" OFF)
++option(DISABLE_PYTHON "Disable Python scripting support" OFF)
+ 
+ set(COMPILE_PYTHON FALSE CACHE BOOL "" FORCE)
+ set(COMPILE_LUA FALSE CACHE BOOL "" FORCE)
+ 
+-if(NOT SWIG_FOUND)
+-	message(STATUS "Scripting: SWIG not found; scripting disabled")
+-	return()
+-endif()
++if(NOT DISABLE_LUA)
++	find_package(Luajit QUIET)
+ 
+-if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
+-	message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
+-	return()
+-endif()
+-
+-if(NOT LUAJIT_FOUND)
+-	message(STATUS "Scripting: Luajit not found; Luajit support disabled")
++	if(NOT DISABLE_LUA AND NOT LUAJIT_FOUND)
++		message(STATUS "Luajit support not found.")
++		set(LUAJIT_FOUND FALSE)
++	else()
++		message(STATUS "Scripting: Luajit supported")
++		set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
++	endif()
+ else()
+-	message(STATUS "Scripting: Luajit supported")
+-	set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
++	message(STATUS "Scripting: Luajit support disabled")
++	set(LUAJIT_FOUND FALSE)
+ endif()
+ 
+-if(NOT PYTHONLIBS_FOUND)
+-	message(STATUS "Scripting: Python 3 not found; Python support disabled")
++if(NOT DISABLE_PYTHON)
++	find_package(PythonDeps QUIET)
++
++	if(NOT DISABLE_PYTHON AND NOT PYTHONLIBS_FOUND)
++		message(STATUS "Python support not found.")
++		set(PYTHON_FOUND FALSE)
++		set(PYTHONLIBS_FOUND FALSE)
++	else()
++		message(STATUS "Scripting: Python 3 supported")
++		set(PYTHON_FOUND TRUE)
++		set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
++
++		get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
++		string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
++
++		if(WIN32)
++			string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
++		endif()
++	endif()
++else()
++	message(STATUS "Scripting: Python 3 support disabled")
+ 	set(PYTHON_FOUND FALSE)
+ 	set(PYTHONLIBS_FOUND FALSE)
+-else()
+-	message(STATUS "Scripting: Python 3 supported")
+-	set(PYTHON_FOUND TRUE)
+-	set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
+-
+-	get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
+-	string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
+-	if(WIN32)
+-		string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
+-	endif()
++endif()
++
++find_package(SwigDeps QUIET 2)
++
++if(NOT SWIG_FOUND)
++	message(STATUS "Scripting: SWIG not found; scripting disabled")
++endif()
++
++if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
++	message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
+ endif()
+ 
+ set(SCRIPTING_ENABLED ON CACHE BOOL "Interal global cmake variable" FORCE)
+-- 
+2.18.0
+
+From 79006adaf2b93ed4ddc07ff236a9ed1fcd09e47f Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Wed, 11 Jul 2018 02:08:51 +0300
+Subject: [PATCH 2/2] obs-filters: Use less automagic for SpeexDSP detection
+
+This adds a build-time option for disabling the SpeexDSP-based
+Noise Suppression filter support in cases where users do not
+wish to build it, but have the required library installed.
+---
+ plugins/obs-filters/CMakeLists.txt | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/obs-filters/CMakeLists.txt b/plugins/obs-filters/CMakeLists.txt
+index ec4289cc..4d862b0a 100644
+--- a/plugins/obs-filters/CMakeLists.txt
++++ b/plugins/obs-filters/CMakeLists.txt
+@@ -1,13 +1,23 @@
+ project(obs-filters)
+ 
+-find_package(Libspeexdsp QUIET)
+-if(LIBSPEEXDSP_FOUND)
+-	set(obs-filters_LIBSPEEXDSP_SOURCES
+-		noise-suppress-filter.c)
+-	set(obs-filters_LIBSPEEXDSP_LIBRARIES
+-		${LIBSPEEXDSP_LIBRARIES})
++option(DISABLE_SPEEXDSP "Disable building of the SpeexDSP-based Noise Suppression filter" OFF)
++
++if(DISABLE_SPEEXDSP)
++	message(STATUS "SpeexDSP support disabled")
++	set(LIBSPEEXDSP_FOUND FALSE)
+ else()
+-	message(STATUS "Speexdsp library not found, speexdsp filters disabled")
++	find_package(Libspeexdsp QUIET)
++
++	if(NOT LIBSPEEXDSP_FOUND)
++		message(STATUS "SpeexDSP support not found")
++		set(LIBSPEEXDSP_FOUND FALSE)
++	else()
++		message(STATUS "SpeexDSP supported")
++		set(obs-filters_LIBSPEEXDSP_SOURCES
++			noise-suppress-filter.c)
++		set(obs-filters_LIBSPEEXDSP_LIBRARIES
++			${LIBSPEEXDSP_LIBRARIES})
++	endif()
+ endif()
+ 
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/obs-filters-config.h.in"
+-- 
+2.18.0
+

diff --git a/media-video/obs-studio/metadata.xml b/media-video/obs-studio/metadata.xml
index 27ed2bccb4c..20792bdd8ba 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -14,7 +14,9 @@
   <use>
     <flag name="fdk">Enable libfdk support for AAC encoding.</flag>
     <flag name="imagemagick">Use ImageMagick for image loading instead of FFmpeg.</flag>
-    <flag name="nvenc">Enable NVENC encoding for nVidia video cards</flag>
+    <flag name="luajit">Build support for scripting via Luajit.</flag>
+    <flag name="nvenc">Enable NVENC encoding for nVidia video cards.</flag>
+    <flag name="python">Build support for scripting via Python 3.</flag>
   </use>
   <upstream>
     <remote-id type="github">jp9000/obs-studio</remote-id>

diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index e030ae7b1d7..b1dee2913b2 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -3,9 +3,10 @@
 
 EAPI=6
 
+PYTHON_COMPAT=( python{3_4,3_5,3_6} )
 CMAKE_MIN_VERSION=3.9.6
 
-inherit cmake-utils gnome2-utils
+inherit cmake-utils gnome2-utils python-any-r1
 
 if [[ ${PV} == *9999 ]]; then
 	inherit git-r3
@@ -21,7 +22,7 @@ HOMEPAGE="https://obsproject.com"
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="+alsa fdk imagemagick jack pulseaudio truetype v4l"
+IUSE="+alsa fdk imagemagick jack luajit nvenc pulseaudio python truetype v4l"
 
 COMMON_DEPEND="
 	>=dev-libs/jansson-2.5
@@ -44,16 +45,24 @@ COMMON_DEPEND="
 	fdk? ( media-libs/fdk-aac:= )
 	imagemagick? ( media-gfx/imagemagick:= )
 	jack? ( virtual/jack )
+	luajit? ( dev-lang/luajit:2 )
+	nvenc? ( media-video/ffmpeg:=[nvenc] )
 	pulseaudio? ( media-sound/pulseaudio )
+	python? ( ${PYTHON_DEPS} )
 	truetype? (
 		media-libs/fontconfig
 		media-libs/freetype
 	)
 	v4l? ( media-libs/libv4l )
 "
-DEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	luajit? ( dev-lang/swig )
+	python? ( dev-lang/swig )
+"
 RDEPEND="${COMMON_DEPEND}"
 
+PATCHES="${FILESDIR}/${PN}-21.1.2-use-less-automagic.patch"
+
 CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
 
 src_configure() {
@@ -69,6 +78,17 @@ src_configure() {
 		-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
 		-DUNIX_STRUCTURE=1
 	)
+
+	if use luajit || use python; then
+		mycmakeargs+=(
+			-DDISABLE_LUA=$(usex !luajit)
+			-DDISABLE_PYTHON=$(usex !python)
+			-DENABLE_SCRIPTING=yes
+		)
+	else
+		mycmakeargs+=( -DENABLE_SCRIPTING=no )
+	fi
+
 	cmake-utils_src_configure
 }
 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2018-12-16 16:16 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2018-12-16 16:16 UTC (permalink / raw
  To: gentoo-commits

commit:     08c20ef7ae4d7408162732528c3edbae45a69637
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 12 13:32:51 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 16 16:13:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08c20ef7

media-video/obs-studio: fix build with USE="fdk"

Upstream: https://github.com/obsproject/obs-studio/commit/cf73fa6d

Closes: https://bugs.gentoo.org/672430
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/obs-studio-22.0.3-fdk-build-fix.patch    | 52 ++++++++++++++++++++++
 media-video/obs-studio/obs-studio-22.0.3.ebuild    |  5 ++-
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/media-video/obs-studio/files/obs-studio-22.0.3-fdk-build-fix.patch b/media-video/obs-studio/files/obs-studio-22.0.3-fdk-build-fix.patch
new file mode 100644
index 00000000000..73329cf8040
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-22.0.3-fdk-build-fix.patch
@@ -0,0 +1,52 @@
+From 5cf2b5fbf925412620e2a40552d6348203851cb3 Mon Sep 17 00:00:00 2001
+From: pkviet <pkv.stream@gmail.com>
+Date: Thu, 29 Nov 2018 21:10:45 +0100
+Subject: [PATCH] obs-libfdk: Compatibility fix for new API
+
+fdk-aac v2.0.0 (aacenc 4.0.0) changes the AACENC_InfoStruct:
+the encoderDelay parameter is replaced by two, nDelay and
+nDelayCore. This patch checks the lib version and adjust the parameter
+accordingly.
+---
+ plugins/obs-libfdk/obs-libfdk.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/plugins/obs-libfdk/obs-libfdk.c b/plugins/obs-libfdk/obs-libfdk.c
+index d6eb496184..94b139de57 100644
+--- a/plugins/obs-libfdk/obs-libfdk.c
++++ b/plugins/obs-libfdk/obs-libfdk.c
+@@ -9,7 +9,6 @@
+ 
+ #include <fdk-aac/aacenc_lib.h>
+ 
+-
+ static const char *libfdk_get_error(AACENC_ERROR err)
+ {
+ 	switch(err) {
+@@ -224,7 +223,7 @@ static bool libfdk_encode(void *data, struct encoder_frame *frame,
+ 	void *in_ptr;
+ 	void *out_ptr;
+ 	AACENC_ERROR err;
+-
++	int64_t encoderDelay;
+ 
+ 	in_ptr = frame->data[0];
+ 	in_size = enc->frame_size_bytes;
+@@ -261,10 +260,13 @@ static bool libfdk_encode(void *data, struct encoder_frame *frame,
+ 	}
+ 
+ 	*received_packet = true;
+-
+-	packet->pts  = enc->total_samples -
+-	               enc->info.encoderDelay; // TODO: Just a guess, find out if that's actualy right
+-	packet->dts  = enc->total_samples - enc->info.encoderDelay;
++#if (AACENCODER_LIB_VL0 >= 4)
++	encoderDelay= enc->info.nDelay;
++#else
++	encoderDelay= enc->info.encoderDelay;
++#endif
++	packet->pts  = enc->total_samples - encoderDelay;
++	packet->dts  = enc->total_samples - encoderDelay;
+ 	packet->data = enc->packet_buffer;
+ 	packet->size = out_args.numOutBytes;
+ 	packet->type = OBS_ENCODER_AUDIO;

diff --git a/media-video/obs-studio/obs-studio-22.0.3.ebuild b/media-video/obs-studio/obs-studio-22.0.3.ebuild
index ba4f33009b6..c15bd0ab071 100644
--- a/media-video/obs-studio/obs-studio-22.0.3.ebuild
+++ b/media-video/obs-studio/obs-studio-22.0.3.ebuild
@@ -67,7 +67,10 @@ DEPEND="${COMMON_DEPEND}
 "
 RDEPEND="${COMMON_DEPEND}"
 
-PATCHES=( "${FILESDIR}/${PN}-21.1.2-use-less-automagic.patch" )
+PATCHES=(
+	"${FILESDIR}/${PN}-21.1.2-use-less-automagic.patch"
+	"${FILESDIR}/${PN}-22.0.3-fdk-build-fix.patch" # bug 672430
+)
 
 CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2021-01-31 15:16 Andreas Sturmlechner
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2021-01-31 15:16 UTC (permalink / raw
  To: gentoo-commits

commit:     d071aba9e0ce3f910469fd95ba391456ae23235a
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 31 14:15:40 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 31 15:01:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d071aba9

media-video/obs-studio: add version 26.1.2

Closes: https://bugs.gentoo.org/745996
Closes: https://bugs.gentoo.org/761939
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/18883
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-video/obs-studio/Manifest                    |   1 +
 .../files/obs-studio-26.1.2-fix-alsa-crash.patch   |  30 ++++
 media-video/obs-studio/obs-studio-26.1.2.ebuild    | 155 +++++++++++++++++++++
 3 files changed, 186 insertions(+)

diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index aa70deb5fcb..fb9bdc10f87 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1 +1,2 @@
 DIST obs-studio-25.0.8.tar.gz 9531713 BLAKE2B 4775ca8305e1beee4d926eff728351b699ca4d52f66e53409dbcfe1f73699df0286fadc0c138cb76b8eb73e70a143719e46f030b6d15d43629bdcbf23bdb88af SHA512 a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08
+DIST obs-studio-26.1.2.tar.gz 16624899 BLAKE2B 655a6c71d3a0ae6ae1fc2d166a148002bb17d6eaec06d5633a10fdbfe7f42e073526ede83cd36ad21c440debe870b41b43724caa00633733f1e196d918304adc SHA512 cd95fbf587f7edfe415cae75299d65c1d771bb118649fb839ae43d77145d87725c23df3360aa7b8c35ab8b62e5ec7983a8b02f8b102caa78f768eb58b4263417

diff --git a/media-video/obs-studio/files/obs-studio-26.1.2-fix-alsa-crash.patch b/media-video/obs-studio/files/obs-studio-26.1.2-fix-alsa-crash.patch
new file mode 100644
index 00000000000..2e52926feba
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-26.1.2-fix-alsa-crash.patch
@@ -0,0 +1,30 @@
+From 41367bb2b4732507248f2b3c2e43e2aa46c5ef2a Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Wed, 30 Dec 2020 03:14:34 +0200
+Subject: [PATCH] UI: Fix crash when no audio backends are available
+
+This commit prevents a crash in, for example, Linux configurations
+where PulseAudio is disabled, which leads into 'mod' being 'null',
+which in turn leads into a segmentation fault when an ALSA source
+is selected.
+
+Closes https://github.com/obsproject/obs-studio/issues/3485
+---
+ UI/context-bar-controls.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/UI/context-bar-controls.cpp b/UI/context-bar-controls.cpp
+index 9dff8979a2..9ef850b6d1 100644
+--- a/UI/context-bar-controls.cpp
++++ b/UI/context-bar-controls.cpp
+@@ -179,6 +179,10 @@ void AudioCaptureToolbar::Init()
+ 
+ 	obs_module_t *mod =
+ 		get_os_module("win-wasapi", "mac-capture", "linux-pulseaudio");
++	if (!mod) {
++		return;
++	}
++
+ 	const char *device_str =
+ 		get_os_text(mod, "Device", "CoreAudio.Device", "Device");
+ 	ui->deviceLabel->setText(device_str);

diff --git a/media-video/obs-studio/obs-studio-26.1.2.ebuild b/media-video/obs-studio/obs-studio-26.1.2.ebuild
new file mode 100644
index 00000000000..9833f5fb6b6
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-26.1.2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+LUA_COMPAT=( luajit )
+# Does not work with 3.8+ https://bugs.gentoo.org/754006
+PYTHON_COMPAT=( python3_7 )
+
+inherit cmake lua-single python-single-r1 xdg-utils
+
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
+	EGIT_SUBMODULES=()
+else
+	SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+alsa fdk imagemagick jack lua nvenc pulseaudio python speex +ssl truetype v4l vlc"
+REQUIRED_USE="
+	lua? ( ${LUA_REQUIRED_USE} )
+	python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+	lua? ( dev-lang/swig )
+	python? ( dev-lang/swig )
+"
+DEPEND="
+	>=dev-libs/jansson-2.5
+	dev-qt/qtcore:5
+	dev-qt/qtdeclarative:5
+	dev-qt/qtgui:5
+	dev-qt/qtmultimedia:5
+	dev-qt/qtnetwork:5
+	dev-qt/qtquickcontrols:5
+	dev-qt/qtsql:5
+	dev-qt/qtsvg:5
+	dev-qt/qtwidgets:5
+	dev-qt/qtx11extras:5
+	dev-qt/qtxml:5
+	media-libs/x264:=
+	media-video/ffmpeg:=[x264]
+	net-misc/curl
+	sys-apps/dbus
+	sys-libs/zlib
+	virtual/udev
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXfixes
+	x11-libs/libXinerama
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	alsa? ( media-libs/alsa-lib )
+	fdk? ( media-libs/fdk-aac:= )
+	imagemagick? ( media-gfx/imagemagick:= )
+	jack? ( virtual/jack )
+	lua? ( ${LUA_DEPS} )
+	nvenc? ( >=media-video/ffmpeg-4[video_cards_nvidia] )
+	pulseaudio? ( media-sound/pulseaudio )
+	python? ( ${PYTHON_DEPS} )
+	speex? ( media-libs/speexdsp )
+	ssl? ( net-libs/mbedtls:= )
+	truetype? (
+		media-libs/fontconfig
+		media-libs/freetype
+	)
+	v4l? ( media-libs/libv4l )
+	vlc? ( media-video/vlc:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-26.1.2-fix-alsa-crash.patch" )
+
+pkg_setup() {
+	use lua && lua-single_pkg_setup
+	use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+	local libdir=$(get_libdir)
+	local mycmakeargs=(
+		-DDISABLE_ALSA=$(usex !alsa)
+		-DDISABLE_FREETYPE=$(usex !truetype)
+		-DDISABLE_JACK=$(usex !jack)
+		-DDISABLE_LIBFDK=$(usex !fdk)
+		-DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
+		-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)
+	)
+
+	if [[ ${PV} != *9999 ]]; then
+		mycmakeargs+=(
+			-DOBS_VERSION_OVERRIDE=${PV}
+		)
+	fi
+
+	if use lua || use python; then
+		mycmakeargs+=(
+			-DDISABLE_LUA=$(usex !lua)
+			-DDISABLE_PYTHON=$(usex !python)
+			-DENABLE_SCRIPTING=yes
+		)
+	else
+		mycmakeargs+=( -DENABLE_SCRIPTING=no )
+	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_icon_cache_update
+
+	if ! use alsa && ! use pulseaudio; then
+		elog
+		elog "For the audio capture features to be available,"
+		elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
+		elog "be enabled."
+		elog
+	fi
+
+	if ! has_version "sys-apps/dbus"; then
+		elog
+		elog "The 'sys-apps/dbus' package is not installed, but"
+		elog "could be used for disabling hibernating, screensaving,"
+		elog "and sleeping.  Where it is not installed,"
+		elog "'xdg-screensaver reset' is used instead"
+		elog "(if 'x11-misc/xdg-utils' is installed)."
+		elog
+	fi
+}
+
+pkg_postrm() {
+	xdg_icon_cache_update
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2021-07-01 16:57 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2021-07-01 16:57 UTC (permalink / raw
  To: gentoo-commits

commit:     2c4e606350f81335053fc77a81bc9790379adcb9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  1 04:56:24 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=2c4e6063

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 <AT> gentoo.org>

 .../files/obs-studio-26.1.2-python-3.8.patch       | 12 +---
 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 c4709c65468..d9e328ea4ef 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 3ce88e1927c..56839893506 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
-}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
@ 2022-04-01 19:43 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2022-04-01 19:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7dcedc667ad80443fc894f4f8aee62ec44785fa0
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  1 18:24:03 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Apr  1 19:42:51 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dcedc66

media-video/obs-studio: remove version 27.1.3

Also remove no longer needed patches.

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/24853
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/obs-studio/Manifest                    |   3 -
 .../files/obs-studio-26.1.2-python-3.8.patch       |  18 --
 .../files/obs-studio-27.1.3-ffmpeg-5.0.patch       | 314 ---------------------
 media-video/obs-studio/obs-studio-27.1.3-r2.ebuild | 214 --------------
 4 files changed, 549 deletions(-)

diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index e6d41f708a76..86c897e4d5f3 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,7 +1,4 @@
-DIST cef_binary_4280_linux64.tar.bz2 79740715 BLAKE2B c648a9a4205094450f9eae407e98cbc3da2b7cd81b3c19c4f52cfa3efcca01dce40528018996c65f026eb97520d78040165d1906b0d19236a86e76ec39c58c26 SHA512 060a5a8716a75b4b96dfb6ac28c132e22b93107915d680311c1b9d4fd12c7712a9e3497338eac6d2b9f4e74f2dc005a75d195c597bba049e4731fe3724f519ba
 DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6 SHA512 2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49
 DIST obs-browser-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 BLAKE2B d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e SHA512 3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb
-DIST obs-browser-aee43000bd994022cd73e32dc50938ab777d4a06.tar.gz 89603 BLAKE2B a51b92f829ecb7055dcf969d6d5bdc4632b51288f0bc7e2ab66fda087da608869ddffccda83aa925f049c79e745a6f67e70ec72303184b970f5009fe37b34054 SHA512 8159ca02b5c30d2733ce8e566f21d6b77d6b7beabd0a5898049ee83b0b4d720b967fc55fcf876cd772fdaa12ca08163a0f8cabf249a9b3b6eb56b7666d1192c7
-DIST obs-studio-27.1.3.tar.gz 15994678 BLAKE2B 5544a1ecdb04dca7f6422936ea5499a206b4beb8e5332605c18cd72a91ce73aa74ff06c49a106931822c1c413ee94d383942f173a71f2b21168a00495b4e301f SHA512 04c11c79e3b091aa9ea8fc6674c9fbcaa1c924fe049f68e9be63f63724c31305d6e4fb33aecdd4d0095d20013e2ee188983f6938b175257368d2260681c2fb39
 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

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
deleted file mode 100644
index d9e328ea4efb..000000000000
--- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-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
---- a/libobs/util/platform-nix.c
-+++ b/libobs/util/platform-nix.c
-@@ -71,7 +71,8 @@ void *os_dlopen(const char *path)
- #ifdef __APPLE__
- 	void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST);
- #else
--	void *res = dlopen(dylib_name.array, RTLD_LAZY);
-+	void *res = dlopen(dylib_name.array,
-+			   RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL);
- #endif
- 	if (!res)
- 		blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path,

diff --git a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch b/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch
deleted file mode 100644
index a529dca715a9..000000000000
--- a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-# https://git.exherbo.org/media.git/commit/?id=10c891cb37f4f7e42e95a00b27a5d4636266353e
-# https://git.exherbo.org/media.git/commit/?id=e888c31724357431dbd0e73014ca87a552850d45
-
-From 08547a1696fa381d0bda18aed57b9f87a6b1b334 Mon Sep 17 00:00:00 2001
-From: Ryan Foster <RytoEX@gmail.com>
-Date: Sat, 6 Nov 2021 18:57:35 -0400
-Subject: [PATCH] obs-ffmpeg: Include avcodec header for AVCodecContext
-
-FFmpeg commit e67e02d15672 [1] drops avcodec.h from avformat.h includes.
-Therefore we need to include it explicitly.
-
-[1]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33
-     lavf/avformat.h: drop the avcodec.h include
----
- plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 +
- plugins/obs-ffmpeg/obs-ffmpeg-formats.h    | 2 ++
- plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c      | 1 +
- plugins/obs-ffmpeg/obs-ffmpeg-output.h     | 1 +
- 4 files changed, 5 insertions(+)
-
-diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-index 1c160ced4b1f..e4c6cdb9fa2f 100644
---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-@@ -27,6 +27,7 @@
- #include "ffmpeg-mux.h"
- 
- #include <util/dstr.h>
-+#include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
- 
- #define ANSI_COLOR_RED "\x1b[0;91m"
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
-index 62e3866d037a..b40ef37293b4 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
-@@ -1,5 +1,7 @@
- #pragma once
- 
-+#include <libavcodec/avcodec.h>
-+
- static inline int64_t rescale_ts(int64_t val, AVCodecContext *context,
- 				 AVRational new_base)
- {
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
-index f2d93d2def89..e66010ce5f9c 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
-@@ -24,6 +24,7 @@
- 
- #include <libavutil/opt.h>
- #include <libavutil/pixdesc.h>
-+#include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
- 
- #include "obs-ffmpeg-formats.h"
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.h b/plugins/obs-ffmpeg/obs-ffmpeg-output.h
-index 99f4dcd13b44..72d89dfacc4c 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.h
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.h
-@@ -2,6 +2,7 @@
- 
- #include <libavutil/opt.h>
- #include <libavutil/pixdesc.h>
-+#include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
- #include <libswscale/swscale.h>
- 
-From abf1d609d29196921df8f09ab6e07340b7cf9660 Mon Sep 17 00:00:00 2001
-From: Ryan Foster <RytoEX@gmail.com>
-Date: Sat, 6 Nov 2021 18:58:05 -0400
-Subject: [PATCH] obs-ffmpeg: Include channel_layout.h
-
-avcodec.h stopped including channel_layout.h per FFmpeg commit
-1be3d8a0cb77 [1]. avformat.h stopped including avcodec.h per FFmpeg
-commit e67e02d15672 [2]. As a result, we need to explicitly include
-avutil/channel_layout.h when needed. Fixes compilation error against
-FFmpeg later than the two mentioned commits.
-
-[1]: https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7
-[2]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33
----
- plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
-index 2e3899464362..cbcb9ac31bcb 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
-@@ -21,6 +21,7 @@
- #include <util/dstr.h>
- #include <obs-module.h>
- 
-+#include <libavutil/channel_layout.h>
- #include <libavutil/opt.h>
- #include <libavformat/avformat.h>
-
-From ce734366bc0b95ff91930f463e7ebe528cf8eabf Mon Sep 17 00:00:00 2001
-From: Ryan Foster <RytoEX@gmail.com>
-Date: Sat, 6 Nov 2021 18:58:36 -0400
-Subject: [PATCH] obs-ffmpeg: Respect AVFormatContext and AVOutputFormat
- constness
-
-AVFormatContext::oformat was made const on April 27, 2021 [1]. If we
-respect the constness of AVOutputFormat and do not cast results from
-FFmpeg functions to non-const, we cannot modify the results after the
-fact. Our choices are either to cast them to non-const (and presumably
-have them implicitly casted back to const on later function calls), or
-only try to modify the results in versions of FFmpeg where these are not
-expected to be const.
-
-Instead of relying on casts, we can set the encoder values in the
-ffmpeg_cfg struct, which are later passed to new_stream.
-
-Also modifies deps/media-playback. Removes compiler warnings.
-Some avformat functions return const AV(In/Out)putFormat per [1], so
-ifdef as needed.
-
-[1]: https://github.com/FFmpeg/FFmpeg/commit/56450a0ee4fdda160f4039fc2ae33edfd27765c9
-     lavf 59.0.100 avformat.h
-     avformat: Constify the API wrt AV(In|Out)putFormat
-
-     Also constify AVProbeData.
----
- deps/media-playback/media-playback/media.c |  4 ++++
- plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 10 ++++++++++
- plugins/obs-ffmpeg/obs-ffmpeg-output.c     | 19 ++++++++++++++++++-
- 3 files changed, 32 insertions(+), 1 deletion(-)
-
-diff --git a/deps/media-playback/media-playback/media.c b/deps/media-playback/media-playback/media.c
-index 9041b62e9cdd..a09b58ed5d10 100644
---- a/deps/media-playback/media-playback/media.c
-+++ b/deps/media-playback/media-playback/media.c
-@@ -608,7 +608,11 @@ static int interrupt_callback(void *data)
- 
- static bool init_avformat(mp_media_t *m)
- {
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- 	AVInputFormat *format = NULL;
-+#else
-+	const AVInputFormat *format = NULL;
-+#endif
- 
- 	if (m->format_name && *m->format_name) {
- 		format = av_find_input_format(m->format_name);
-diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-index e4c6cdb9fa2f..ffce3ee33eec 100644
---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-@@ -565,7 +565,11 @@ static inline bool ffmpeg_mux_get_extra_data(struct ffmpeg_mux *ffm)
- 
- static inline int open_output_file(struct ffmpeg_mux *ffm)
- {
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- 	AVOutputFormat *format = ffm->output->oformat;
-+#else
-+	const AVOutputFormat *format = ffm->output->oformat;
-+#endif
- 	int ret;
- 
- 	if ((format->flags & AVFMT_NOFILE) == 0) {
-@@ -631,7 +635,11 @@ static bool ffmpeg_mux_is_network(struct ffmpeg_mux *ffm)
- 
- static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm)
- {
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- 	AVOutputFormat *output_format;
-+#else
-+	const AVOutputFormat *output_format;
-+#endif
- 	int ret;
- 	bool is_http = false;
- 	is_http = (strncmp(ffm->params.file, HTTP_PROTO,
-@@ -665,8 +673,10 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm)
- 		return FFM_ERROR;
- 	}
- 
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- 	ffm->output->oformat->video_codec = AV_CODEC_ID_NONE;
- 	ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE;
-+#endif
- 
- 	if (!init_streams(ffm)) {
- 		free_avformat(ffm);
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-index 6bc1637b1796..7447e952b9c2 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-@@ -543,6 +543,7 @@ static enum AVCodecID get_codec_id(const char *name, int id)
- 	return codec->id;
- }
- 
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- static void set_encoder_ids(struct ffmpeg_data *data)
- {
- 	data->output->oformat->video_codec = get_codec_id(
-@@ -551,6 +552,7 @@ static void set_encoder_ids(struct ffmpeg_data *data)
- 	data->output->oformat->audio_codec = get_codec_id(
- 		data->config.audio_encoder, data->config.audio_encoder_id);
- }
-+#endif
- 
- bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
- {
-@@ -570,7 +572,13 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
- 
- 	is_rtmp = (astrcmpi_n(config->url, "rtmp://", 7) == 0);
- 
--	AVOutputFormat *output_format = av_guess_format(
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
-+	AVOutputFormat *output_format;
-+#else
-+	const AVOutputFormat *output_format;
-+#endif
-+
-+	output_format = av_guess_format(
- 		is_rtmp ? "flv" : data->config.format_name, data->config.url,
- 		is_rtmp ? NULL : data->config.format_mime_type);
- 
-@@ -596,6 +604,7 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
- 		goto fail;
- 	}
- 
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
- 	if (is_rtmp) {
- 		data->output->oformat->video_codec = AV_CODEC_ID_H264;
- 		data->output->oformat->audio_codec = AV_CODEC_ID_AAC;
-@@ -603,6 +612,14 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
- 		if (data->config.format_name)
- 			set_encoder_ids(data);
- 	}
-+#else
-+	if (is_rtmp) {
-+		data->config.audio_encoder = "aac";
-+		data->config.audio_encoder_id = AV_CODEC_ID_AAC;
-+		data->config.video_encoder = "libx264";
-+		data->config.video_encoder_id = AV_CODEC_ID_H264;
-+	}
-+#endif
- 
- 	if (!init_streams(data))
- 		goto fail;
-
-From d78971b4db34d5fffbd11d2acabf37a65e11cd58 Mon Sep 17 00:00:00 2001
-From: pkv <pkv@obsproject.com>
-Date: Fri, 17 Dec 2021 20:52:11 +0100
-Subject: [PATCH] obs-ffmpeg: Further FFmpeg deprecations fixes for FFmpeg 4.4+
-
-avcodec.h stopped including channel_layout.h per FFmpeg commit
-1be3d8a0cb77 [1]. Fixes compilation error on macOS against
-FFmpeg later than the mentioned commit.
-[1] https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7
----
- plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 +
- plugins/obs-ffmpeg/obs-ffmpeg-output.c     | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-index c07e22abe266..db26cb425ce5 100644
---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
-@@ -29,6 +29,7 @@
- #include <util/dstr.h>
- #include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
-+#include <libavutil/channel_layout.h>
- 
- #define ANSI_COLOR_RED "\x1b[0;91m"
- #define ANSI_COLOR_MAGENTA "\x1b[0;95m"
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-index d3637ebbb59b..7d1f12a60393 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
-@@ -25,6 +25,7 @@
- #include "obs-ffmpeg-output.h"
- #include "obs-ffmpeg-formats.h"
- #include "obs-ffmpeg-compat.h"
-+#include <libavutil/channel_layout.h>
- 
- struct ffmpeg_output {
- 	obs_output_t *output;
-	
-From c398ac9739a82bc95632eef9544dd0fb5bc5f0cf Mon Sep 17 00:00:00 2001
-From: pkv <pkv@obsproject.com>
-Date: Sat, 6 Nov 2021 18:59:37 -0400
-Subject: [PATCH] obs-ffmpeg: Fix NVENC old codec naming removed in FFmpeg
-
-Per FFmpeg commit 337f777f378c [1], FFmpeg removed nvenc_h264_encoder
-and nvenc_hevc_encoder after deprecation in FFmpeg commit 888a5c794778
-[2]. The names to be used are ff_h264_nvenc_encoder and
-ff_hevc_nvenc_encoder. So we must allow alternative search of codec as
-h264_nvenc or nvenc_h264 in obs-ffmpeg.c.
-
-[1]: https://github.com/FFmpeg/FFmpeg/commit/337f777f378cfcc0d6f0d01fb7125905e8b0da55
-[2]: https://github.com/FFmpeg/FFmpeg/commit/888a5c794778a2f2aad22e9b4a3952dff92b11fa
----
- plugins/obs-ffmpeg/obs-ffmpeg.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c
-index 7330b2273544..399c5bfa64b6 100644
---- a/plugins/obs-ffmpeg/obs-ffmpeg.c
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
-@@ -180,7 +180,9 @@ static bool nvenc_supported(void)
- 	bool success = false;
- 
- 	if (!nvenc) {
--		goto cleanup;
-+		nvenc = avcodec_find_encoder_by_name("h264_nvenc");
-+		if (!nvenc)
-+			goto cleanup;
- 	}
- 
- #if defined(_WIN32)

diff --git a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild b/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild
deleted file mode 100644
index a018ce0e7966..000000000000
--- a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# 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..10} )
-
-inherit cmake lua-single python-single-r1 xdg
-
-OBS_BROWSER_COMMIT="aee43000bd994022cd73e32dc50938ab777d4a06"
-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=( 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 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} )
-"
-
-BDEPEND="
-	lua? ( dev-lang/swig )
-	python? ( dev-lang/swig )
-"
-DEPEND="
-	dev-libs/glib:2
-	dev-libs/jansson:=
-	dev-qt/qtcore:5
-	dev-qt/qtdeclarative:5
-	dev-qt/qtgui:5[wayland?]
-	dev-qt/qtmultimedia:5
-	dev-qt/qtnetwork:5
-	dev-qt/qtquickcontrols:5
-	dev-qt/qtsql:5
-	dev-qt/qtsvg:5
-	dev-qt/qtwidgets:5
-	dev-qt/qtx11extras:5
-	dev-qt/qtxml:5
-	media-libs/libglvnd
-	media-libs/x264:=
-	media-video/ffmpeg:=[nvenc?,x264]
-	net-misc/curl
-	sys-apps/dbus
-	sys-libs/zlib:=
-	virtual/udev
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXfixes
-	x11-libs/libXinerama
-	x11-libs/libXrandr
-	x11-libs/libxcb:=
-	alsa? ( media-libs/alsa-lib )
-	browser? (
-		app-accessibility/at-spi2-atk
-		app-accessibility/at-spi2-core:2
-		dev-libs/atk
-		dev-libs/expat
-		dev-libs/glib
-		dev-libs/nspr
-		dev-libs/nss
-		media-libs/alsa-lib
-		media-libs/fontconfig
-		media-libs/mesa[gbm(+)]
-		net-print/cups
-		x11-libs/libdrm
-		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:= )
-	jack? ( virtual/jack )
-	lua? ( ${LUA_DEPS} )
-	pipewire? ( media-video/pipewire:= )
-	pulseaudio? ( media-sound/pulseaudio )
-	python? ( ${PYTHON_DEPS} )
-	speex? ( media-libs/speexdsp )
-	ssl? ( net-libs/mbedtls:= )
-	truetype? (
-		media-libs/fontconfig
-		media-libs/freetype
-	)
-	v4l? ( media-libs/libv4l )
-	vlc? ( media-video/vlc:= )
-	wayland? ( dev-libs/wayland )
-"
-RDEPEND="${DEPEND}"
-
-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"
-	"${FILESDIR}/${PN}-27.1.3-ffmpeg-5.0.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=(
-		$(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
-		-DBUILD_BROWSER=$(usex browser)
-		-DBUILD_VST=no
-		-DENABLE_WAYLAND=$(usex wayland)
-		-DDISABLE_ALSA=$(usex !alsa)
-		-DDISABLE_DECKLINK=$(usex !decklink)
-		-DDISABLE_FREETYPE=$(usex !truetype)
-		-DDISABLE_JACK=$(usex !jack)
-		-DDISABLE_LIBFDK=$(usex !fdk)
-		-DENABLE_PIPEWIRE=$(usex pipewire)
-		-DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
-		$(cmake_use_find_package pulseaudio PulseAudio)
-		-DDISABLE_SPEEXDSP=$(usex !speex)
-		-DDISABLE_V4L2=$(usex !v4l)
-		-DDISABLE_VLC=$(usex !vlc)
-		-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
-		mycmakeargs+=(
-			-DOBS_VERSION_OVERRIDE=${PV}
-		)
-	fi
-
-	if use lua || use python; then
-		mycmakeargs+=(
-			-DDISABLE_LUA=$(usex !lua)
-			-DDISABLE_PYTHON=$(usex !python)
-			-DENABLE_SCRIPTING=yes
-		)
-	else
-		mycmakeargs+=( -DENABLE_SCRIPTING=no )
-	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 "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
-		elog "be enabled."
-		elog
-	fi
-
-	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"
-		ewarn "may cause other issues."
-		ewarn ""
-		ewarn "Please report any such issues to the Gentoo maintainer."
-	fi
-}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-04-01 19:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-11 21:23 [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/ Patrice Clement
  -- strict thread matches above, loose matches on Subject: below --
2018-07-13  9:36 Tony Vroon
2018-07-13  9:36 Tony Vroon
2018-12-16 16:16 Andreas Sturmlechner
2021-01-31 15:16 Andreas Sturmlechner
2021-07-01 16:57 Ionen Wolkens
2022-04-01 19:43 Ionen Wolkens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox