summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-12-05 06:39:30 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-12-05 06:39:30 +0000
commitd9af447f4fbcf1081e40b9c10b74d82a369b7291 (patch)
tree55cd31c502f37575e82d34553faba76bd018e75c /dev-python
parent6ded8acc59e20d0d8000d804b83fdebe84f51953 (diff)
downloadbaldeagleos-repo-d9af447f4fbcf1081e40b9c10b74d82a369b7291.tar.gz
baldeagleos-repo-d9af447f4fbcf1081e40b9c10b74d82a369b7291.tar.xz
baldeagleos-repo-d9af447f4fbcf1081e40b9c10b74d82a369b7291.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyQt6/Manifest1
-rw-r--r--dev-python/PyQt6/PyQt6-6.6.1.ebuild175
-rw-r--r--dev-python/QtPy/QtPy-2.3.1-r1.ebuild1
-rw-r--r--dev-python/QtPy/QtPy-2.3.1.ebuild1
-rw-r--r--dev-python/QtPy/QtPy-2.4.0-r1.ebuild1
-rw-r--r--dev-python/QtPy/QtPy-2.4.0.ebuild1
-rw-r--r--dev-python/QtPy/QtPy-2.4.1-r1.ebuild1
-rw-r--r--dev-python/ansi2html/ansi2html-1.8.0-r3.ebuild (renamed from dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild)3
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-2.8.4.ebuild24
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.33.7.ebuild64
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.33.7.ebuild68
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.83.4.ebuild65
-rw-r--r--dev-python/chameleon/Manifest1
-rw-r--r--dev-python/chameleon/chameleon-4.3.0.ebuild28
-rw-r--r--dev-python/django-cache-url/Manifest1
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.5.ebuild36
-rw-r--r--dev-python/django-tables2/django-tables2-2.6.0.ebuild3
-rw-r--r--dev-python/django/Manifest2
-rw-r--r--dev-python/django/django-4.2.8.ebuild98
-rw-r--r--dev-python/dulwich/dulwich-0.21.6-r1.ebuild (renamed from dev-python/dulwich/dulwich-0.21.6.ebuild)1
-rw-r--r--dev-python/freezegun/Manifest2
-rw-r--r--dev-python/freezegun/freezegun-1.3.0.ebuild35
-rw-r--r--dev-python/freezegun/freezegun-1.3.1.ebuild35
-rw-r--r--dev-python/gdb-pt-dump/Manifest1
-rw-r--r--dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild31
-rw-r--r--dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild31
-rw-r--r--dev-python/gdb-pt-dump/metadata.xml14
-rw-r--r--dev-python/glcontext/Manifest2
-rw-r--r--dev-python/glcontext/glcontext-2.5.0.ebuild (renamed from dev-python/glcontext/glcontext-2.4.0.ebuild)2
-rw-r--r--dev-python/glfw/Manifest2
-rw-r--r--dev-python/glfw/glfw-2.6.3.ebuild (renamed from dev-python/glfw/glfw-2.6.2.ebuild)2
-rw-r--r--dev-python/icecream/Manifest1
-rw-r--r--dev-python/icecream/icecream-2.1.3.ebuild34
-rw-r--r--dev-python/icecream/metadata.xml10
-rw-r--r--dev-python/importlib-metadata/Manifest2
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-6.11.0.ebuild50
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-7.0.0.ebuild50
-rw-r--r--dev-python/invoke/Manifest2
-rw-r--r--dev-python/invoke/invoke-2.0.0.ebuild21
-rw-r--r--dev-python/invoke/invoke-2.2.0.ebuild33
-rw-r--r--dev-python/markdown2/Manifest1
-rw-r--r--dev-python/markdown2/markdown2-2.4.11.ebuild31
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.2-r1.ebuild (renamed from dev-python/matplotlib/matplotlib-3.8.2.ebuild)1
-rw-r--r--dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild2
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild2
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild2
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild2
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild2
-rw-r--r--dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.0.ebuild8
-rw-r--r--dev-python/olefile/Manifest1
-rw-r--r--dev-python/olefile/olefile-0.47.ebuild28
-rw-r--r--dev-python/path/Manifest1
-rw-r--r--dev-python/path/path-16.9.0.ebuild37
-rw-r--r--dev-python/pipx/Manifest1
-rw-r--r--dev-python/pipx/pipx-1.3.2.ebuild47
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-4.1.0.ebuild49
-rw-r--r--dev-python/pycpio/Manifest1
-rw-r--r--dev-python/pycpio/metadata.xml10
-rw-r--r--dev-python/pycpio/pycpio-0.5.6.ebuild21
-rw-r--r--dev-python/pygdbmi/Manifest2
-rw-r--r--dev-python/pygdbmi/metadata.xml14
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0-r1.ebuild22
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild31
-rw-r--r--dev-python/pynvim/Manifest1
-rw-r--r--dev-python/pynvim/pynvim-0.5.0.ebuild35
-rw-r--r--dev-python/pytest-asyncio/Manifest2
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.2.ebuild (renamed from dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild)0
-rw-r--r--dev-python/pytest-relaxed/Manifest1
-rw-r--r--dev-python/pytest-relaxed/metadata.xml10
-rw-r--r--dev-python/pytest-relaxed/pytest-relaxed-2.0.1.ebuild24
-rw-r--r--dev-python/python-mpd2/python-mpd2-3.1.0.ebuild1
-rw-r--r--dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch254
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild5
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild1
-rw-r--r--dev-python/setuptools/setuptools-69.0.2-r1.ebuild (renamed from dev-python/setuptools/setuptools-69.0.2.ebuild)1
-rw-r--r--dev-python/shapely/files/shapely-2.0.2-c99.patch19
-rw-r--r--dev-python/shapely/shapely-2.0.2-r1.ebuild50
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-19.8.3.ebuild42
-rw-r--r--dev-python/textile/textile-4.0.2-r1.ebuild (renamed from dev-python/textile/textile-4.0.2.ebuild)1
-rw-r--r--dev-python/websocket-client/Manifest1
-rw-r--r--dev-python/websocket-client/websocket-client-1.7.0.ebuild37
-rw-r--r--dev-python/zenlib/Manifest2
-rw-r--r--dev-python/zenlib/zenlib-1.2.0.ebuild (renamed from dev-python/zenlib/zenlib-1.0.0.ebuild)0
89 files changed, 1667 insertions, 77 deletions
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index 165135d4b840..7d5674a845d7 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1,2 +1,3 @@
DIST PyQt6-6.5.3.tar.gz 1039271 BLAKE2B 965efa73daa83e46fbb1428b27f8bfc8e5cbfd4cfa5481b50835fdcc58f475416207a670882d47a0cc724e4dc06e0a00a512c5f83c4918134c2f1303aecda20e SHA512 a502693cc9e1887011466132cd85e232ce653bfc38519aed99a77332413bdb65a01ecad4680b831eb76365b086e6a3b52fa69017b39d95933a6372d2e7e8e4bb
DIST PyQt6-6.6.0.tar.gz 1043298 BLAKE2B 1e0412e5f73734de625f5eb3f148d675c44909d56694e47e029a3ae91fd28f17e1edb2469f7af03baec52ad5636c3dba120d1328664f4f0557b7a9658b1e6cf1 SHA512 2fe8640b1dc82aa1da6064da2ef6c4ee81216ed34f28211b69d22c5ea00f782298f5a6a94d32ab00c3ee095abf15d2182a17324cd132458580f5659e789686e3
+DIST PyQt6-6.6.1.tar.gz 1043203 BLAKE2B dd2b6988ebeabaae47fe57c5c0d17fbe4b62c377262b4bb360adb7fd6724ccb6a67ba5c2bd7498df98db3ce6b00978f936b11a43b464c3c7af169f25b30ee1a6 SHA512 c2ff8c47c9b0e43c009d0c90f565a54344e6f384c67dd30c2d422465d0702c07713acc0095c8b67827d1146675611c07d548ba282a26e41bb60a0a21977a7a64
diff --git a/dev-python/PyQt6/PyQt6-6.6.1.ebuild b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
new file mode 100644
index 000000000000..06d840bd6407
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
@@ -0,0 +1,175 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d serialport sensors spatialaudio speech +sql
+ +ssl svg testlib webchannel websockets +widgets +xml
+"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+ designer? ( gui widgets )
+ help? ( gui widgets )
+ multimedia? ( gui network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ )
+ designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+ help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? ( >=dev-qt/qtspeech-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7.12[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: qmake queries g++ or clang++ for info depending on which qtbase was
+ # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
+ # and potentially using wrong information when cross-compiling
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ --disable=QtRemoteObjects # not packaged
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/QtPy/QtPy-2.3.1-r1.ebuild b/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
index 2e71538797c4..e8b0dfeae96f 100644
--- a/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
+++ b/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
@@ -110,7 +110,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
diff --git a/dev-python/QtPy/QtPy-2.3.1.ebuild b/dev-python/QtPy/QtPy-2.3.1.ebuild
index f7c553da4fdb..ae9118e63f4c 100644
--- a/dev-python/QtPy/QtPy-2.3.1.ebuild
+++ b/dev-python/QtPy/QtPy-2.3.1.ebuild
@@ -103,7 +103,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
diff --git a/dev-python/QtPy/QtPy-2.4.0-r1.ebuild b/dev-python/QtPy/QtPy-2.4.0-r1.ebuild
index 0c98479e289c..4dd4e5af34a1 100644
--- a/dev-python/QtPy/QtPy-2.4.0-r1.ebuild
+++ b/dev-python/QtPy/QtPy-2.4.0-r1.ebuild
@@ -110,7 +110,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-qt[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
diff --git a/dev-python/QtPy/QtPy-2.4.0.ebuild b/dev-python/QtPy/QtPy-2.4.0.ebuild
index 6340b9e20254..03cff6e7df5c 100644
--- a/dev-python/QtPy/QtPy-2.4.0.ebuild
+++ b/dev-python/QtPy/QtPy-2.4.0.ebuild
@@ -110,7 +110,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-qt[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
diff --git a/dev-python/QtPy/QtPy-2.4.1-r1.ebuild b/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
index 69731728b923..55eefd74dedf 100644
--- a/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
+++ b/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
@@ -110,7 +110,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-qt[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
diff --git a/dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild b/dev-python/ansi2html/ansi2html-1.8.0-r3.ebuild
index a971d2df021b..ae18f66b8ab8 100644
--- a/dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild
+++ b/dev-python/ansi2html/ansi2html-1.8.0-r3.ebuild
@@ -18,9 +18,6 @@ LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~riscv x86"
-RDEPEND="
- >=dev-python/six-1.7.3[${PYTHON_USEDEP}]
-"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index 2d4003290598..63acd23453b1 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1 +1,2 @@
DIST bitarray-2.8.3.tar.gz 128790 BLAKE2B 198723c7e26ad1638f541ae5269a9294e4588d8ece76121c4e2758f79dd704217fb0a83da3b5798f95f93006a18c4a6704aeb0efc7d55a42cc277789c6581154 SHA512 60c551ec98746495c3ae73fc40b660bcadc27dcbb42f022524daf33830494f5d168b9577bb5270de42f59da43a52548cfdb262c3386fafe6c1dd1d18592a7a7e
+DIST bitarray-2.8.4.tar.gz 129128 BLAKE2B d41ab6d83825c479b4b70aa52d5e314c68223ce46b32a8e5ff3abfd7afd7bb4bb03ffb478d8c58979204109582d725dfdca5070058d0d5dc76fd529cdc347392 SHA512 42533daa7cd98d94f103a873be72244a0a0973dadcbb35441d5efd8134e57b4cd7f77ed734870b58a931f465f26dac1bf81008febac8439b2fa427063ad4947e
diff --git a/dev-python/bitarray/bitarray-2.8.4.ebuild b/dev-python/bitarray/bitarray-2.8.4.ebuild
new file mode 100644
index 000000000000..838465af319e
--- /dev/null
+++ b/dev-python/bitarray/bitarray-2.8.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 5362750747b8..2afe2c7f7bf9 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.29.3.gh.tar.gz 737012 BLAKE2B 4282de0bbe03b61cf6884b08cf0a16e93c1e27a0323d2eee93277f8ac62f5ef440612292ebc245f13de0bbac9c156cae0cd5c76e8ae5b7d018a125cd49a682df SHA512 e42064e2c825376dfe2a5aa0c92715d06d6d29c3cf8b194d8742c688a4743e216ba32111bba080d88505907e48ff26086106eaef62fa5048f34fcbf08355ab60
DIST boto3-1.29.6.gh.tar.gz 738684 BLAKE2B a42245ddc7a0f31329057016f47739fc4071a030dca1ced347b447860e9397e3c8bae8c70ca86629a4b6b3f403ed845887340e6aeb08fe33c006dea9cd3f6317 SHA512 551a3568f3ceb1f37c7d209e7aa011dbd87d01e02f7559f15563bbd06da6d7a1ff79a1a5ed8150cfbc183cd1c56041a1e36753939142962f056348362665c118
DIST boto3-1.33.6.gh.tar.gz 752467 BLAKE2B f0f344a9e93ff3ad1dd03b44784a41637d05961855e2cd0700dbb840f98940f387cf81d1eb36cc63579be810f5a7d52c49cdb3831e930f89b1b2026af1e4b357 SHA512 1d3d2dd734621cf94e88015273f6fd4d68ec956145eb2b91fe34920f9abe7786a64e2e7f4057db30e71574e392fff9190944c3d9e6143fd43c5e48f04e9eb2ae
+DIST boto3-1.33.7.gh.tar.gz 752960 BLAKE2B 2da4ddbf62008e7fe1b2f49eb1358e417ac3fb9ad80ccc18ad5be85b747f96060679a6bf466d970e62fa0bc3c3c91bab6516e8de5b14c6cca79e35be34ddf0d2 SHA512 5102d564cd749684ccab50a5de1782f07dbe1a5bb037f6f037e44e9fb8c1800f996faca855457976a65c49a38b9472d16ea288f140d946e50057a18a0c179b78
diff --git a/dev-python/boto3/boto3-1.33.7.ebuild b/dev-python/boto3/boto3-1.33.7.ebuild
new file mode 100644
index 000000000000..8c522847f741
--- /dev/null
+++ b/dev-python/boto3/boto3-1.33.7.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.8.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 1e779cd6bef3..352cc1c9b389 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.32.3.gh.tar.gz 12176739 BLAKE2B b119a54fb4770757c8f2c75b7404e009be1c7b35598d8a97e892aa644bbcc301b5f6bb44fa0f37bc8f4523af5ca9771daeda877937e640dd557038c8283967e1 SHA512 398127e140edc33750553f33a14cdc140048f5ee03c162705c6681b9bf08d871c9ba29f824ba2b6f1b11592260c6f0614ab4c06464cdda98172e8ca81bce73e9
DIST botocore-1.32.6.gh.tar.gz 12201067 BLAKE2B 434581b5047aca3909b586c49b01085ed1cbad972b63156521f675c09f3934e04f6583bf543bfd772127afa6fb59ad993229306456ac10e8dc86dd3bb7c430bb SHA512 e175e23452d6956b995ff93a16ffc992cebcfae76e5a7671f60d719e3e8a2692d873f0e8d8830780ddc11f45ebea7a555d0917da5b33ff8249936dce106c7fed
DIST botocore-1.33.6.gh.tar.gz 12516087 BLAKE2B da3ca22acb5b6ee27eb3c0f7dab4ad43597ab985aa7512f4f4a51c2ca3db80a049e13faaf986dd4a02125f92c088129506651125a826184656250665dc7b7128 SHA512 cae5019d85c9b3afcfd93fe58d0e51c5a6e0769d58b2a8b1285a34ce66be8db34e9c5dc4dc74ff72e0992cdd142d101e3663fa1d68a2779fa9c09de37d2f2001
+DIST botocore-1.33.7.gh.tar.gz 12519396 BLAKE2B dde3ea6432d55e14c4c57adc9153857872a556379cce0a37e08c460c676f31658d4e74b354b44514fc9dc8154cf2683b5889dc9659a867af67ef48dd393cf6f3 SHA512 4704ff247983f4492f95b919876caffa8414a6b710e76defcc23a7a08ab3056f5631b3a1698f8e402a0ca6f69ad5d9d91a4cd18c6d3d0ebce650dea8db3ee917
diff --git a/dev-python/botocore/botocore-1.33.7.ebuild b/dev-python/botocore/botocore-1.33.7.ebuild
new file mode 100644
index 000000000000..9a0240c45f2a
--- /dev/null
+++ b/dev-python/botocore/botocore-1.33.7.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 8755b5e9495d..d22dd35c46d4 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1 +1,2 @@
DIST cfn-lint-0.83.3.tar.gz 3683221 BLAKE2B 57e3d093eaabb4907cacd9908cadc1268600423e481316dab17da52f50472634e2114ab4069a9f68db440be1a76c4c96db9c53dd6991524bf2cd3699f8e5299b SHA512 6c47fcab3b077ea7ffc7f7fab695f69d2e4a00eb85c2db7889235b0b41b462a92293e538640df190871148ab6f779570385787bed161db0f65efa289b4b4803c
+DIST cfn-lint-0.83.4.tar.gz 3715966 BLAKE2B 5e30c43ae9fec958ef048eeafacb9d05a00732bd79446ef652f9b3d41f9bdd262b35b028c6a20a5f93ec46cc8da0e8adfad5d87129a5d591812a89c4ced0e619 SHA512 d3dc80ec99959c4112a7bd87bcab9f261542f25c4529df9a8e5745901e1dc4a8ca94bdec829f8042a7f94eba6021fe08975e06d4596993a7a319ac861897e2cc
diff --git a/dev-python/cfn-lint/cfn-lint-0.83.4.ebuild b/dev-python/cfn-lint/cfn-lint-0.83.4.ebuild
new file mode 100644
index 000000000000..4820ca013419
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.83.4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.80.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
index fff9fbb2f0b3..c3a4996bea4c 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1,2 @@
DIST Chameleon-4.2.0.tar.gz 176515 BLAKE2B 6be07b88e962ca155d390e9f4d5070ca4116993568840c50fd94b0569721983084065bdc2dbebf4d573ff511f41456fc54d40442a505ea891be6eee947b9b690 SHA512 bedbf6bad35370ccb449151098d04e6f8fee917128bcd18a6694ae7df57c15e005c34696c50da43ede2b42d593a2772c55691978982d8a2d83380df29ff7406b
+DIST Chameleon-4.3.0.tar.gz 178781 BLAKE2B 8dfad0c915291a5afb87d10b17ccca00ee26468bb2ddab2bccb36a67451d52727daecb3207923785820702173bd553fa5e8e2af09c89e51cac830917dc77ce66 SHA512 4fc63b7cff2cd41030d8efe32aa723e9245a6c9197faa9be3862c433ce668998ee39adf3b4b59d3b4968341f3af4326fbb61f9c93ee3399d195c1e521525fc52
diff --git a/dev-python/chameleon/chameleon-4.3.0.ebuild b/dev-python/chameleon/chameleon-4.3.0.ebuild
new file mode 100644
index 000000000000..2a50115029bb
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.3.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="
+ https://github.com/malthe/chameleon/
+ https://pypi.org/project/Chameleon/
+"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd src || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/django-cache-url/Manifest b/dev-python/django-cache-url/Manifest
index 7f733396b651..b4e65f381b99 100644
--- a/dev-python/django-cache-url/Manifest
+++ b/dev-python/django-cache-url/Manifest
@@ -1 +1,2 @@
DIST django-cache-url-3.4.4.gh.tar.gz 8671 BLAKE2B 5245e87b786470e45ca1e30a39337904577889b15d644fbef94f55e861de7d2bb8b6725b6e62c58424511fb3f81093a6d3107cc1a8f8dc575e5463d6ab2e6c13 SHA512 745fddec8546c4ad4b70d7a039e0954f1c99cb91766a10185b29804cd69560a3dd64f90a85bb1a9ae029d34038944b288b4c497ad15492791121ea9c61fd6ae5
+DIST django-cache-url-3.4.5.gh.tar.gz 8761 BLAKE2B 44cfa956f33848dd7947a97b390ba792d44eb1fd42b4c33ae57e3575405c40d93be4716c9b990e20a482b4398ed69ff838993e30ae0bdecb5a33c3fd7685a6e6 SHA512 532f47f6c8d8150d3ec484e533b165430ee6fd9854ed1b0404b68f8acaf388bfa2fb9beba8349d56e1e9d00dd65065425fdbeeed5eb698d9a745f8293f8d93ee
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
new file mode 100644
index 000000000000..533bb96f3925
--- /dev/null
+++ b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Use Cache URLs in your Django application"
+HOMEPAGE="
+ https://github.com/epicserve/django-cache-url/
+ https://pypi.org/project/django-cache-url/
+"
+SRC_URI="
+ https://github.com/epicserve/django-cache-url/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' -i setup.cfg || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/django-tables2/django-tables2-2.6.0.ebuild b/dev-python/django-tables2/django-tables2-2.6.0.ebuild
index 56aefe1e4570..53dff965ebfa 100644
--- a/dev-python/django-tables2/django-tables2-2.6.0.ebuild
+++ b/dev-python/django-tables2/django-tables2-2.6.0.ebuild
@@ -32,7 +32,6 @@ BDEPEND="
${RDEPEND}
dev-python/django-filter[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/psycopg:2[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)
@@ -41,8 +40,6 @@ BDEPEND="
src_prepare() {
# these tests require tablib
rm tests/test_export.py tests/test_templatetags.py || die
- # these tests require fudge
- rm tests/test_config.py || die
distutils-r1_src_prepare
}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index b4e2f1d24187..49fae91316ec 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,3 +4,5 @@ DIST Django-4.1.12.checksum.txt 2582 BLAKE2B 67b101ef7b11fe1ad47872b9bbb26851b20
DIST Django-4.1.12.tar.gz 10502350 BLAKE2B 1e13d4a7c00d7fa49c41bbdc3e69604e462de9ebdb302097ca610cd7d791ebb1ac4bdb610b791e7d578125df83be0551b5d98fbeace630a042a8101689cb9d56 SHA512 63211a82f55b8c7ef0d8f9d09bfba926c2dc59ab7bacded517c4c3014c671ed55d0d5552678d1eae350d3d66f27dde96aed0a5e2aa1ae5f6e1c98ccf138ccc1d
DIST Django-4.2.6.checksum.txt 2572 BLAKE2B 1bdd9b4a11e80bcbb7c857c25bd9666b1a14c9aeebe3654afe4c54232dc105bb2843d6444b1ab17c86cd19f4722bdfca537291f42d1b4f82e551b44c27cb8e1e SHA512 7857a1d666c4dc9605bfe89e2c6f6ff7dc863ae2c5bb8846d8e83d9cc59592cce2240204b688adba4ebeb7f5279a54ccd4150654ffbed27e1ffc2c4c436ed950
DIST Django-4.2.6.tar.gz 10407018 BLAKE2B d2d365d234aecd730bcffd64cdfaee283933779be339d1baa75cf490fe7477248feb079c8716f3c8dc570c54bf6af94ce9864908f1efdbf69e5b6e9369126cf7 SHA512 bfd36ae6f7c4393bad45e97d6d43b370fb37d7e21cd115a6f6b730bb38ad11c6ccdcef94d5ddcd09e8eb9107a51ff486ec79b39cf3f4250d0ae1af000820cd82
+DIST Django-4.2.8.checksum.txt 2553 BLAKE2B 552fd9dc6740baabc434a4d069c0a22c49e36661da58face4853c8ca5f34254314a3ca85048d5a4786a9a15ed27c8f73016c9a3d7bcf63dc617373e243a3ee77 SHA512 e3808f5d28fb95aa6ebbcc393161cc69cb948ab4ebe0dcc7a4f6ca8964e4a3dacf4aa185688d21b5d176456621f609e95909cbbc4abe6528f72afe3b644b5ea3
+DIST Django-4.2.8.tar.gz 10425581 BLAKE2B e3592dadb54a616cea6129ba45f27e1c93dda2fcffec8c827e2f74a46c6c953a6c2893f236eff64dc77106ee60246eb843e028d44ebf27b8e30da1a6f766315f SHA512 9a60d2202886656a239e764c79b3638d4bc9e549bba8a822b36c745ab32468e3ddd813e7cda4a9e69c867ede0fca02da63391a2efe1462798e5c2e4f35625b63
diff --git a/dev-python/django/django-4.2.8.ebuild b/dev-python/django/django-4.2.8.ebuild
new file mode 100644
index 000000000000..b1b90e2406c8
--- /dev/null
+++ b/dev-python/django/django-4.2.8.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/dulwich/dulwich-0.21.6.ebuild b/dev-python/dulwich/dulwich-0.21.6-r1.ebuild
index bba2196b91ce..e99f655e0031 100644
--- a/dev-python/dulwich/dulwich-0.21.6.ebuild
+++ b/dev-python/dulwich/dulwich-0.21.6-r1.ebuild
@@ -22,7 +22,6 @@ IUSE="doc examples test"
RESTRICT="!test? ( test )"
RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest
index e5694ca118a4..34fb783294fc 100644
--- a/dev-python/freezegun/Manifest
+++ b/dev-python/freezegun/Manifest
@@ -1 +1,3 @@
DIST freezegun-1.2.2.tar.gz 30670 BLAKE2B 88941ccd9694c842e4999da47e1a8fbe9b82c1fa512467de174715e627c213167cf3c7f943b35d039ff118bae9d1bca4b64ceaa5683db818727cd9ad2533a827 SHA512 c6dc3da66a2d3063f819a104b6bc98eb3d4b772b8edb06bde130a6e355d96e1861e650c44eb691be892223150a652a528fda4237bd77b1bdcee1fcfad74f307c
+DIST freezegun-1.3.0.tar.gz 31165 BLAKE2B 69341b4b7fe52e0aa2ad7c70e6a1b9e4bcb5cdac88ac48e85a968b2159260a9aee4196fc9622a153d1d5ebfee3b081f568b01a5cd59ff388e7bf5a6900bb45f6 SHA512 a0de4f2827696ea0bc1e5ff89aae9dfc36e013e03212bc7d8c3a93addb55e408fe03744fb0638d5ca0758322e2f3e0acb503fbdecfa14dd128d0399c9a60edf1
+DIST freezegun-1.3.1.tar.gz 31535 BLAKE2B 5601f7359668dac186b8d76d203b7b5844af3f3171133fe25eba3182793dd68eeb14a1485d42ab50da316bf710e42d9fb4b6ebfc7afe9f86e6f4e5f3354997e8 SHA512 7524c85ad4d49fdf86d132085845ec9c67d06600cfa25e0d650cc0a565d1830f9f83315930fd6516ae924c2395721473a04c1ecfeb1735ee31e894370267ef95
diff --git a/dev-python/freezegun/freezegun-1.3.0.ebuild b/dev-python/freezegun/freezegun-1.3.0.ebuild
new file mode 100644
index 000000000000..9c953d9c06c9
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.3.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Let your Python tests travel through time"
+HOMEPAGE="
+ https://github.com/spulec/freezegun/
+ https://pypi.org/project/freezegun/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/freezegun/freezegun-1.3.1.ebuild b/dev-python/freezegun/freezegun-1.3.1.ebuild
new file mode 100644
index 000000000000..9c953d9c06c9
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Let your Python tests travel through time"
+HOMEPAGE="
+ https://github.com/spulec/freezegun/
+ https://pypi.org/project/freezegun/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/gdb-pt-dump/Manifest b/dev-python/gdb-pt-dump/Manifest
new file mode 100644
index 000000000000..b69b7da870f8
--- /dev/null
+++ b/dev-python/gdb-pt-dump/Manifest
@@ -0,0 +1 @@
+DIST gdb-pt-dump-0.0.0_p20231111.gh.tar.gz 386894 BLAKE2B 31c15a7574ac37e859831e6b17d27ce47bc6aed4d3bb81a01c8492b803cd71ba28379777bd9c221c9f81585811bba4952fb8e5349104ff36e88efe3996715937 SHA512 c94cce47754b634a2fda267f715cdd7957ec0714c4ac96d6b9e20fa4cfdf6c026a3e0b351bf0e041ea0c2dbf253f547ede3d2b13b83c6316ef6222bac0e4b61b
diff --git a/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild b/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild
new file mode 100644
index 000000000000..488cb0d57cd8
--- /dev/null
+++ b/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Examine the address space of a QEMU-based virtual machine"
+HOMEPAGE="https://github.com/martinradev/gdb-pt-dump"
+
+GDB_PT_DUMP_COMMIT="89ea252f6efc5d75eacca16fc17ff8966a389690"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/martinradev/gdb-pt-dump.git"
+else
+ SRC_URI="https://github.com/martinradev/gdb-pt-dump/archive/${GDB_PT_DUMP_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-${GDB_PT_DUMP_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}]
+"
diff --git a/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild b/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild
new file mode 100644
index 000000000000..488cb0d57cd8
--- /dev/null
+++ b/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Examine the address space of a QEMU-based virtual machine"
+HOMEPAGE="https://github.com/martinradev/gdb-pt-dump"
+
+GDB_PT_DUMP_COMMIT="89ea252f6efc5d75eacca16fc17ff8966a389690"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/martinradev/gdb-pt-dump.git"
+else
+ SRC_URI="https://github.com/martinradev/gdb-pt-dump/archive/${GDB_PT_DUMP_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-${GDB_PT_DUMP_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ sys-devel/gdb[python,${PYTHON_SINGLE_USEDEP}]
+"
diff --git a/dev-python/gdb-pt-dump/metadata.xml b/dev-python/gdb-pt-dump/metadata.xml
new file mode 100644
index 000000000000..73424341778f
--- /dev/null
+++ b/dev-python/gdb-pt-dump/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>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/glcontext/Manifest b/dev-python/glcontext/Manifest
index fc12682074e1..af85598788bd 100644
--- a/dev-python/glcontext/Manifest
+++ b/dev-python/glcontext/Manifest
@@ -1 +1 @@
-DIST glcontext-2.4.0.gh.tar.gz 23609 BLAKE2B 2eb0178e8e6752dbe21bad181c08731435d3444230540c456e2da92f76de2ba19c63e8dcec887d9e75851c8cfed65c06acaf3a95bd41ea816ee4b25e3b8f992e SHA512 d69adbee5f31d7b870b566f59d2b796a7436ab57ad29c4fe1210ec1e40b782e4705c81ba17a921217f28c5fcb4f9c759c2ebf146bda1af4fd54007c868425427
+DIST glcontext-2.5.0.gh.tar.gz 18814 BLAKE2B 100aa4d2d118852eeff7b5f7de127d2608f9a84152c3c9cfeae5bffc64dffbfa4c3fd5c20d28b11c4d56d31b006fba8e191901ba064329ea9db8aa3f55e83977 SHA512 b85306c8a1a95bddc9d87a66e3102e45e1a2ae55dfa5b32a263ad4216421712bb31bf8653a1850a281c51b437a274d7c499feac9650035fecd36f5467c6c83a0
diff --git a/dev-python/glcontext/glcontext-2.4.0.ebuild b/dev-python/glcontext/glcontext-2.5.0.ebuild
index 1c6a7d3388d1..bd7f21e96337 100644
--- a/dev-python/glcontext/glcontext-2.4.0.ebuild
+++ b/dev-python/glcontext/glcontext-2.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/glfw/Manifest b/dev-python/glfw/Manifest
index 34eae19a2f69..4fd73b642940 100644
--- a/dev-python/glfw/Manifest
+++ b/dev-python/glfw/Manifest
@@ -1 +1 @@
-DIST glfw-2.6.2.gh.tar.gz 849915 BLAKE2B 04cd5346b3d4e52307fdb601ca71557e34d58f2e852c6ce69f88daa9cbfcd7def3321bfc5e9208d9b0d1cd31a24ded06fa8045ac7974e84ca3d6394cc2f2731c SHA512 e91d6682f5a849586686db53f009706a954e53b377704c1194705ec705c664d2e1bc1d7e85a719f36dfdc77a63bc303dc915526bf75fc812025e1667d20ff3da
+DIST glfw-2.6.3.gh.tar.gz 849917 BLAKE2B 90f1e0b480a0fbb61848ec5988305bb4c42f4306c30b4889d86458d4d8d65d9629b335f31623099525ad546033a690127677bb049ee78f574c0a603ff16987d7 SHA512 8b789db247526da84037558b424c465690cc04d904f5f36c633ffd09d12f24660d1918810ec618a364ab06fdf9f242e356b56d7d98621c2812b4929ce3b1854d
diff --git a/dev-python/glfw/glfw-2.6.2.ebuild b/dev-python/glfw/glfw-2.6.3.ebuild
index 92d18e07e257..311bb4ac12fd 100644
--- a/dev-python/glfw/glfw-2.6.2.ebuild
+++ b/dev-python/glfw/glfw-2.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/icecream/Manifest b/dev-python/icecream/Manifest
new file mode 100644
index 000000000000..875e4c6ea8f4
--- /dev/null
+++ b/dev-python/icecream/Manifest
@@ -0,0 +1 @@
+DIST icecream-2.1.3.gh.tar.gz 38879 BLAKE2B 0a3f1e1c75730255dee4d11ffd5954bc0b6d84eb971865300f00e2015fba84561d179cc1640766841cb58483b741e14bb36ace31a6e4cee67321cb385fd85995 SHA512 b319109248c7ae65a24fe7fa85b7900435a3f681466612c0c25769fe3ee4cd2bc5305bff8be1bd36ca26064d54cf9738b58d24a6c1d9b3d3ebe93228656b3ee3
diff --git a/dev-python/icecream/icecream-2.1.3.ebuild b/dev-python/icecream/icecream-2.1.3.ebuild
new file mode 100644
index 000000000000..421f3d396e83
--- /dev/null
+++ b/dev-python/icecream/icecream-2.1.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1
+
+DESCRIPTION="Pythonic task execution"
+HOMEPAGE="https://github.com/gruns/icecream https://pypi.org/project/icecream/"
+SRC_URI="https://github.com/gruns/icecream/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/colorama-0.3.9[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/executing-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/asttokens-2.0.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+EPYTEST_DESELECT=(
+ # Seems like those cannot work in the sandbox
+ tests/test_icecream.py::TestIceCream::testEnableDisable
+ tests/test_icecream.py::TestIceCream::testSingledispatchArgumentToString
+
+ # This one fails on Python3.12 because it is outdated
+ tests/test_icecream.py::TestIceCream::testMultilineContainerArgs
+)
diff --git a/dev-python/icecream/metadata.xml b/dev-python/icecream/metadata.xml
new file mode 100644
index 000000000000..744cdb8e935b
--- /dev/null
+++ b/dev-python/icecream/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="project">
+ <email>gasc@eurecom.fr</email>
+ <name>Gasc Henri</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest
index c53a18f4a245..ba8fdc178bd4 100644
--- a/dev-python/importlib-metadata/Manifest
+++ b/dev-python/importlib-metadata/Manifest
@@ -1,2 +1,4 @@
+DIST importlib_metadata-6.11.0.tar.gz 54593 BLAKE2B 4fff1999d2b431338d8826c98ef9bc3d92017b52eb60f34ab43482ae15fd09e76fab750531ba0694f13127de31e6a28f30975751a981e3440fcb346a37f83a20 SHA512 f8473c049e01f9e346e379f0cf5b97a64420e002bc8885263f9fd8cc759d05624d7951e372dba2b1a71dd3ce42588c04fd261f21706afbef24e395741994bb6a
DIST importlib_metadata-6.8.0.tar.gz 53494 BLAKE2B b4bb1b423cb470f5aa26d763e459f40a49b3163fc74d2d0e1883e1308c775393ebcbd369bbc4233398e38190ba683ffd7e14c0b355a289daa81eaeddbb7d1414 SHA512 04746aac8278f2fb0064df36a558890a0c9de7c8e61c31d7548ff8ad27091e3dcbda79903eb01053f7ad85b91274d92ded40b730c095ad56672427ab17e3f921
DIST importlib_metadata-6.9.0.tar.gz 53933 BLAKE2B 741f42f675d13ed619f3e0fff22186f6946d380898cb899a065238c3c9be45c7b790fcddf086400468766346e6b3769e268f8905d02a3d55c9a6534e53415515 SHA512 e3ed9a9a7c7b4170ca5ef25e4dcd12d7a7c6f7eea88682a9ce19632362849ddb46cc76b3431a6df3ea7a24da2e1530ead02b0404ec163137498afaaa86b58a19
+DIST importlib_metadata-7.0.0.tar.gz 54280 BLAKE2B 56da8260ad1eb785577bbb0db1695652eb4d09d2fb48c8770e8fba22be92c2f9a4f89727ada53a1bf83f17128078bffe424636dc4ed805288bef1b74e162729b SHA512 2b71f9f14cb2bed74184fea23f1111588753c6054c308cd33fc79d0ea297219025bbea2af996535f69b63832c546145cabaeb18850bfe843251788f3f74418d6
diff --git a/dev-python/importlib-metadata/importlib-metadata-6.11.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-6.11.0.ebuild
new file mode 100644
index 000000000000..279c468d6e07
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-6.11.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/importlib-metadata/importlib-metadata-7.0.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-7.0.0.ebuild
new file mode 100644
index 000000000000..279c468d6e07
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-7.0.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/invoke/Manifest b/dev-python/invoke/Manifest
index 27a59726cb2d..066979d60c98 100644
--- a/dev-python/invoke/Manifest
+++ b/dev-python/invoke/Manifest
@@ -1 +1 @@
-DIST invoke-2.0.0.gh.tar.gz 308039 BLAKE2B 1c4e601014be953fcdef502d9d513db8deec75afc64f0445fd5eae0a05b04d9ebeffc1266cb25184f0e6dc0dc49d712661f4644258db6226e060ea20b735772e SHA512 d7ae2099f550216bd1ea7df1d3d6c253fc4740a1ef945a64d0293670eef4913b5a5d170ff2052bdff7c9801da31fbdc5bc6b323d4467caba4d1486839bca3ba1
+DIST invoke-2.2.0.gh.tar.gz 309433 BLAKE2B 9b68a9e7e8b2b8cd27a449569847e6ea67b6de01574dd2d5ca8d93486e6f8ead2d2c1a507af665ab19b8482c4c4172a671b8f65d8f1e41f004a7d1e4294268d3 SHA512 3d0adabec4825fb45524d3ab4f2a790d31245a89e038c08c770fc9f33c81ed182769e8f17d3d6f33a913b431cba475b975826ddfd533a945d481b52deba759a2
diff --git a/dev-python/invoke/invoke-2.0.0.ebuild b/dev-python/invoke/invoke-2.0.0.ebuild
deleted file mode 100644
index 8e31159a0e0a..000000000000
--- a/dev-python/invoke/invoke-2.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-inherit distutils-r1
-
-DESCRIPTION="Pythonic task execution"
-HOMEPAGE="https://github.com/pyinvoke/invoke https://pypi.org/project/invoke/"
-SRC_URI="https://github.com/pyinvoke/invoke/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_prepare(){
- rm -r ./invoke/vendor/yaml2
- eapply_user
-}
diff --git a/dev-python/invoke/invoke-2.2.0.ebuild b/dev-python/invoke/invoke-2.2.0.ebuild
new file mode 100644
index 000000000000..81ff02e2d0af
--- /dev/null
+++ b/dev-python/invoke/invoke-2.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1
+
+DESCRIPTION="Pythonic task execution"
+HOMEPAGE="https://github.com/pyinvoke/invoke https://pypi.org/project/invoke/"
+SRC_URI="https://github.com/pyinvoke/invoke/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/icecream-2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-relaxed-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+EPYTEST_DESELECT=(
+ # Most of those fails with "OSError: reading from stdin while output is captured"
+ # seems like it is because I do the testing in a chroot
+ # Because there are 112 tests that fails, I'd rather skip the file than manually add 112 tests
+ tests/runners.py
+)
diff --git a/dev-python/markdown2/Manifest b/dev-python/markdown2/Manifest
index d70355b6b1ed..a4565fcb5cc5 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1 +1,2 @@
DIST markdown2-2.4.10.tar.gz 123813 BLAKE2B 4aee5ece385a6987fc9d8fccbd3141f42f6469328d0c6ddd7bfeb4bcbffb2cdf2a6375bd9fab8dbc79b099894303e94f15df334b244d877970cc5e52d2f0bf5f SHA512 1053d5e13dfe83158c7e1b87a68f12a2d5bdeddf1cae359c2992028687d18e69d71c1347ac04cbfcbcb4a6c629eeb1f465537e2e4b47c0594f0c5d175b9ce04f
+DIST markdown2-2.4.11.tar.gz 128610 BLAKE2B 0418b97589be177bd3ac76d426e653f2ec48b1e12ab54d7a3e1d1e69a0f926e59fb0287f02ba9e72047ac62c0a1bc404711ad7e0e10a4aec32606d2231d32c71 SHA512 dbb7130eaf0924741694e905fc6ca8c2f0c46059c5aec144c3170b6793f2c50d2b0be90bd76f775a79e83101c3b0a549056c5e8f0ea0fed911c22ae1844b0c31
diff --git a/dev-python/markdown2/markdown2-2.4.11.ebuild b/dev-python/markdown2/markdown2-2.4.11.ebuild
new file mode 100644
index 000000000000..b41e93cd9447
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.4.11.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Markdown language reimplementation"
+HOMEPAGE="
+ https://github.com/trentm/python-markdown2/
+ https://pypi.org/project/markdown2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" -m unittest test_markdown2.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/matplotlib/matplotlib-3.8.2.ebuild b/dev-python/matplotlib/matplotlib-3.8.2-r1.ebuild
index ccc4ef546054..ed00107c192c 100644
--- a/dev-python/matplotlib/matplotlib-3.8.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.8.2-r1.ebuild
@@ -35,7 +35,6 @@ IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched
# dev-python/pycxx
RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
index d4cc5b28753a..226228e7d153 100644
--- a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
+++ b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
index 8acff6097279..cf462009e25e 100644
--- a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
+++ b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-material-5.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild
index 24c6a3c556b4..7ca30d40335b 100644
--- a/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild
+++ b/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild
@@ -27,7 +27,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
IUSE="social"
RDEPEND="
diff --git a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild
index 7832d1e69b9d..9a988081ebe0 100644
--- a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild
+++ b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
# https://bugs.gentoo.org/911738
# The tests compare hard coded hashes, since we cannot guarantee reproducibility
diff --git a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild
index c2407237cf02..7d394ad991f6 100644
--- a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild
+++ b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-material-8.3.3[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.0.ebuild b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.0.ebuild
index fbd92021a05b..60b9e1b16993 100644
--- a/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.0.ebuild
+++ b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517="hatchling"
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
inherit distutils-r1 pypi
@@ -22,4 +22,10 @@ RDEPEND="
>=dev-python/mkdocs-1.5.2[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
distutils_enable_tests pytest
diff --git a/dev-python/olefile/Manifest b/dev-python/olefile/Manifest
index 609cc73fb013..88190c8cddc8 100644
--- a/dev-python/olefile/Manifest
+++ b/dev-python/olefile/Manifest
@@ -1 +1,2 @@
DIST olefile-0.46.gh.tar.gz 97587 BLAKE2B e6dbadda6f18ec287f5b1b59ab4b92ceee25b4ca47499ed31a03992ae4e3a7269ba0c641f631c4beafdfe43eccab4881d06f7ba372ec47b376b5eb3ed788f45d SHA512 e70975cdda11004ab331908085e0cbd9cf3e44f49fa1453a7af5373bfed0a98729bb7600fee7a1042be6c40c58649f3650972d9e4520bbab218cf715f6264f98
+DIST olefile-0.47.gh.tar.gz 102116 BLAKE2B d3b3e8349901b7bf4a4facd0a784e9fa01f3acc50412f3952e85d59e6816321cd41d65cca83731cf280a6a83c3a4bf4e9ae9ee84662f0883e138dc2ceb22798d SHA512 efd73092f4fb428a91066c11fd319a60fa43e46f7abc4e7ba38627f11e19a6fbba227d1307ee308d1297e97b3fff30e6e497c50d7f708204e20122ea01dddfd8
diff --git a/dev-python/olefile/olefile-0.47.ebuild b/dev-python/olefile/olefile-0.47.ebuild
new file mode 100644
index 000000000000..e5dc27b0905a
--- /dev/null
+++ b/dev-python/olefile/olefile-0.47.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package to parse, read and write Microsoft OLE2 files"
+HOMEPAGE="
+ https://www.decalage.info/olefile/
+ https://github.com/decalage2/olefile/
+ https://pypi.org/project/olefile/
+"
+SRC_URI="
+ https://github.com/decalage2/olefile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests unittest
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
index 69ba5b0363c3..29d6641f2944 100644
--- a/dev-python/path/Manifest
+++ b/dev-python/path/Manifest
@@ -1 +1,2 @@
DIST path-16.7.1.tar.gz 48974 BLAKE2B a03eebbb391cf17033adce4d6b258217546e3b7494200a8ea97f756512177f1c7d7ea8155420e167cefe79b566a4240eec98d17b160478f9cb06d3fd839c28f2 SHA512 7d660373046845a5882a316051c350558527d6d8a5cd11735d38214f986c8e096f72b45f87cfec41bf6171e7845287a42e6e45535f87a01b46670eccd4013dbf
+DIST path-16.9.0.tar.gz 48850 BLAKE2B 0c5edc6538cb22543dd810a535840a235b66c51415284f00338bd1e84e63847d09235e55dd3d40a71f3b02f54d18cbbf4fa1e5a0356798cee3383666a26a441c SHA512 2d4c8e3923bc712c7901328a0406ce05c6c157664dfacb5a563a1b214ce561215398b31494865c99a77ed09c3ef63bb04a36d57a60e7c0e3dea05b1dacfdecf7
diff --git a/dev-python/path/path-16.9.0.ebuild b/dev-python/path/path-16.9.0.ebuild
new file mode 100644
index 000000000000..e1d5f11ed517
--- /dev/null
+++ b/dev-python/path/path-16.9.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A module wrapper for os.path"
+HOMEPAGE="
+ https://github.com/jaraco/path/
+ https://pypi.org/project/path/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # unreliable, not really meaningful for end users
+ test_path.py::TestPerformance
+)
diff --git a/dev-python/pipx/Manifest b/dev-python/pipx/Manifest
index c9497f921f1c..a21fe44564cd 100644
--- a/dev-python/pipx/Manifest
+++ b/dev-python/pipx/Manifest
@@ -1,2 +1,3 @@
DIST pipx-1.2.1.gh.tar.gz 405585 BLAKE2B ca24ffd9fe3657549d149aa6e24f85ef2d7ae0832f94605a0a52ecd255232c3bd1b553e61be805bd80c9d54586a4e6e9e156db17c5bb901e24069828f0716594 SHA512 93a0d67de9540584987be126d4e28a2628beefba99e15936369c948dc29fb7f11745413ef3f0ace5586b4456ed8554103bcd5079079bc0a34babc02823f7f9d3
DIST pipx-1.3.1.gh.tar.gz 418883 BLAKE2B f9c0ee11eb1e92efb4fc1600d56383ff838b3d97200a4baef32d1221e05c65aeb9d9cc48477dbdf85cb596f44423fb746abd97be2861724ca0de433aa6794d68 SHA512 9ee91efa142f72fbe962d05a21ad3bfcef4d401a20078863bb65a932b3598efff95cd707ec27cca1d4c82f3396270c7162d4cb1407ad1d40b2e477aa0b3c02fc
+DIST pipx-1.3.2.gh.tar.gz 411632 BLAKE2B d7a84a7b23f937e1b00340a7acd76e8d90c54de8955233e6aed8f95aa4b8ee613b1120fbda5a02ffdb63fe11e7efed6e0fdbca7bcb9de42476e78b9af4144b34 SHA512 a0a21c22a867b7bae3d6aceb68e1c5ee404ad794211c7f9014223d510250953b80a5fb525a11a422ae54ee9b0ede81220fa1e145f91b934bf000185a50b613f7
diff --git a/dev-python/pipx/pipx-1.3.2.ebuild b/dev-python/pipx/pipx-1.3.2.ebuild
new file mode 100644
index 000000000000..19486094b41d
--- /dev/null
+++ b/dev-python/pipx/pipx-1.3.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Install and Run Python Applications in Isolated Environments"
+HOMEPAGE="
+ https://pypi.org/project/pipx/
+ https://pypa.github.io/pipx/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/pypa/pipx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/userpath-1.9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest --net-pypiserver
+}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index a95554849994..b8677ff42ec6 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
DIST platformdirs-4.0.0.tar.gz 19914 BLAKE2B 0ae3f7491f3f1d38561c89312c988b4145c9afb60e3d866cd05bef7e02c6df95d56cb230995de2893c0afd32bd63eb08448e67d5cdd0bdf6f3556ea1a23e2b49 SHA512 28eeb18ab5a52bf60d85ab76c986300d0f69c3bcff9ec18b961b70f97bce4e0d1bd3315b8d97f6b6a41de000b734979c08754780d282695525348342ab9c9931
+DIST platformdirs-4.1.0.tar.gz 19760 BLAKE2B d2deeb3d8300a92af0c0d69bcee2c02210d0cd32925ba7fdbd992723e13deba2a432bc7cb5eaf83ca9f576888d54d237b17028b25554bd65f044e61c0a353384 SHA512 f9cc171e7861cd9018be179963fc5d0316dc39a953b67dccf946937077704eb80955cca0d51c0edd8b4f931f705f719767f2b888be4276278891a099b5928fa2
diff --git a/dev-python/platformdirs/platformdirs-4.1.0.ebuild b/dev-python/platformdirs/platformdirs-4.1.0.ebuild
new file mode 100644
index 000000000000..0947849db721
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.1.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/pycpio/Manifest b/dev-python/pycpio/Manifest
new file mode 100644
index 000000000000..9ccc9943a007
--- /dev/null
+++ b/dev-python/pycpio/Manifest
@@ -0,0 +1 @@
+DIST pycpio-0.5.6.tar.gz 17197 BLAKE2B d25153c65d6835781eccf619ace424ebe5d0f65525f916641bc66cdf27bf63f5762f56ff91f61ddad5121aab2cd090cc8f43ee5a5947516fbcbeddd90cc6bcc9 SHA512 82dca8153dbcc0bed2c97c88ad6d11a4d990ac61e28604da140019a726b2c799131c74605f852d93bf0b5d7cae286c56e67417d01c8db60028c9cb0a7876b360
diff --git a/dev-python/pycpio/metadata.xml b/dev-python/pycpio/metadata.xml
new file mode 100644
index 000000000000..af8c55886ddf
--- /dev/null
+++ b/dev-python/pycpio/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>dev@pyl.onl</email>
+ <name>Zen</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pycpio/pycpio-0.5.6.ebuild b/dev-python/pycpio/pycpio-0.5.6.ebuild
new file mode 100644
index 000000000000..df46eb1bb0ee
--- /dev/null
+++ b/dev-python/pycpio/pycpio-0.5.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1
+
+DESCRIPTION="Python CPIO library"
+HOMEPAGE="https://github.com/desultory/PyCPIO"
+SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+# Specify the subdirectory containing the actual source code
+S="${WORKDIR}/${PN}-${PV}/src"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND=">=dev-python/zenlib-1.1.1"
diff --git a/dev-python/pygdbmi/Manifest b/dev-python/pygdbmi/Manifest
index cd8315146b1d..260731862d64 100644
--- a/dev-python/pygdbmi/Manifest
+++ b/dev-python/pygdbmi/Manifest
@@ -1 +1 @@
-DIST pygdbmi-0.11.0.0.tar.gz 30784 BLAKE2B a3d6bc51640dac78c072ef0162bc1d546707f1b220d8d695595d05a5bcdea8b31b5e23ad916cd2a58bbd4bec2f9fd32b6a9294f00957d890fefd0ecf457ed0de SHA512 11bbc0a9353dbb9d96cb9c71d45a68de446ac6cf1cd110b8f508143218783d2cdfa685874a9b9483933fc58fcfcbb7524a3b670d1c8a6117e8d6484586f1ced6
+DIST pygdbmi-0.11.0.0.gh.tar.gz 30784 BLAKE2B a3d6bc51640dac78c072ef0162bc1d546707f1b220d8d695595d05a5bcdea8b31b5e23ad916cd2a58bbd4bec2f9fd32b6a9294f00957d890fefd0ecf457ed0de SHA512 11bbc0a9353dbb9d96cb9c71d45a68de446ac6cf1cd110b8f508143218783d2cdfa685874a9b9483933fc58fcfcbb7524a3b670d1c8a6117e8d6484586f1ced6
diff --git a/dev-python/pygdbmi/metadata.xml b/dev-python/pygdbmi/metadata.xml
index 56988650ec34..865db5458c57 100644
--- a/dev-python/pygdbmi/metadata.xml
+++ b/dev-python/pygdbmi/metadata.xml
@@ -2,9 +2,17 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>davidroman96@gmail.com</email>
- <name>David Roman</name>
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
</maintainer>
- <origin>gentoo-guru-overlay</origin>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0-r1.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0-r1.ebuild
deleted file mode 100644
index 297eac58ccac..000000000000
--- a/dev-python/pygdbmi/pygdbmi-0.11.0.0-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A library to parse gdb mi output and interact with gdb subprocesses"
-HOMEPAGE="https://github.com/cs01/pygdbmi"
-SRC_URI="https://github.com/cs01/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="sys-devel/gdb"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
new file mode 100644
index 000000000000..bf75864e3773
--- /dev/null
+++ b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to parse gdb mi output and interact with gdb subprocesses"
+HOMEPAGE="
+ https://cs01.github.io/pygdbmi/
+ https://github.com/cs01/pygdbmi/
+ https://pypi.org/project/pygdbmi/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/cs01/pygdbmi/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=sys-devel/gdb-9.6
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pynvim/Manifest b/dev-python/pynvim/Manifest
index 0f9aa76befef..f4a48fe2a56b 100644
--- a/dev-python/pynvim/Manifest
+++ b/dev-python/pynvim/Manifest
@@ -1 +1,2 @@
DIST pynvim-0.4.3.tar.gz 52807 BLAKE2B 2ac8894af71a28f8008dca1f9e34a0cda6a68aa108ddfe122e4e9cac4c7669262483729aafb238d0e8eb0022ddea9bb222ec7b718e9a9c59fbb349821b6b8dbe SHA512 5d8fc7623a5bc2e069991b901dbd4dcc6005ddab31e2f0a70ee50c2d6febf3b5c29a61fc4dce454aa494779d7a869a1e92a2a97cb66212ed858c3d3fd77c0f55
+DIST pynvim-0.5.0.gh.tar.gz 59043 BLAKE2B 4c9ce46e90dbb6cf278b48a904bef6dbd821d696c578a29d84af5ee64b223c602727dd09bdecbc90f7b6a634cbcd11b615d7ae48782e5cf71ae59faf8f8b1ff2 SHA512 91ffe3f42cc23ba372223b8c9f6930b0cff9d30b6764052a77a5c34e39a3312a1834b9a753152e96d04d5b4b61ce647bd7470095fac3122ae6b1346dcdf07f2f
diff --git a/dev-python/pynvim/pynvim-0.5.0.ebuild b/dev-python/pynvim/pynvim-0.5.0.ebuild
new file mode 100644
index 000000000000..6615db10da0f
--- /dev/null
+++ b/dev-python/pynvim/pynvim-0.5.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python client for Neovim"
+HOMEPAGE="
+ https://github.com/neovim/pynvim/
+ https://pypi.org/project/pynvim/
+"
+SRC_URI="
+ https://github.com/neovim/pynvim/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? ( app-editors/neovim )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index 9f4ad2907c17..8c5eb401b190 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1,3 +1,3 @@
DIST pytest-asyncio-0.21.1.tar.gz 30492 BLAKE2B 6a17f9ba89b8181b5fb734af6d0c0904a828156e63df910b4fe4adb9b93e240266063dcca8d97c8f9d784c6d5111796949fe32bb2832921919e41398ccffc155 SHA512 3aef14bade1dddab4320450d60c6909a76c7cf334d8225ad155b474b042d1c692edc5b567fb86ecf6b3453746105c3cecce86d2c6ff5cf6652d5147a8532cfd0
DIST pytest-asyncio-0.22.0.tar.gz 37081 BLAKE2B 62941bdf10ee8a5195e900e71c7eba1810edd9721457656fc0b62dca3264f4ce0cba9221f80fd8a5249ee30e662cf068fcc8e491ba6b297e0370fcb04b7fe068 SHA512 7880b03c44997b0cb05b1c9633bf3e94e7eefc0396dc88512baf0e8f700508fa76eb9cbf2ce6d837be9ae0f1efb75343cdc32c7b2983e294ffa30e94893a3a2c
-DIST pytest-asyncio-0.23.0.tar.gz 43658 BLAKE2B 893b446018ce460825555b1f42c36b27a0c2330d08e7588a4f59e8b6390390040b49cee02f27369f3135e95402eab7e3573bbae381e5ce81f23e578b1f21fa9d SHA512 903ec009617385c2e95fcb03e1fe23b5d372f5aaa334c5156b0fe19aab7c3d0272e7e5869a89a6b1c4b3282deba5e37b0832a54518455e48af0ef2a51f4b9ce6
+DIST pytest-asyncio-0.23.2.tar.gz 44174 BLAKE2B 36dbd0022416eef05c781b9f74fd143bb52fe0583461ca7e52fd4981d552bbefdddd8e3a3399bc229a8ae68b150e199237ae0ce3a375075ab8f7f507bfa59316 SHA512 aa5b5fe8b633b187303dd2958d2ea01561604044507da107e46115d9bf4c1ac3c78826b4b6a6cbf474a6ee4ce0cd1bede87a2c8fe0d35397ddf6a4069437dd84
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.2.ebuild
index ab691caa27b1..ab691caa27b1 100644
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild
+++ b/dev-python/pytest-asyncio/pytest-asyncio-0.23.2.ebuild
diff --git a/dev-python/pytest-relaxed/Manifest b/dev-python/pytest-relaxed/Manifest
new file mode 100644
index 000000000000..e35655bb3cb8
--- /dev/null
+++ b/dev-python/pytest-relaxed/Manifest
@@ -0,0 +1 @@
+DIST pytest-relaxed-2.0.1.gh.tar.gz 22023 BLAKE2B 9cabdfbfc735199292f63ee7bb7ec9bca16704d38434af15dbc5c5aade463ef0db7ab38b10de9be150a1bbd35c944e088ada859c5111e066da016bdb2aa067af SHA512 b62458aaf96cd7d70291c0c3ef19430ebeeee3e3c033bfda3c320f40ea2c4b1147e3edd49aa389dba393cee4b70f1ecd477a8b4ca17b37a9ef8d9766895d1c69
diff --git a/dev-python/pytest-relaxed/metadata.xml b/dev-python/pytest-relaxed/metadata.xml
new file mode 100644
index 000000000000..744cdb8e935b
--- /dev/null
+++ b/dev-python/pytest-relaxed/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="project">
+ <email>gasc@eurecom.fr</email>
+ <name>Gasc Henri</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-relaxed/pytest-relaxed-2.0.1.ebuild b/dev-python/pytest-relaxed/pytest-relaxed-2.0.1.ebuild
new file mode 100644
index 000000000000..707fd555013a
--- /dev/null
+++ b/dev-python/pytest-relaxed/pytest-relaxed-2.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1
+
+DESCRIPTION="Relaxed test discovery for pytest"
+HOMEPAGE="https://github.com/bitprophet/pytest-relaxed https://pypi.org/project/pytest-relaxed"
+SRC_URI="https://github.com/bitprophet/pytest-relaxed/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/decorator[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild b/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild
index de521a8e0c63..467d107493a5 100644
--- a/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild
+++ b/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild
@@ -30,7 +30,6 @@ RDEPEND="
"
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
new file mode 100644
index 000000000000..b82097f36ae7
--- /dev/null
+++ b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
@@ -0,0 +1,254 @@
+From fb2e0ced6e2413f5641e65bdc44ff1350a172a24 Mon Sep 17 00:00:00 2001
+From: Stephen Finucane <stephenfin@redhat.com>
+Date: Mon, 11 Sep 2023 10:46:23 +0100
+Subject: [PATCH] tests: Explicitly specify port fields for output
+
+Rather than excluding the few fields we don't want, explicitly indicate
+the ones we do want. We were already in-effect doing this in our tests,
+so this is simply moving the definition from tests to the main code.
+
+Note that this is a problem in the tests for virtually all commands
+that will be seen as the SDK continues to evolve and new fields are
+added to existing resources. This is a problem that be solved over
+time though, rather than in a big bang commit.
+
+Change-Id: Iaa64e97450f5c73cab2e2c3b0c741aec1495b4f1
+Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
+---
+ openstackclient/network/v2/port.py | 52 +++++++++++++++----
+ .../tests/unit/network/v2/test_port.py | 36 ++++++-------
+ 2 files changed, 59 insertions(+), 29 deletions(-)
+
+diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
+index 6ca069bb..710e8fe3 100644
+--- a/openstackclient/network/v2/port.py
++++ b/openstackclient/network/v2/port.py
+@@ -55,18 +55,48 @@ _formatters = {
+
+
+ def _get_columns(item):
+- column_map = {
+- 'binding:host_id': 'binding_host_id',
+- 'binding:profile': 'binding_profile',
+- 'binding:vif_details': 'binding_vif_details',
+- 'binding:vif_type': 'binding_vif_type',
+- 'binding:vnic_type': 'binding_vnic_type',
+- 'is_admin_state_up': 'admin_state_up',
+- 'is_port_security_enabled': 'port_security_enabled',
++ column_data_mapping = {
++ 'admin_state_up': 'is_admin_state_up',
++ 'allowed_address_pairs': 'allowed_address_pairs',
++ 'binding_host_id': 'binding_host_id',
++ 'binding_profile': 'binding_profile',
++ 'binding_vif_details': 'binding_vif_details',
++ 'binding_vif_type': 'binding_vif_type',
++ 'binding_vnic_type': 'binding_vnic_type',
++ 'created_at': 'created_at',
++ 'data_plane_status': 'data_plane_status',
++ 'description': 'description',
++ 'device_id': 'device_id',
++ 'device_owner': 'device_owner',
++ 'device_profile': 'device_profile',
++ 'dns_assignment': 'dns_assignment',
++ 'dns_domain': 'dns_domain',
++ 'dns_name': 'dns_name',
++ 'extra_dhcp_opts': 'extra_dhcp_opts',
++ 'fixed_ips': 'fixed_ips',
++ 'hints': 'hints',
++ 'id': 'id',
++ 'ip_allocation': 'ip_allocation',
++ 'mac_address': 'mac_address',
++ 'name': 'name',
++ 'network_id': 'network_id',
++ 'numa_affinity_policy': 'numa_affinity_policy',
++ 'port_security_enabled': 'is_port_security_enabled',
++ 'project_id': 'project_id',
++ 'propagate_uplink_status': 'propagate_uplink_status',
++ 'resource_request': 'resource_request',
++ 'revision_number': 'revision_number',
++ 'qos_network_policy_id': 'qos_network_policy_id',
++ 'qos_policy_id': 'qos_policy_id',
++ 'security_group_ids': 'security_group_ids',
++ 'status': 'status',
++ 'tags': 'tags',
++ 'trunk_details': 'trunk_details',
++ 'updated_at': 'updated_at',
+ }
+- hidden_columns = ['location', 'tenant_id']
+- return utils.get_osc_show_columns_for_sdk_resource(
+- item, column_map, hidden_columns
++ return (
++ tuple(column_data_mapping.keys()),
++ tuple(column_data_mapping.values()),
+ )
+
+
+diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
+index 59755bb9..c897a1af 100644
+--- a/openstackclient/tests/unit/network/v2/test_port.py
++++ b/openstackclient/tests/unit/network/v2/test_port.py
+@@ -172,7 +172,7 @@ class TestCreatePort(TestPort):
+ )
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_full_options(self):
+@@ -245,7 +245,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_invalid_json_binding_profile(self):
+@@ -309,7 +309,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_group(self):
+@@ -347,7 +347,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_dns_name(self):
+@@ -380,7 +380,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_groups(self):
+@@ -420,7 +420,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_security_groups(self):
+@@ -449,7 +449,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_fixed_ips(self):
+@@ -478,7 +478,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair_ipaddr(self):
+@@ -520,7 +520,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair(self):
+@@ -571,7 +571,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_qos(self):
+@@ -608,7 +608,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_security_enabled(self):
+@@ -738,7 +738,7 @@ class TestCreatePort(TestPort):
+ else:
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_tags(self):
+@@ -787,7 +787,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_uplink_status_propagation_enabled(self):
+@@ -893,7 +893,7 @@ class TestCreatePort(TestPort):
+ create_args['numa_affinity_policy'] = numa_affinity_policy
+ self.network_client.create_port.assert_called_once_with(**create_args)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_numa_affinity_policy_required(self):
+@@ -940,7 +940,7 @@ class TestCreatePort(TestPort):
+ 'device_profile': 'cyborg_device_profile_1',
+ }
+ self.network_client.create_port.assert_called_once_with(**create_args)
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_invalid_json(self):
+@@ -1032,7 +1032,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_valid_json(self):
+@@ -1067,7 +1067,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+@@ -2496,7 +2496,7 @@ class TestShowPort(TestPort):
+ self._port.name, ignore_missing=False
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+--
+2.43.0
+
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
index 1bd94b95e4b4..e494a6a1b28b 100644
--- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
@@ -50,6 +50,11 @@ BDEPEND="
distutils_enable_tests unittest
src_prepare() {
+ local PATCHES=(
+ # backport from master
+ "${FILESDIR}/${P}-test.patch"
+ )
+
# Depends on specific runner
sed -e 's/test_command_has_logger/_&/' -i openstackclient/tests/unit/common/test_command.py || die
diff --git a/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild
index 048f5e177265..e11bd786b13e 100644
--- a/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild
+++ b/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild
@@ -28,7 +28,6 @@ BDEPEND="
test? (
>=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
dev-python/python-keystoneclient[${PYTHON_USEDEP}]
- >=dev-python/mock-1.2.0[${PYTHON_USEDEP}]
>=dev-python/openstacksdk-0.11.0[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/setuptools/setuptools-69.0.2.ebuild b/dev-python/setuptools/setuptools-69.0.2-r1.ebuild
index e68df32b1e3b..f79cebd832dd 100644
--- a/dev-python/setuptools/setuptools-69.0.2.ebuild
+++ b/dev-python/setuptools/setuptools-69.0.2-r1.ebuild
@@ -59,7 +59,6 @@ BDEPEND="
# setuptools-scm is here because installing plugins apparently breaks stuff at
# runtime, so let's pull it early. See bug #663324.
PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
diff --git a/dev-python/shapely/files/shapely-2.0.2-c99.patch b/dev-python/shapely/files/shapely-2.0.2-c99.patch
new file mode 100644
index 000000000000..a51fc8883103
--- /dev/null
+++ b/dev-python/shapely/files/shapely-2.0.2-c99.patch
@@ -0,0 +1,19 @@
+https://github.com/shapely/shapely/pull/1945
+
+From 9795506bba84e96418466ae84573c0cf8654bbeb Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Sun, 3 Dec 2023 11:36:36 -0500
+Subject: [PATCH] Fix incompatible pointer type passed to GEOSPolygonize_r
+
+--- a/src/ufuncs.c
++++ b/src/ufuncs.c
+@@ -2160,7 +2160,7 @@ static void polygonize_func(char** args, const npy_intp* dimensions, const npy_i
+
+ GEOS_INIT;
+
+- GEOSGeometry** geoms = malloc(sizeof(void*) * dimensions[1]);
++ const GEOSGeometry** geoms = malloc(sizeof(void*) * dimensions[1]);
+ if (geoms == NULL) {
+ errstate = PGERR_NO_MALLOC;
+ goto finish;
+
diff --git a/dev-python/shapely/shapely-2.0.2-r1.ebuild b/dev-python/shapely/shapely-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..6a731c4d9299
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.2-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="
+ https://pypi.org/project/shapely/
+ https://github.com/shapely/shapely/
+"
+SRC_URI="
+ https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ >=sci-libs/geos-3.9
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-c99.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf shapely || die
+ epytest --pyargs shapely
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 97e26a178ac1..d815ee18aeba 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -4,3 +4,4 @@ DIST sqlglot-19.5.1.tar.gz 9062537 BLAKE2B dece9479e8333cf90481e7f72bfd58c0d3650
DIST sqlglot-19.6.0.tar.gz 9063326 BLAKE2B ad2d12f511d8bf713fc51b67364133b648186b91351137f339dbb97500a50450db5cc39f016f03260d4c79f4341338dd4fee88fe6f5491bf556d93a4806ac411 SHA512 9f5d2fd6364fbeacca328f9fdcb84204ef65906fd024059464ecac9cc7c7865cf4736cc17a3661af1fda5ca0e52fb24f3939a263349c75a962216af8bd6841f4
DIST sqlglot-19.7.0.tar.gz 9068302 BLAKE2B 2739d795f725b2b4d96eb4177238a5c6f97e32171f5efda30fbaf13f50bc5d35818f0972e830cf1328cb40425807d7d3addfa79728978e8153cb5023cbcef043 SHA512 8fef6e7fca8dd5445ef437eb3eba12b135b60a0f1880c980a6dd30fb200d6c74d5126f45a5b9803369066287f8b9222e4c7b890136fee7fd8c04572a09ad6e43
DIST sqlglot-19.8.2.tar.gz 9091070 BLAKE2B 4d0352343fe7bc6438ea62cc3142632e3262cf6df1f2d749cd9530f30451d8e860fa93592414f22f15e83e752af98929c58b58e0ad707071213b3d5b8132615b SHA512 49d0615378174e8fc721a9f436d82d8e3ce713813e184c89fb458a12ee68cd42862489dfe34113d079b222b7149a5130be4f6d324562741ece8e2434f124fd60
+DIST sqlglot-19.8.3.tar.gz 9093824 BLAKE2B fab19b444ffb1889c6d0b8c69e2212ef6c479e9814017e1a1106823143b3b5cd1a960e142e8c1ec1244918a2ddd333adaa10ddfb2514044131a7ca4af1761dff SHA512 7f95c9e710f124f550ab2dd9fb9af42747987f7b8f536a7a5ea7596cf7d8fbcdc4c0565c2aec4d617bc705b65af34c2bccb57b9b43c43decc03d60cceb468aff
diff --git a/dev-python/sqlglot/sqlglot-19.8.3.ebuild b/dev-python/sqlglot/sqlglot-19.8.3.ebuild
new file mode 100644
index 000000000000..4c60cf619c93
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-19.8.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/textile/textile-4.0.2.ebuild b/dev-python/textile/textile-4.0.2-r1.ebuild
index ddf4f225e6b1..9170b6635169 100644
--- a/dev-python/textile/textile-4.0.2.ebuild
+++ b/dev-python/textile/textile-4.0.2-r1.ebuild
@@ -27,7 +27,6 @@ KEYWORDS="amd64 arm64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
dev-python/html5lib[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
index c81df678e175..70a4be1ec3e2 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1 +1,2 @@
DIST websocket-client-1.6.4.tar.gz 51905 BLAKE2B 5bfab632bfa727ad950c4898f52422b11d9c1582567295dd0833321d494d33c057e94e40fad8d612e2aca6efe0fe03595bcfebd1e890c1b15a6fa97864818e59 SHA512 d5a44c78bf5f6d4b5a1344bf6d5c94435e529dd85ee5d7fe5552478bbf2e57229ca7573b28a93fa28d1e5cf72fd721b4456bb5e154db578ec652cbc82316413b
+DIST websocket-client-1.7.0.tar.gz 54037 BLAKE2B 6a37b17c0a428dfacfd441384469954bc30f5ca5cf8380c08b45337ebdd69999cbd14eb0f0cde3c33d2f5c2698dac9a34eb51430bb810ab6edf8130415e98a4b SHA512 1f6b3253f7febd053e1271bcacd71701ec27d6921ba9791b16a203c8b7240925284e033dba4ad5d4c56a88568dc57ecb760c254964bc3bb4e87df52573239a9a
diff --git a/dev-python/websocket-client/websocket-client-1.7.0.ebuild b/dev-python/websocket-client/websocket-client-1.7.0.ebuild
new file mode 100644
index 000000000000..a73a17c5b7be
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-1.7.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="WebSocket client for python with hybi13 support"
+HOMEPAGE="
+ https://github.com/websocket-client/websocket-client/
+ https://pypi.org/project/websocket-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+BDEPEND="
+ test? (
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest
index 9ad72ce449e3..95d02e5995df 100644
--- a/dev-python/zenlib/Manifest
+++ b/dev-python/zenlib/Manifest
@@ -1 +1 @@
-DIST zenlib-1.0.0.tar.gz 12381 BLAKE2B a605c7159c877e18d19d94192ceb90af4cddeb4322f28123b98f43105673b27f17a85ad46b74c536afc2fe233c2c90bbda502f60b4bd1005365ad7e054c811e8 SHA512 882e2a5a5da53c17b0da7eeb2b83d237a35be4a9ef9b34b0b222052ab8dbf0bac10f2e15220c7078a65ae67648f28098cef1c2badabd2c696e331802d29c4780
+DIST zenlib-1.2.0.tar.gz 12766 BLAKE2B 9366beb9496d136cbf0efc9fd97c6d430b442eae4ede87d85c32e1bee9a17315cab04e0b8f97ad8b8e2b599d2965dc2cd3c57ebe4830ba9abe53adc13825f634 SHA512 e5630a0869cdcbd909ea829f5876057ad1787ae1b63f80f9b1db7deeb80799eef9deac56027291dac55efd1e974b82a737b236189a1d7a8657a215bb866bca91
diff --git a/dev-python/zenlib/zenlib-1.0.0.ebuild b/dev-python/zenlib/zenlib-1.2.0.ebuild
index de0bcd2e55ac..de0bcd2e55ac 100644
--- a/dev-python/zenlib/zenlib-1.0.0.ebuild
+++ b/dev-python/zenlib/zenlib-1.2.0.ebuild