summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-04 18:56:50 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-04 18:56:50 +0000
commita510605f4c599302839ff7b08ea776d16a139785 (patch)
treeac40da235dbe4d276081e9baa268ec11c1d74589 /dev-python
parent905f4c454f18fab5f155f9f32da7a1186352299e (diff)
downloadbaldeagleos-repo-a510605f4c599302839ff7b08ea776d16a139785.tar.gz
baldeagleos-repo-a510605f4c599302839ff7b08ea776d16a139785.tar.xz
baldeagleos-repo-a510605f4c599302839ff7b08ea776d16a139785.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/authlib/Manifest1
-rw-r--r--dev-python/authlib/authlib-1.5.2.ebuild54
-rw-r--r--dev-python/authlib/metadata.xml22
-rw-r--r--dev-python/lsprotocol/Manifest1
-rw-r--r--dev-python/lsprotocol/lsprotocol-2023.0.1.ebuild30
-rw-r--r--dev-python/lsprotocol/metadata.xml11
-rw-r--r--dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch91
-rw-r--r--dev-python/lxml/lxml-5.4.0-r1.ebuild122
-rw-r--r--dev-python/pyaudio/Manifest1
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.14.ebuild38
-rw-r--r--dev-python/pyproject2ebuild/Manifest2
-rw-r--r--dev-python/pyproject2ebuild/pyproject2ebuild-0.0.2.ebuild (renamed from dev-python/pyproject2ebuild/pyproject2ebuild-0.0.1.ebuild)0
-rw-r--r--dev-python/pysdl3/Manifest1
-rw-r--r--dev-python/pysdl3/metadata.xml10
-rw-r--r--dev-python/pysdl3/pysdl3-0.9.8_beta1.ebuild48
-rw-r--r--dev-python/python-lsp-isort/Manifest2
-rw-r--r--dev-python/python-lsp-isort/python-lsp-isort-0.2.1.ebuild (renamed from dev-python/python-lsp-isort/python-lsp-isort-0.2.0.ebuild)2
-rw-r--r--dev-python/safety-schemas/Manifest1
-rw-r--r--dev-python/safety-schemas/metadata.xml14
-rw-r--r--dev-python/safety-schemas/safety-schemas-0.0.14.ebuild28
-rw-r--r--dev-python/sjcl/sjcl-0.2.1-r1.ebuild7
-rw-r--r--dev-python/typer/Manifest1
-rw-r--r--dev-python/typer/metadata.xml14
-rw-r--r--dev-python/typer/typer-0.15.3.ebuild27
24 files changed, 523 insertions, 5 deletions
diff --git a/dev-python/authlib/Manifest b/dev-python/authlib/Manifest
new file mode 100644
index 000000000000..326d68af9c17
--- /dev/null
+++ b/dev-python/authlib/Manifest
@@ -0,0 +1 @@
+DIST #authlib-1.5.2.tar.gz 3101 BLAKE2B 82203ce4d6463184d05fdbc868f7a00cb4895ed6c393b0f15988f30a9d60a8cb74410fa8e217e39b4c361fb99d99584a5fcb556a37433c51c2636e1f79ddc459 SHA512 77d305f747373f73da81dc9cb0f56bb782d868911e1246700179745645bc8b6b0c2300ae069f16f19d415628d870eb669244fc8257bc653ea78f2d300a67546f
diff --git a/dev-python/authlib/authlib-1.5.2.ebuild b/dev-python/authlib/authlib-1.5.2.ebuild
new file mode 100644
index 000000000000..49d3c71fb31c
--- /dev/null
+++ b/dev-python/authlib/authlib-1.5.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2025
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+DISTUTILS_USE_PEP517="setuptools"
+
+inherit distutils-r1
+
+DESCRIPTION="A Python library in building OAuth and OpenID Connect servers and clients."
+
+HOMEPAGE="https://authlib.org/"
+SRC_URI="https://pypi.org/project/Authlib/#${PN}-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="django flask jose test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ django? (
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+ flask? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ )
+ jose? (
+ >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}]
+ <dev-python/pycryptodome-4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/cachelib[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
+}
diff --git a/dev-python/authlib/metadata.xml b/dev-python/authlib/metadata.xml
new file mode 100644
index 000000000000..02457eacdecd
--- /dev/null
+++ b/dev-python/authlib/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/authlib/authlib/issues</bugs-to>
+ <doc>https://docs.authlib.org/</doc>
+ </upstream>
+ <use>
+ <flag name="django">Enable Django framework support</flag>
+ <flag name="flask">Enable Flask framework support</flag>
+ <flag name="jose">Enable JSON Object Signing and Encryption (JOSE) support via <pkg>dev-python/pycryptodome</pkg></flag>
+ </use>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lsprotocol/Manifest b/dev-python/lsprotocol/Manifest
new file mode 100644
index 000000000000..ebc4788f93e3
--- /dev/null
+++ b/dev-python/lsprotocol/Manifest
@@ -0,0 +1 @@
+DIST lsprotocol-2023.0.1.gh.tar.gz 249558 BLAKE2B 721746afd7f2b639ff008e589388d592b190d2ac7073158018f6e88f015003ded1b9b5def86f10d76a2ffd98d65b4cb917776a5e423e197bd0a0885c3332bacc SHA512 e929125f259240feb757c55a62ca4ee021e9727884dc5b7465894aa5d5a3cf13235f9b863af862ae1f1c04f1eaa3de6356cf7abecc6efa1979facaecbfb45e64
diff --git a/dev-python/lsprotocol/lsprotocol-2023.0.1.ebuild b/dev-python/lsprotocol/lsprotocol-2023.0.1.ebuild
new file mode 100644
index 000000000000..ef80798c7785
--- /dev/null
+++ b/dev-python/lsprotocol/lsprotocol-2023.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Language Server Protocol types code generator & packages"
+HOMEPAGE="
+ https://github.com/microsoft/lsprotocol
+ https://pypi.org/project/lsprotocol/
+"
+SRC_URI="
+ https://github.com/microsoft/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${S}/packages/python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+RESTRICT="test" # Tests only available for the top-level module, which we aren't interested in
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/cattrs[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/lsprotocol/metadata.xml b/dev-python/lsprotocol/metadata.xml
new file mode 100644
index 000000000000..6ce507c50648
--- /dev/null
+++ b/dev-python/lsprotocol/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>moritz.brunner+gentoo@posteo.de</email>
+ <name>Moritz Brunner</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch b/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch
new file mode 100644
index 000000000000..4e7fbac5b4e2
--- /dev/null
+++ b/dev-python/lxml/files/lxml-5.4.0-cython-3.1.patch
@@ -0,0 +1,91 @@
+From 6d5d6aed2e38e1abc625f29c0b3e97fc8c60ae3b Mon Sep 17 00:00:00 2001
+From: Stefan Behnel <stefan_ml@behnel.de>
+Date: Wed, 28 Aug 2024 11:16:55 +0200
+Subject: [PATCH] Avoid custom "tp_new()" call and add a safe-guard that
+ element lookups actually return a type.
+
+---
+ src/lxml/etree.pyx | 12 +++++-------
+ src/lxml/includes/etree_defs.h | 8 ++------
+ src/lxml/python.pxd | 1 -
+ 3 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/src/lxml/etree.pyx b/src/lxml/etree.pyx
+index c21d1343..90579af9 100644
+--- a/src/lxml/etree.pyx
++++ b/src/lxml/etree.pyx
+@@ -1636,11 +1636,6 @@ cdef public class _Element [ type LxmlElementType, object LxmlElement ]:
+ return CSSSelector(expr, translator=translator)(self)
+
+
+-cdef extern from "includes/etree_defs.h":
+- # macro call to 't->tp_new()' for fast instantiation
+- cdef object NEW_ELEMENT "PY_NEW" (object t)
+-
+-
+ @cython.linetrace(False)
+ cdef _Element _elementFactory(_Document doc, xmlNode* c_node):
+ cdef _Element result
+@@ -1650,12 +1645,15 @@ cdef _Element _elementFactory(_Document doc, xmlNode* c_node):
+ if c_node is NULL:
+ return None
+
+- element_class = LOOKUP_ELEMENT_CLASS(
++ element_class = <type> LOOKUP_ELEMENT_CLASS(
+ ELEMENT_CLASS_LOOKUP_STATE, doc, c_node)
++ if type(element_class) is not type:
++ if not isinstance(element_class, type):
++ raise TypeError(f"Element class is not a type, got {type(element_class)}")
+ if hasProxy(c_node):
+ # prevent re-entry race condition - we just called into Python
+ return getProxy(c_node)
+- result = NEW_ELEMENT(element_class)
++ result = element_class.__new__(element_class)
+ if hasProxy(c_node):
+ # prevent re-entry race condition - we just called into Python
+ result._c_node = NULL
+diff --git a/src/lxml/includes/etree_defs.h b/src/lxml/includes/etree_defs.h
+index 17d470d0..8645869f 100644
+--- a/src/lxml/includes/etree_defs.h
++++ b/src/lxml/includes/etree_defs.h
+@@ -177,7 +177,7 @@ long _ftol2( double dblSource ) { return _ftol( dblSource ); }
+
+ #ifdef __GNUC__
+ /* Test for GCC > 2.95 */
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
++#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
+ #define unlikely_condition(x) __builtin_expect((x), 0)
+ #else /* __GNUC__ > 2 ... */
+ #define unlikely_condition(x) (x)
+@@ -190,10 +190,6 @@ long _ftol2( double dblSource ) { return _ftol( dblSource ); }
+ #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
+ #endif
+
+-#define PY_NEW(T) \
+- (((PyTypeObject*)(T))->tp_new( \
+- (PyTypeObject*)(T), __pyx_empty_tuple, NULL))
+-
+ #define _fqtypename(o) ((Py_TYPE(o))->tp_name)
+
+ #define lxml_malloc(count, item_size) \
+@@ -268,7 +264,7 @@ static void* lxml_unpack_xmldoc_capsule(PyObject* capsule, int* is_owned) {
+ * 'inclusive' is 1). The _ELEMENT_ variants will only stop on nodes
+ * that match _isElement(), the normal variant will stop on every node
+ * except text nodes.
+- *
++ *
+ * To traverse the node and all of its children and siblings in Pyrex, call
+ * cdef xmlNode* some_node
+ * BEGIN_FOR_EACH_ELEMENT_FROM(some_node.parent, some_node, 1)
+diff --git a/src/lxml/python.pxd b/src/lxml/python.pxd
+index d0877355..e0ec762e 100644
+--- a/src/lxml/python.pxd
++++ b/src/lxml/python.pxd
+@@ -131,7 +131,6 @@ cdef extern from "includes/etree_defs.h": # redefines some functions as macros
+ cdef void* lxml_unpack_xmldoc_capsule(object capsule, bint* is_owned) except? NULL
+ cdef bint _isString(object obj)
+ cdef const_char* _fqtypename(object t)
+- cdef object PY_NEW(object t)
+ cdef bint IS_PYPY
+ cdef object PyOS_FSPath(object obj)
+
diff --git a/dev-python/lxml/lxml-5.4.0-r1.ebuild b/dev-python/lxml/lxml-5.4.0-r1.ebuild
new file mode 100644
index 000000000000..5cfd3d069c94
--- /dev/null
+++ b/dev-python/lxml/lxml-5.4.0-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.3.0-pypy.patch"
+ # https://github.com/lxml/lxml/commit/6d5d6aed2e38e1abc625f29c0b3e97fc8c60ae3b
+ "${FILESDIR}/${PN}-5.4.0-cython-3.1.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ # disable automagic dep on coverage
+ use doc && emake CYTHON_WITH_COVERAGE= html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ mkdir "${dir}"/../../doc || die
+ # this one needs to be copied, because upstream uses doc/../../../doc
+ cp -r "${S}"/doc "${dir}"/../../ || die
+ ln -s "${S}"/doc "${dir}"/../../../../ || die
+
+ "${EPYTHON}" test.py --no-src -vv --all-levels -p ||
+ die "Tests fail on ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+ optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
+}
diff --git a/dev-python/pyaudio/Manifest b/dev-python/pyaudio/Manifest
index cff08f22e576..940b01551b3d 100644
--- a/dev-python/pyaudio/Manifest
+++ b/dev-python/pyaudio/Manifest
@@ -1 +1,2 @@
DIST PyAudio-0.2.13.tar.gz 46820 BLAKE2B f0c55f4d6d028ab1210c031b6a3808f93f7963a49cf54e4c9ae65bf936f218386d4a43322b9bd645233e6f881e3d15cdcc6ceeb7fe65fd287696048b206cbfbf SHA512 1ae453cae442118ae1b0db44ca8736621a361af3686e47561bffa0d43352039ed5f882412ca22a2a4320b362f966e727b0e38bb9706e99b85d99bc16cc943008
+DIST PyAudio-0.2.14.tar.gz 47066 BLAKE2B 1ff892b922c3a5a1f56da8fbc6d4bdc59b84b8fe80f58f8ee068d79691c0b2d9d241af9ff14ff2d0cda10db44c3f3c637081091bf5d9246ab677430b8f3b1b49 SHA512 2133db0968edcb0d82c6c1922f842d045a32c77998cfae8b38a041c67650cfacf9f6354c8a252db1b5148f73d229940b4c27064b400d2de7ab7e9370f73b8b95
diff --git a/dev-python/pyaudio/pyaudio-0.2.14.ebuild b/dev-python/pyaudio/pyaudio-0.2.14.ebuild
new file mode 100644
index 000000000000..aa46654ecec0
--- /dev/null
+++ b/dev-python/pyaudio/pyaudio-0.2.14.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyAudio"
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517="setuptools"
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for PortAudio"
+HOMEPAGE="https://people.csail.mit.edu/hubert/pyaudio/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Tests work if you have the correct HW device(s) to test.
+RESTRICT="test"
+
+RDEPEND="media-libs/portaudio"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+
+distutils_enable_sphinx sphinx
+distutils_enable_tests unittest
+
+python_test() {
+ elog "These tests require an OS loopback sound device that forwards audio"
+ elog "output, generated by PyAudio for playback, and forwards it to an input"
+ elog "device, which PyAudio can record and verify against a test signal."
+
+ cd tests || die
+ # pyaudio_tests have very complicated runtime requirements, therefore skipping them.
+ "${EPYTHON}" -m unittest error_tests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyproject2ebuild/Manifest b/dev-python/pyproject2ebuild/Manifest
index df445161a6d8..01f929706764 100644
--- a/dev-python/pyproject2ebuild/Manifest
+++ b/dev-python/pyproject2ebuild/Manifest
@@ -1 +1 @@
-DIST pyproject2ebuild-0.0.1.tar.gz 19237 BLAKE2B 156231b06bd40a53d436f5cb9c973da7e13ca14979cbf258799112c94c1604b5288f075520dacdde62ce4b1dfb7af19839eb468a484d827126b2476dce148cfc SHA512 bda132bd24e504f5bc231aa7513408c5f6b40f7258e25d8d8884103bc32fd770895ab12d93aa773ca2ebf19ffe3403bba9d8668c0ee2b08b38034332fbb4999f
+DIST pyproject2ebuild-0.0.2.tar.gz 19935 BLAKE2B 6b39d520af50856c010d8a6854ab8134b7a3972a84672f91736e5f3eb2388fd1d8944dc065dfbd40dcd1680921b1872b07b51f9fa12d083d6e583fc5a617f4a7 SHA512 7404b187a4b7b2d28365fe4a70624b676bae7a990d7da1b40d4362cc3a4a905ca742ccda996f44a917caf85072e362e13744472d1b29b50fa504d9f31e277d84
diff --git a/dev-python/pyproject2ebuild/pyproject2ebuild-0.0.1.ebuild b/dev-python/pyproject2ebuild/pyproject2ebuild-0.0.2.ebuild
index bc4d4523bbd1..bc4d4523bbd1 100644
--- a/dev-python/pyproject2ebuild/pyproject2ebuild-0.0.1.ebuild
+++ b/dev-python/pyproject2ebuild/pyproject2ebuild-0.0.2.ebuild
diff --git a/dev-python/pysdl3/Manifest b/dev-python/pysdl3/Manifest
new file mode 100644
index 000000000000..52be1d885e32
--- /dev/null
+++ b/dev-python/pysdl3/Manifest
@@ -0,0 +1 @@
+DIST pysdl3-0.9.8b1.tar.gz 1419632 BLAKE2B 15e5e6fd35eeb4c4349f9c9616c86a36130da05a31303d9fcc2d2508208f7f5075146404306a61143e7e4fa0d3684a5b34aee05eaa481588a8a7f1c8ff485fe2 SHA512 519cca8833c9e68ad33da3bc5009689d6d22766a0511d61c52486a00fddf9e8677d583edfe6b51a454fed98125e26747c4b5485ac8fc737b3d0d5124e4a4a64a
diff --git a/dev-python/pysdl3/metadata.xml b/dev-python/pysdl3/metadata.xml
new file mode 100644
index 000000000000..56988650ec34
--- /dev/null
+++ b/dev-python/pysdl3/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>davidroman96@gmail.com</email>
+ <name>David Roman</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pysdl3/pysdl3-0.9.8_beta1.ebuild b/dev-python/pysdl3/pysdl3-0.9.8_beta1.ebuild
new file mode 100644
index 000000000000..01bba1cce5f2
--- /dev/null
+++ b/dev-python/pysdl3/pysdl3-0.9.8_beta1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure Python wrapper for SDL3"
+HOMEPAGE="
+ https://pypi.org/project/pysdl3/
+ https://github.com/Aermoss/PySDL3
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+RDEPEND="
+ media-libs/libsdl3
+ ${DEPEND}
+"
+
+src_install() {
+ distutils-r1_src_install
+
+ cat - > 99pysdl3 <<EOF
+SDL_DISABLE_METADATA=1
+SDL_DOC_GENERATOR=0
+SDL_BINARY_PATH=/usr/$(get_libdir)
+EOF
+
+ # Workaround for https://github.com/Aermoss/PySDL3/issues/27
+ doenvd 99pysdl3
+}
+
+python_test() {
+ SDL_DISABLE_METADATA=1 SDL_DOC_GENERATOR=0 SDL_BINARY_PATH="/usr/$(get_libdir)" \
+ ${EPYTHON} -c 'import tests' || die
+}
diff --git a/dev-python/python-lsp-isort/Manifest b/dev-python/python-lsp-isort/Manifest
index 20f11eb72221..569fe251c6fe 100644
--- a/dev-python/python-lsp-isort/Manifest
+++ b/dev-python/python-lsp-isort/Manifest
@@ -1 +1 @@
-DIST python-lsp-isort-0.2.0.gh.tar.gz 5216 BLAKE2B 32d22c97e3c0add1bf808a27a94fda415c1250669130f86c7aab2d81da6fb9a7efc4ad3b23300d8418e0b60d70bd5831958e3427f4489d8d17405885d3ad1e86 SHA512 26b05e8fed70dca268c9ff6714d2b9ad68fda86ab4d9cb8893df1eaefc517e123945c5fe8928e94f646171ff2d0c2f33e9b058a784d2bf4dd31acf9f2aef1e6a
+DIST python-lsp-isort-0.2.1.gh.tar.gz 6391 BLAKE2B 82ed926ac7dede65bbf8cce18f427070811c9c696d1d03d5cef7a3f6ff2e9e6b782c5283d45140537c238d09fd24fdea43c4bc4dad591095aa948f11169d72ab SHA512 5f597632ea21b850b815adc3e2609ad93159813e00380205d843df3d32ab2731cc945988813d86d99f54fe27380730ae899651636c99fddcbff081c1bd58129d
diff --git a/dev-python/python-lsp-isort/python-lsp-isort-0.2.0.ebuild b/dev-python/python-lsp-isort/python-lsp-isort-0.2.1.ebuild
index 7afd0287a601..69378588cce7 100644
--- a/dev-python/python-lsp-isort/python-lsp-isort-0.2.0.ebuild
+++ b/dev-python/python-lsp-isort/python-lsp-isort-0.2.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
diff --git a/dev-python/safety-schemas/Manifest b/dev-python/safety-schemas/Manifest
new file mode 100644
index 000000000000..b2f548bb6c8b
--- /dev/null
+++ b/dev-python/safety-schemas/Manifest
@@ -0,0 +1 @@
+DIST safety_schemas-0.0.14.tar.gz 53216 BLAKE2B 50680713a2530275fa2e093fa426cce12cd9ed1f469c27d8d8a4eec0d663c411e71af35f932c9ff4c86bbc00ee78a0b8cc77c50e42fc59848fb1b1da07bc3dad SHA512 47a4bc3cafff9cc8292898eac278d08f08b07c13f12cf55e97ef8b269aea02072483882e11152b339784595e24ebb3861d8818120f6712d2ec4805d3e770be4e
diff --git a/dev-python/safety-schemas/metadata.xml b/dev-python/safety-schemas/metadata.xml
new file mode 100644
index 000000000000..3fab47b124fa
--- /dev/null
+++ b/dev-python/safety-schemas/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/safety-schemas/safety-schemas-0.0.14.ebuild b/dev-python/safety-schemas/safety-schemas-0.0.14.ebuild
new file mode 100644
index 000000000000..0b2f9a2603f6
--- /dev/null
+++ b/dev-python/safety-schemas/safety-schemas-0.0.14.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2025
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+DISTUTILS_USE_PEP517="hatchling"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Schemas for Safety tools"
+
+HOMEPAGE="https://pypi.org/project/safety-schemas/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ <dev-python/pydantic-2.11[${PYTHON_USEDEP}]
+ >=dev-python/dparse-0.6.4[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.17.21[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+ "
+
+RDEPEND="${DEPEND}"
diff --git a/dev-python/sjcl/sjcl-0.2.1-r1.ebuild b/dev-python/sjcl/sjcl-0.2.1-r1.ebuild
index fb3500765c7f..2d1a975954f1 100644
--- a/dev-python/sjcl/sjcl-0.2.1-r1.ebuild
+++ b/dev-python/sjcl/sjcl-0.2.1-r1.ebuild
@@ -20,9 +20,12 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
-distutils_enable_tests setup.py
-
RDEPEND="
dev-python/pycryptodome[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
+
+python_test() {
+ # Uses unittest which is builtin
+ "${EPYTHON?}" tests/simple.py || die
+}
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
new file mode 100644
index 000000000000..230682e9b5ae
--- /dev/null
+++ b/dev-python/typer/Manifest
@@ -0,0 +1 @@
+DIST typer-0.15.3.tar.gz 101641 BLAKE2B c400974553ecaa1aa8ebeacc0042b50b5c7805dadbeca33225d9bedff415b10ce644b384fc699660a34f1d3a5049ceff67e682a5e7fb5910d7b264b49ce0e4ef SHA512 0562b8305bb8d494112919962aa74ca750ecdef2f70c0fd1f956101d2b81c28e9f31b94c8258eaa7f3cf7c3f685e48c86d8469a63c9d0e65eb1b49d79e6220c6
diff --git a/dev-python/typer/metadata.xml b/dev-python/typer/metadata.xml
new file mode 100644
index 000000000000..3fab47b124fa
--- /dev/null
+++ b/dev-python/typer/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/typer/typer-0.15.3.ebuild b/dev-python/typer/typer-0.15.3.ebuild
new file mode 100644
index 000000000000..abb7e874f7f1
--- /dev/null
+++ b/dev-python/typer/typer-0.15.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2025
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+DISTUTILS_USE_PEP517="hatchling"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typer, build great CLIs. Easy to code. Based on Python type hints."
+
+HOMEPAGE="https://typer.tiangolo.com/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+"
+
+RDEPEND="${DEPEND}"