commit:     c0c8d8ab023fcd17769203ee7af06468bb01e35c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  2 02:16:08 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  2 02:16:08 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0c8d8ab

dev-libs/libratbag: enable py3.12

Closes: https://bugs.gentoo.org/929423
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libratbag-0.17-python3.12-imp.patch      | 36 ++++++++++++++++++++++
 ...ratbag-9999.ebuild => libratbag-0.17-r2.ebuild} |  6 +++-
 dev-libs/libratbag/libratbag-9999.ebuild           |  2 +-
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch 
b/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch
new file mode 100644
index 000000000000..2a6906aabf3d
--- /dev/null
+++ b/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/929423
+--- a/tools/toolbox.py
++++ b/tools/toolbox.py
+@@ -21,7 +21,8 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+ 
+-import imp
++import importlib.util
++import importlib.machinery
+ import os
+ import subprocess
+ import sys
+@@ -45,8 +46,11 @@ def import_non_standard_path(name, path):
+     # If any of the following calls raises an exception,
+     # there's a problem we can't handle -- let the caller handle it.
+ 
+-    with open(path, 'rb') as fp:
+-        module = imp.load_module(name, fp, os.path.basename(path), ('.py', 
'rb', imp.PY_SOURCE))
++    loader = importlib.machinery.SourceFileLoader(name, path)
++    spec = importlib.util.spec_from_file_location(name, path, loader=loader)
++    module = importlib.util.module_from_spec(spec)
++    sys.modules[name] = module
++    loader.exec_module(module)
+ 
+     return module
+ 
+@@ -107,7 +111,7 @@ def sync_dbus():
+         main_context.iteration(False)
+ 
+ 
+-ratbagctl = import_non_standard_path(RATBAGCTL_NAME, RATBAGCTL_PATH)
++import_non_standard_path(RATBAGCTL_NAME, RATBAGCTL_PATH)
+ 
+ from ratbagctl import open_ratbagd, get_parser, RatbagError, 
RatbagErrorCapability  # NOQA
+ 

diff --git a/dev-libs/libratbag/libratbag-9999.ebuild 
b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
similarity index 95%
copy from dev-libs/libratbag/libratbag-9999.ebuild
copy to dev-libs/libratbag/libratbag-0.17-r2.ebuild
index e1cf833f0ff6..7620f30d382d 100644
--- a/dev-libs/libratbag/libratbag-9999.ebuild
+++ b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 
 inherit meson python-single-r1 systemd udev
 
@@ -67,6 +67,10 @@ DEPEND="
        dev-libs/gobject-introspection
 "
 
+PATCHES=(
+       "${FILESDIR}"/libratbag-0.17-python3.12-imp.patch
+)
+
 src_prepare() {
        default
 

diff --git a/dev-libs/libratbag/libratbag-9999.ebuild 
b/dev-libs/libratbag/libratbag-9999.ebuild
index e1cf833f0ff6..47fc210ab543 100644
--- a/dev-libs/libratbag/libratbag-9999.ebuild
+++ b/dev-libs/libratbag/libratbag-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 
 inherit meson python-single-r1 systemd udev
 

Reply via email to