commit:     d15e2b644efa1addd6de1e1c25452e325cbd84ea
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 28 07:06:02 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri May  7 20:58:08 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d15e2b64

media-video/obs-studio: raise python support to 3.8 and 3.9

With a patch.

Closes: https://bugs.gentoo.org/754006
Closes: https://bugs.gentoo.org/784989
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/20574
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/obs-studio-26.1.2-python-3.8.patch       | 24 ++++++++++++++++++++++
 ...dio-9999.ebuild => obs-studio-26.1.2-r1.ebuild} | 20 +++++++++++++++---
 media-video/obs-studio/obs-studio-9999.ebuild      | 17 ++++++++++++---
 3 files changed, 55 insertions(+), 6 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
new file mode 100644
index 00000000000..c4709c65468
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
@@ -0,0 +1,24 @@
+From 413fbe27ee68881f60265f0f2dd670ce42ca220e Mon Sep 17 00:00:00 2001
+From: Matt Gajownik <[email protected]>
+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)
+ #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/obs-studio-9999.ebuild 
b/media-video/obs-studio/obs-studio-26.1.2-r1.ebuild
similarity index 86%
copy from media-video/obs-studio/obs-studio-9999.ebuild
copy to media-video/obs-studio/obs-studio-26.1.2-r1.ebuild
index e9173352238..3e12ab881f7 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-26.1.2-r1.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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 )
+PYTHON_COMPAT=( python3_{7..9} )
 
 inherit cmake lua-single python-single-r1 xdg-utils
 
@@ -78,6 +77,11 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}/${PN}-26.1.2-fix-alsa-crash.patch"
+       "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" # 
https://github.com/obsproject/obs-studio/pull/3335
+)
+
 pkg_setup() {
        use lua && lua-single_pkg_setup
        use python && python-single-r1_pkg_setup
@@ -148,6 +152,16 @@ pkg_postinst() {
        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"
+               ewarn "may cause other issues."
+               ewarn ""
+               ewarn "Please report any such issues to the Gentoo maintainer."
+       fi
+}
+
 pkg_postrm() {
        xdg_icon_cache_update
 }

diff --git a/media-video/obs-studio/obs-studio-9999.ebuild 
b/media-video/obs-studio/obs-studio-9999.ebuild
index e9173352238..c6e7b77ff6b 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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 )
+PYTHON_COMPAT=( python3_{7..9} )
 
 inherit cmake lua-single python-single-r1 xdg-utils
 
@@ -78,6 +77,8 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=( "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" ) # 
https://github.com/obsproject/obs-studio/pull/3335
+
 pkg_setup() {
        use lua && lua-single_pkg_setup
        use python && python-single-r1_pkg_setup
@@ -148,6 +149,16 @@ pkg_postinst() {
        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"
+               ewarn "may cause other issues."
+               ewarn ""
+               ewarn "Please report any such issues to the Gentoo maintainer."
+       fi
+}
+
 pkg_postrm() {
        xdg_icon_cache_update
 }

Reply via email to