summaryrefslogtreecommitdiff
path: root/dev-python/yapsy
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/yapsy
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/yapsy')
-rw-r--r--dev-python/yapsy/Manifest1
-rw-r--r--dev-python/yapsy/files/yapsy-1.12.2-py312.patch138
-rw-r--r--dev-python/yapsy/metadata.xml9
-rw-r--r--dev-python/yapsy/yapsy-1.12.2-r2.ebuild34
4 files changed, 182 insertions, 0 deletions
diff --git a/dev-python/yapsy/Manifest b/dev-python/yapsy/Manifest
new file mode 100644
index 000000000000..64feaa44261a
--- /dev/null
+++ b/dev-python/yapsy/Manifest
@@ -0,0 +1 @@
+DIST Yapsy-1.12.2.tar.gz 83986 BLAKE2B e6a2650383a7f0c9bf72d4abf21fffb2abcfdc4115a2a1578a2987b7eef1fc04de9099947c1b9dd510d54a89d9b11f86ac0ca3b13510c6417e94ff92dfec12b6 SHA512 3fdb4de1a6d8f836e22d82354492b99ec9883443c389393d25ea40a08bb0b6ae03db9c947af55237b67764facd4d55a09a36cdba107c8d9202f3700fd55c31fa
diff --git a/dev-python/yapsy/files/yapsy-1.12.2-py312.patch b/dev-python/yapsy/files/yapsy-1.12.2-py312.patch
new file mode 100644
index 000000000000..6842a495af2d
--- /dev/null
+++ b/dev-python/yapsy/files/yapsy-1.12.2-py312.patch
@@ -0,0 +1,138 @@
+From 29286320673f9e853559cf20aeb3456e541afbd4 Mon Sep 17 00:00:00 2001
+From: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+Date: Mon, 6 Feb 2023 13:31:23 +0530
+Subject: [PATCH] Remove Deprecated API's
+
+* Replaced packaging.version instead of distutils.version
+* Replaced imp module to importlib
+
+**Note:** Probably Deprecates Python 2.7 supports, and maybe some initial versions of Python 3.x.
+
+Signed-off-by: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+---
+ test/test_PluginInfo.py | 3 ++-
+ yapsy/PluginInfo.py | 6 +++---
+ yapsy/PluginManager.py | 17 ++++++++++-------
+ yapsy/VersionedPluginManager.py | 8 ++++----
+ 4 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/test/test_PluginInfo.py b/test/test_PluginInfo.py
+index 0863671..29c736a 100644
+--- a/test/test_PluginInfo.py
++++ b/test/test_PluginInfo.py
+@@ -6,6 +6,7 @@ import unittest
+
+
+ from yapsy.PluginInfo import PluginInfo
++from packaging.version import Version
+
+
+ class PluginInfoTest(unittest.TestCase):
+@@ -20,7 +21,7 @@ class PluginInfoTest(unittest.TestCase):
+ self.assertEqual(None,pi.plugin_object)
+ self.assertEqual([],pi.categories)
+ self.assertEqual(None,pi.error)
+- self.assertEqual("0.0",pi.version)
++ self.assertEqual(Version("0.0"),pi.version)
+ self.assertEqual("Unknown",pi.author)
+ self.assertEqual("Unknown",pi.copyright)
+ self.assertEqual("None",pi.website)
+diff --git a/yapsy/PluginInfo.py b/yapsy/PluginInfo.py
+index 69d220e..700374e 100644
+--- a/yapsy/PluginInfo.py
++++ b/yapsy/PluginInfo.py
+@@ -12,7 +12,7 @@ API
+ """
+
+ from yapsy.compat import ConfigParser
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+
+ class PluginInfo(object):
+@@ -105,7 +105,7 @@ class PluginInfo(object):
+
+
+ def __getVersion(self):
+- return StrictVersion(self.details.get("Documentation","Version"))
++ return Version(self.details.get("Documentation","Version"))
+
+ def setVersion(self, vstring):
+ """
+@@ -114,7 +114,7 @@ class PluginInfo(object):
+ Used by subclasses to provide different handling of the
+ version number.
+ """
+- if isinstance(vstring,StrictVersion):
++ if isinstance(vstring,Version):
+ vstring = str(vstring)
+ if not self.details.has_section("Documentation"):
+ self.details.add_section("Documentation")
+diff --git a/yapsy/PluginManager.py b/yapsy/PluginManager.py
+index 81a7c2b..b72de93 100644
+--- a/yapsy/PluginManager.py
++++ b/yapsy/PluginManager.py
+@@ -128,10 +128,7 @@ API
+
+ import sys
+ import os
+-try:
+- import importlib.abc.Loader as imp
+-except ImportError:
+- import imp
++import importlib
+
+ from yapsy import log
+ from yapsy import NormalizePluginNameForModuleName
+@@ -577,11 +574,17 @@ class PluginManager(object):
+ .. note:: Isolated and provided to be reused, but not to be reimplemented !
+ """
+ # use imp to correctly load the plugin as a module
++ candidate_module = None
+ if os.path.isdir(candidate_filepath):
+- candidate_module = imp.load_module(plugin_module_name,None,candidate_filepath,("py","r",imp.PKG_DIRECTORY))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + "/__init__.py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ else:
+- with open(candidate_filepath+".py","r") as plugin_file:
+- candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + ".py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ return candidate_module
+
+ def instanciateElementWithImportInfo(self, element, element_name,
+diff --git a/yapsy/VersionedPluginManager.py b/yapsy/VersionedPluginManager.py
+index 83ad4fd..686a52a 100644
+--- a/yapsy/VersionedPluginManager.py
++++ b/yapsy/VersionedPluginManager.py
+@@ -12,7 +12,7 @@ API
+ """
+
+
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+ from yapsy.PluginInfo import PluginInfo
+ from yapsy.IPlugin import IPlugin
+@@ -27,11 +27,11 @@ class VersionedPluginInfo(PluginInfo):
+
+ def __init__(self, plugin_name, plugin_path):
+ PluginInfo.__init__(self, plugin_name, plugin_path)
+- # version number is now required to be a StrictVersion object
+- self.version = StrictVersion("0.0")
++ # version number is now required to be a Version object
++ self.version = Version("0.0")
+
+ def setVersion(self, vstring):
+- self.version = StrictVersion(vstring)
++ self.version = Version(vstring)
+
+
+ class VersionedPluginManager(PluginManagerDecorator):
+--
+2.42.0
+
diff --git a/dev-python/yapsy/metadata.xml b/dev-python/yapsy/metadata.xml
new file mode 100644
index 000000000000..acfe7097587e
--- /dev/null
+++ b/dev-python/yapsy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
new file mode 100644
index 000000000000..55efc9b6b50a
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P="Yapsy-${PV}"
+DESCRIPTION="A fat-free DIY Python plugin management toolkit"
+HOMEPAGE="
+ https://github.com/tibonihoo/yapsy/
+ https://pypi.org/project/Yapsy/
+"
+SRC_URI="https://downloads.sourceforge.net/yapsy/${MY_P}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/tibonihoo/yapsy/commit/29286320673f9e853559cf20aeb3456e541afbd4
+ "${FILESDIR}/${P}-py312.patch"
+)