diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-07-01 00:48:58 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-07-01 00:48:58 +0000 |
| commit | c9b2fb93a56edf7778b6bbe1ba998ee0b328ae83 (patch) | |
| tree | 45f790910a20b490d6c6ace2c03fe87781380473 /dev-python | |
| parent | 8eb65fcef570b6ed45d74cc40fb6ecd7a2f91e3c (diff) | |
| download | baldeagleos-repo-c9b2fb93a56edf7778b6bbe1ba998ee0b328ae83.tar.gz baldeagleos-repo-c9b2fb93a56edf7778b6bbe1ba998ee0b328ae83.tar.xz baldeagleos-repo-c9b2fb93a56edf7778b6bbe1ba998ee0b328ae83.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
59 files changed, 1345 insertions, 807 deletions
diff --git a/dev-python/3to2/3to2-1.1.1-r1.ebuild b/dev-python/3to2/3to2-1.1.1-r1.ebuild deleted file mode 100644 index a5c5e0286b87..000000000000 --- a/dev-python/3to2/3to2-1.1.1-r1.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 - -DESCRIPTION="Tool to refactor valid 3.x syntax into valid 2.x syntax" -HOMEPAGE="https://pypi.org/project/3to2/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip" - -LICENSE="Apache-1.1" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="" - -BDEPEND="app-arch/unzip" - -python_prepare_all() { - # https://bitbucket.org/amentajo/lib3to2/issues/50/testsuite-fails-with-new-python-35 - # Remove failing test - sed -i -e "/test_argument_unpacking/a \\ return"\ - lib3to2/tests/test_print.py || die - sed -i -e "s/Exception, err/Exception as err/" lib3to2/build.py || die - - distutils-r1_python_prepare_all -} - -python_test() { - cd "${BUILD_DIR}"/lib || die - # the standard test runner fails to properly return failure - "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" -} diff --git a/dev-python/3to2/Manifest b/dev-python/3to2/Manifest deleted file mode 100644 index f41d02261223..000000000000 --- a/dev-python/3to2/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST 3to2-1.1.1.zip 78779 BLAKE2B 441e74bd06017c84bd382c32513d84f42b8bc35f46aeb62ec1e3f5b9876573e0a76f6e04f4ca529175761af6f29e10ee0c4d4114ff0bcafb066d2d6344b1d885 SHA512 7580f174409420556f89ae78eba07cc95b95aee9d062586d0862bd41980ae31bf4ac82a43855e160eec745fcdd3b4aff614f68e77da1bfc5f9f404413cab1492 diff --git a/dev-python/3to2/metadata.xml b/dev-python/3to2/metadata.xml deleted file mode 100644 index 29e7ada65f00..000000000000 --- a/dev-python/3to2/metadata.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>chutzpah@gentoo.org</email> - <name>Patrick McLean</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - - <origin>gentoo-staging</origin> - <stabilize-allarches/> -</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/PyPDF2/Manifest b/dev-python/PyPDF2/Manifest index 988a63ca7d34..e628d662809f 100644 --- a/dev-python/PyPDF2/Manifest +++ b/dev-python/PyPDF2/Manifest @@ -3,6 +3,7 @@ DIST PyPDF2-2.1.0.gh.tar.gz 4728411 BLAKE2B 00949842da43136afc7ee3482dc0b61182a0 DIST PyPDF2-2.2.1.gh.tar.gz 5019240 BLAKE2B 31412cc136bebdf0288fcdf693540e2ae8b88c08f9d837ebeb17b8f8bfae289146028890f36b7b16c6012469908d4f6855169efcebce082d4c31f634b6410162 SHA512 669c41f477114bc38a214e8f4893c5eb59d40dfe07e3c436b71ede09738539e3f47d8f9293cf9c3012887d296c7a634ee93bf2542910c400c4765bd30495f0f6 DIST PyPDF2-2.3.1.gh.tar.gz 5077679 BLAKE2B 36a70ef9e10ebb6d5c50b713f539aad56b8ccbd94d279aa0b0dc41e9ef1c682ac21b04b4612771e386e8655aa812e11bdbe04363ebaa074a96ffa7059f500e62 SHA512 885d6bab457be594c7a715345f0d4c6f5ba1e34f422e3de42822f4886c0021fc799682e9d253f3c3f48f8c45d387ef431843e2f2f9c7e54c1402ef31b975c511 DIST PyPDF2-2.4.0.gh.tar.gz 5119230 BLAKE2B a396f1e36a4ad74396a549fa6a6dd76b4a24bee66c78e52bd01b9d3ffebbf15698c0b1b30372fbc7224a815733bfcdecc7e7caa275de32f1a25f44c0e8276c9b SHA512 664f57132c6fa9d2cba324559de985b2c4de4a1f9b5d1ca4539cc9ae35b4296a0b3dac1d15ad069e3f46cc01b2b55d530c0fd5f70e6c41ce5461dfd0ebdd4cdd +DIST PyPDF2-2.4.1.gh.tar.gz 5121207 BLAKE2B 387085ea028d7fcbcfd5fa4e5373b655e647548093638db66fa92d44b8771bb5342f8086ebca82e205cf56f1865778bc604f49a49b39af16d8d9e3466a51653d SHA512 430e73ee6965fd6b8dac9ce8b6ee232e8ea829a7dbdfe87aafd29ae24ab182cd3e568b447030a0c199aab9049a79ce2a5518ce7fe59b1d8ce533b1313a568fc2 DIST PyPDF2-sample-files-41b5cd4f774f8fbd8ac42d93b9962f0376352a15.gh.tar.gz 5406287 BLAKE2B 8ddad01235bdb55cee596d9114e5b6c3b153919bcff5203d229311243516f3595cb36dcca87cae27514a8231d72daa94782115795bff8c1c3d046236811c21e0 SHA512 6c38d5ee0e1c5c0ffdd78f7c2fe56dbf357a1e82d2af642a10264a6102ae8fb95cba6d2f76b26df6a33a5d84cfd5111885d39c1747cf95a5ce545f26bdb37263 DIST PyPDF2-sample-files-4d24ff93dcddf21d55d028d9675d5b5bf9d7a350.gh.tar.gz 5443819 BLAKE2B 6eb440a2db3b58f7e195b8f24438552b2b414296b887cf44d75b14bda367e37ffef75b870152ac3b38e20e5a6f2c6a4cf374087b70daa9036821dd3ebdce2128 SHA512 de631f650098b6fe15830e5a816158d7f352c7a25d0c743b9e4bdf146e1ef2e3a6ea1751ed5d68f34e9a339a793bfb9dc217934595c7a8dffb854c0a4111b963 DIST PyPDF2-sample-files-d7ce88b71820fccaaa4738aa37cbace51f3ed3d9.gh.tar.gz 5406263 BLAKE2B 69673ec380941f567d3630459dc610b1c3a58d5f2956138776412683a96292549107294775d236d1304c054fb91b238f42942a169a7bc862c0b721de647ad191 SHA512 a245de88952de08b45e483f05a1ed42a70a67c4215dd8c32a9b5d70bb64b01acc58ebb1cee677ca178eee8380528dbfac50d3a1a022f19039fa3a47746ddc2a0 diff --git a/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild b/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild new file mode 100644 index 000000000000..d289bccd1de4 --- /dev/null +++ b/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350 +DESCRIPTION="Python library to work with PDF files" +HOMEPAGE=" + https://pypi.org/project/PyPDF2/ + https://github.com/py-pdf/PyPDF2/ +" +SRC_URI=" + https://github.com/py-pdf/PyPDF2/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + test? ( + https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz + -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz + ) +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/typing-extensions[${PYTHON_USEDEP}] + ' 3.8 3.9) +" +BDEPEND=" + dev-python/pillow[${PYTHON_USEDEP}] + test? ( + dev-python/pycryptodome[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Needs network access + tests/test_cmap.py + tests/test_filters.py::test_decompress_zlib_error + tests/test_filters.py::test_lzw_decode_neg1 + tests/test_generic.py::test_dict_read_from_stream + tests/test_generic.py::test_parse_content_stream_peek_percentage + tests/test_generic.py::test_read_inline_image_no_has_q + tests/test_generic.py::test_read_inline_image_loc_neg_1 + tests/test_generic.py::test_text_string_write_to_stream + tests/test_generic.py::test_name_object_read_from_stream_unicode_error + tests/test_generic.py::test_bool_repr + tests/test_generic.py::test_issue_997 + 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]' + tests/test_merger.py::test_trim_outline_list + tests/test_merger.py::test_zoom + tests/test_merger.py::test_zoom_xyz_no_left + tests/test_merger.py::test_bookmark + tests/test_merger.py::test_trim_outline + tests/test_merger.py::test1 + tests/test_merger.py::test_sweep_recursion1 + tests/test_merger.py::test_sweep_recursion2 + tests/test_reader.py::test_unexpected_destination + tests/test_writer.py::test_sweep_indirect_references_nullobject_exception + tests/test_writer.py::test_write_bookmark_on_page_fitv + tests/test_page.py::test_extract_text_single_quote_op + tests/test_page.py::test_extract_text_page_pdf + tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform + tests/test_page.py::test_extract_text_operator_t_star + tests/test_reader.py::test_iss925 + tests/test_reader.py::test_extract_text_xref_issue_2 + tests/test_reader.py::test_extract_text_xref_issue_3 + tests/test_reader.py::test_extract_text_pdf15 + tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf + tests/test_reader.py::test_get_fields + tests/test_reader.py::test_get_fields_read_else_block + tests/test_reader.py::test_get_fields_read_else_block2 + tests/test_reader.py::test_get_fields_read_else_block3 + tests/test_reader.py::test_metadata_is_none + tests/test_reader.py::test_get_fields_read_write_report + tests/test_reader.py::test_unexpected_destination + tests/test_utils.py::test_deprecate_no_replacement + tests/test_workflows.py::test_extract_textbench + tests/test_xmp.py::test_xmpmm + tests/test_xmp.py::test_dc_description + tests/test_xmp.py::test_dc_creator + tests/test_xmp.py::test_custom_properties + tests/test_xmp.py::test_dc_subject + + # Broken test + tests/test_utils.py::test_deprecate_no_replacement +) + +src_unpack() { + default + if use test; then + mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die + fi +} diff --git a/dev-python/QtPy/QtPy-2.1.0-r2.ebuild b/dev-python/QtPy/QtPy-2.1.0-r2.ebuild new file mode 100644 index 000000000000..ba6f89aab8ee --- /dev/null +++ b/dev-python/QtPy/QtPy-2.1.0-r2.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 virtualx + +DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional custom QWidgets" +HOMEPAGE=" + https://github.com/spyder-ide/qtpy/ + https://pypi.org/project/QtPy/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +_IUSE_QT_MODULES=" + declarative designer gui help location multimedia network opengl + positioning printsupport sensors serialport speech sql svg testlib + webchannel webengine websockets widgets x11extras xml xmlpatterns +" +IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}" +unset _IUSE_QT_MODULES + +REQUIRED_USE=" + || ( pyqt5 pyside2 ) + python_targets_python3_11? ( pyqt5 !pyside2 ) +" + +# These flags are currently *not* common to both the PySide2 and PyQt5 ebuild +# Disable them for now, please check periodically if this is still up to date. +# bluetooth? ( pyqt5 ) +# dbus? ( pyqt5 ) +# +# 3d? ( pyside2 ) +# charts? ( pyside2 ) +# concurrent? ( pyside2 ) +# datavis? ( pyside2 ) +# scxml? ( pyside2 ) +# script? ( pyside2 ) +# scripttools? ( pyside2 ) + +# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going +# to work. The package only checks whether PyQt5/pyside2 is installed, it does +# not verify whether they have the necessary modules (i.e. satisfy the USE dep). +# +# Webengine is a special case, because PyQt5 provides this in a separate package +# while PySide2 ships it in the same package. +# +# declarative/qml/quick is a special case, because PyQt5 bundles the bindings +# for qml and quick in one flag: declarative PySide2 does not. +# +# The PyQt5 ebuild currently enables xml support unconditionally, the flag is +# added anyway with a (+) to make it future proof if the ebuild were to change +# this behaviour in the future. +# +# The PySide2 ebuild currently enables opengl and serialport support +# unconditionally, the flag is added anyway with a (+) to make it future proof +# if the ebuild were to change this behaviour in the future. +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + pyqt5? ( + dev-python/PyQt5[${PYTHON_USEDEP}] + dev-python/PyQt5[declarative?,designer?,gui?,help?,location?] + dev-python/PyQt5[multimedia?,network?,opengl?,positioning?] + dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?] + dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?] + dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?] + webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] ) + ) + pyside2? ( + dev-python/pyside2[${PYTHON_USEDEP}] + dev-python/pyside2[designer?,gui?,help?,location?,multimedia?] + dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?] + dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?] + dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?] + dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?] + declarative? ( dev-python/pyside2[qml,quick] ) + ) +" + +# The QtPy testsuite skips tests for bindings that are not installed, so here we +# ensure that everything is available and all tests are run. Note that not +# 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] + dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport] + dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel] + dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns] + dev-python/PyQtWebEngine[${PYTHON_USEDEP}] + ) + pyside2? ( + dev-python/pyside2[${PYTHON_USEDEP}] + dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help] + dev-python/pyside2[location,multimedia,network,opengl(+),positioning] + dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml] + dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib] + dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras] + dev-python/pyside2[xml,xmlpatterns] + ) + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die + # Disable Qt for Python implementations that are not selected + if ! use pyqt5; then + sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die + fi + if ! use pyside2; then + sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die + sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die + fi +} + +python_test() { + if use pyqt5; then + QT_API="pyqt5" virtx epytest + fi + if use pyside2; then + QT_API="pyside2" virtx epytest + fi +} + +pkg_postinst() { + if use pyqt5 && use pyside2; then + ewarn "You have enabled both PyQt5 and PySide2, note that QtPy will default" + ewarn "to PyQt5 unless the QT_API environment variable overrides this." + fi +} diff --git a/dev-python/axisregistry/axisregistry-0.3.2.ebuild b/dev-python/axisregistry/axisregistry-0.3.2.ebuild index b9f617764402..9a265350cd99 100644 --- a/dev-python/axisregistry/axisregistry-0.3.2.ebuild +++ b/dev-python/axisregistry/axisregistry-0.3.2.ebuild @@ -24,7 +24,7 @@ DEPEND=" >=dev-python/setuptools_scm-4[${PYTHON_USEDEP}] " -PATCHES=( "${FILESDIR}/${PN}-0.2.0-remove-setuptools_scm-constraint.patch" ) +PATCHES=( "${FILESDIR}/${P}-remove-setuptools_scm-constraint.patch" ) distutils_enable_tests pytest diff --git a/dev-python/axisregistry/files/axisregistry-0.3.2-remove-setuptools_scm-constraint.patch b/dev-python/axisregistry/files/axisregistry-0.3.2-remove-setuptools_scm-constraint.patch new file mode 100644 index 000000000000..c50745baacf2 --- /dev/null +++ b/dev-python/axisregistry/files/axisregistry-0.3.2-remove-setuptools_scm-constraint.patch @@ -0,0 +1,10 @@ +--- a/setup.py ++++ b/setup.py +@@ -42,6 +42,6 @@ + "Programming Language :: Python :: 3", + ], + python_requires=">=3.7", +- setup_requires=["setuptools_scm>=4,<6.1"], ++ setup_requires=["setuptools_scm>=4"], + install_requires=["protobuf"], + ) diff --git a/dev-python/cftime/Manifest b/dev-python/cftime/Manifest index 563a0d744831..de0d767d26d5 100644 --- a/dev-python/cftime/Manifest +++ b/dev-python/cftime/Manifest @@ -1 +1,2 @@ DIST cftime-1.6.0.tar.gz 47633 BLAKE2B 5201afcd4ecc733511481ec7aa557953acd741d7b5f3126b94d23a0848b30ea1c65b0e965e3e5560581fb7e9b8d1acd144044e8b2cb6fe6ffed99094eb39bc32 SHA512 87f350155c1b875b002822424d8bb4916cc33dfff0c249c3ac7f008c0cf41ea03c1a1b187b79d4a15b935b88a5b2d217bd19f6d069e6255c7fab2ad2d69fe7f9 +DIST cftime-1.6.1.tar.gz 47821 BLAKE2B 3231ac7c019cf134800248dd42192ac89e0040421e64ba25ed4711cf21b6170e000208c3b5165bed4dc2a32451f90d52b704ea2f35709ea1f23d52fffd2bad78 SHA512 530454730e71850acf03080978ae1cfb12b34f9ebf3b062c88d04c495bc759af5ff022c14a5539edcec689fe6758bb832d194bc5b3bb8b9fcc4808a511c18fff diff --git a/dev-python/cftime/cftime-1.6.1.ebuild b/dev-python/cftime/cftime-1.6.1.ebuild new file mode 100644 index 000000000000..2f6c02eb4698 --- /dev/null +++ b/dev-python/cftime/cftime-1.6.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) +inherit distutils-r1 + +DESCRIPTION="Time-handling functionality from netcdf4-python" +HOMEPAGE="https://pypi.org/project/cftime/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" + +DEPEND=">=dev-python/numpy-1.13.4[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND}" +BDEPEND=">=dev-python/cython-0.26.2[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest + +python_prepare_all() { + # remove pytest-cov dep + sed -e "/--cov/d" -i setup.cfg || die + + distutils-r1_python_prepare_all +} diff --git a/dev-python/confluent-kafka/confluent-kafka-1.9.0.ebuild b/dev-python/confluent-kafka/confluent-kafka-1.9.0.ebuild index e8aeb77448d9..b92130213841 100644 --- a/dev-python/confluent-kafka/confluent-kafka-1.9.0.ebuild +++ b/dev-python/confluent-kafka/confluent-kafka-1.9.0.ebuild @@ -19,9 +19,9 @@ S="${WORKDIR}/${MYPN}-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="" -RDEPEND="dev-libs/librdkafka" +RDEPEND="~dev-libs/librdkafka-1.9.0" DEPEND="${RDEPEND}" BDEPEND=" test? ( diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest index ae0d2eb53abd..23ce166b9e5c 100644 --- a/dev-python/dulwich/Manifest +++ b/dev-python/dulwich/Manifest @@ -1 +1,2 @@ DIST dulwich-0.20.43.tar.gz 423604 BLAKE2B e8f6b3fc22ac2289e6529d862f54d8c407725c8d22ba9ee7ddb0d700b4ea617f8b069b14168c43c25cccf6e84592e63f88d3402e58b15413952e5b139bda2c2b SHA512 68ef6e3928a202d76ab882d764d08f8948743825b3b07950a81bd86522c9db6865260c2c725a08b26365719e99343daa1c2a2d242bafe991be2552d06b2e3684 +DIST dulwich-0.20.44.tar.gz 425226 BLAKE2B ba120c682b0fd298a9f17eec524ffdd92af9024e30d0b8c52accda3ef8a1d4876b483e8aaa5f12b4beb73a6c1719ed4504c52396cd355244ab688ceab551faaf SHA512 124a3ae89abf5df9e192919f916012be67112195fc7cfd7c30e814a04d93749a3dc396e12f2d8df1456b113a24cdd1b2f3a1f2733864d5cfad22431a987c25fb diff --git a/dev-python/dulwich/dulwich-0.20.44.ebuild b/dev-python/dulwich/dulwich-0.20.44.ebuild new file mode 100644 index 000000000000..6174956163fa --- /dev/null +++ b/dev-python/dulwich/dulwich-0.20.44.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Pure-Python implementation of the Git file formats and protocols" +HOMEPAGE=" + https://github.com/jelmer/dulwich/ + https://pypi.org/project/dulwich/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+ Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + !hppa? ( !ia64? ( !s390? ( + dev-python/gevent[${PYTHON_USEDEP}] + dev-python/geventhttpclient[${PYTHON_USEDEP}] + ) ) ) + app-crypt/gpgme[python,${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/fastimport[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs + +python_test() { + # remove interference from the tests that do stuff like user.name + unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE \ + GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE EMAIL + # Do not use make check which rebuilds the extension and uses -Werror, + # causing unexpected failures. + "${EPYTHON}" -m unittest -v dulwich.tests.test_suite || + die "tests failed with ${EPYTHON}" +} + +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/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild index 7b527b443706..e7ae40078052 100644 --- a/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild +++ b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT PSF-2.4" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc x86" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" distutils_enable_tests pytest diff --git a/dev-python/flit_scm/flit_scm-1.6.2.ebuild b/dev-python/flit_scm/flit_scm-1.6.2.ebuild index 822079f67d1b..f62745f16385 100644 --- a/dev-python/flit_scm/flit_scm-1.6.2.ebuild +++ b/dev-python/flit_scm/flit_scm-1.6.2.ebuild @@ -19,7 +19,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc x86" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-python/flit_core-3.5.0[${PYTHON_USEDEP}] diff --git a/dev-python/furo/furo-2022.6.21.ebuild b/dev-python/furo/furo-2022.6.21.ebuild index 0b8cfcd8b9e6..4b2d667f0dd5 100644 --- a/dev-python/furo/furo-2022.6.21.ebuild +++ b/dev-python/furo/furo-2022.6.21.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~riscv ~x86" +KEYWORDS="~amd64 ~ia64 ~riscv ~s390 ~x86" RDEPEND=" dev-python/beautifulsoup4[${PYTHON_USEDEP}] diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest index 8ac3410f15bd..0c554edb23b2 100644 --- a/dev-python/humanize/Manifest +++ b/dev-python/humanize/Manifest @@ -2,3 +2,4 @@ DIST humanize-4.1.0.tar.gz 73777 BLAKE2B fcbde90977ae9fcd706e423767b1d5617fd118a DIST humanize-4.2.0.tar.gz 75169 BLAKE2B dc590d296362be20f607282686e18df73e1bb07aa37459431d7ec1f74ff6611497811da974b7eb62cd791536268018460d9171eb65ed958af6f12f668b3ae2a8 SHA512 ac0a067320d4dc236d97a69a3019cf01ce87efe2cb98e758f516f90986352fe87d03bfa497d66a2a75e61152a35fd8fac827bafd926d6bd84c8f0d2366e5beb7 DIST humanize-4.2.1.tar.gz 75327 BLAKE2B 1c36002a2a5d103bc1dae444d9d8a70c3983c778674d5c6aa3a76aa82dc9bd3bf39faefd1c3dcf8d0726b151dfb4f8d8247bb88fdc9af765f703edfb08226b8a SHA512 c84f797b01bb8bcc2e036496f0b727f9c21fe88148a6d90f73ddacd25f73059a46bbc60ef8c3bb81554db0c75f1ab9aa1e551d8473aecb40761e51b59580092a DIST humanize-4.2.2.tar.gz 75336 BLAKE2B a95e9fe8536c9a2ecf5c4c40797810ac5825e99504386a8d55f8da0f7c16d4ac7f7aa36d8460e8357d05f34fd5fb6c30b15870b3ff792df7ba2d58080053ab3f SHA512 fa6606975629ef56a72528a543a3114acf17d65d684e868268fb9298f564aac8a1049b9318a4717c8b21f689570f1083fc32bc9eb17bc018c9c2e8e0ee06ec4f +DIST humanize-4.2.3.tar.gz 75390 BLAKE2B b700c7f6da3ea94062ffb0b74fdd8940460c6017c30499b34678750d5f86b4669542c65291f7a8e1c57b446cfc43efa88324c680fc3f817b7bc5018c3e275e50 SHA512 008acdafd2b811da767fdff67c3b12f7ba333fc35b0d51c4b0edc0162659b8ac25dc54ba30f2a266f6a422990dc2522b6c9e017b9a73e8262ed414d63e0c4308 diff --git a/dev-python/humanize/humanize-4.2.3.ebuild b/dev-python/humanize/humanize-4.2.3.ebuild new file mode 100644 index 000000000000..c95640b18f8b --- /dev/null +++ b/dev-python/humanize/humanize-4.2.3.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Common humanization utilities" +HOMEPAGE=" + https://github.com/python-humanize/humanize/ + https://pypi.org/project/humanize/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/hypothesis/hypothesis-6.48.2.ebuild b/dev-python/hypothesis/hypothesis-6.48.2.ebuild index 99f39fc711ba..0f7f2e248952 100644 --- a/dev-python/hypothesis/hypothesis-6.48.2.ebuild +++ b/dev-python/hypothesis/hypothesis-6.48.2.ebuild @@ -25,7 +25,7 @@ S="${WORKDIR}/${MY_P}/hypothesis-python" LICENSE="MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="cli" RDEPEND=" diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest index ecd482abd751..10beb76db047 100644 --- a/dev-python/mako/Manifest +++ b/dev-python/mako/Manifest @@ -1 +1,2 @@ DIST Mako-1.2.0.tar.gz 488603 BLAKE2B 30ef597e2dd500d52d02118e0ec8a40cfeeff00604eb9fec887df4aff794aed7d6a1d78b2defb6f985947f9429d912a083b9941ee30b1e53ef32890d19e94158 SHA512 ad608016d7785a735a28ea18f697be4882da747e3da32e4a7c7be4bf846d37e4d3374d78e62ef85607ae9f3f73ee35dc78b473347e4110c059a504be2c497c6e +DIST Mako-1.2.1.tar.gz 489560 BLAKE2B c8006d5f7a814a1466ad6643200693f014c4a23f284701a9bea6a27246c196c87e5c4bf8e12ae0525563ce60c93944a58b1fa45afc6caf3362aa1d761148910a SHA512 02393054c9e3857ee412f494b01d702b5f367165d2f57a5ff9df34ba1a042b60c7b6c059ce2c53bcb91e3a4a21179eca884ee051bf5f5f3522c05253088d38a5 diff --git a/dev-python/mako/mako-1.2.1.ebuild b/dev-python/mako/mako-1.2.1.ebuild new file mode 100644 index 000000000000..ac09dcb85bce --- /dev/null +++ b/dev-python/mako/mako-1.2.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +MY_P=${P^} +DESCRIPTION="A Python templating language" +HOMEPAGE=" + https://www.makotemplates.org/ + https://github.com/sqlalchemy/mako/ + https://pypi.org/project/Mako/ +" +SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc" + +RDEPEND=" + >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/Babel[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # change in pygments + test/test_exceptions.py::ExceptionsTest::test_format_exceptions_pygments + ) + [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( + test/test_exceptions.py::ExceptionsTest::test_alternating_file_names + ) + local EPYTEST_IGNORE=( + # lingua is not packaged in Gentoo and the skip is currently broken + # https://github.com/sqlalchemy/mako/pull/357 + test/ext/test_linguaplugin.py + ) + epytest +} + +python_install_all() { + rm -r doc/build || die + + use doc && local HTML_DOCS=( doc/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild index ed34d2850d4b..c0bc507dbb3e 100644 --- a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild +++ b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild @@ -30,7 +30,7 @@ SRC_URI=" # Fonts: BitstreamVera, OFL-1.1 LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 sparc x86" IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets" # internal copy of pycxx highly patched diff --git a/dev-python/myst_parser/myst_parser-0.18.0.ebuild b/dev-python/myst_parser/myst_parser-0.18.0.ebuild index 4af74fb00968..8a6442c7db49 100644 --- a/dev-python/myst_parser/myst_parser-0.18.0.ebuild +++ b/dev-python/myst_parser/myst_parser-0.18.0.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86" RDEPEND=" <dev-python/docutils-0.19[${PYTHON_USEDEP}] diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest index c23601338341..867af6e8124f 100644 --- a/dev-python/nuitka/Manifest +++ b/dev-python/nuitka/Manifest @@ -1,3 +1,4 @@ DIST Nuitka-0.8.4.tar.gz 3828278 BLAKE2B dbd6abb945f66ab6a5a359b8370fd3d5d36fbdc2c232b5002356f59ffbfa531180b96467b67a2edbb7a779c75ebe58789e9ae0ff806b5649eea4a5b7d9c0934c SHA512 683918e60f2f65d22911f894c2e4fedeafd9d0ef0cacd48bb66422fa2077f225c7c861186b83b9c0fd50eb965b956a1b26342249b3db2af599250c16fe84a152 DIST Nuitka-0.9.1.tar.gz 3856232 BLAKE2B 61d92ce8eba7b6832cb8fab4e612f66cc6c26986e45c540f7bb07e806cffd70b0348d6c2e0163bfe046a16e2002355264dd8f1c43c8e1741d4c55ca84ade136c SHA512 b9dd496dd0239a954935a55bab95c4bdb5cf2943e7660983d4169f5d0fe53d62cb81ee814b04548ce594004eae658f388e85b675ccbdf3efca79376f13d59f66 +DIST Nuitka-0.9.2.tar.gz 3856931 BLAKE2B daeb80c4682b8cf86335e13d6441169ec342dbd2fd245819eedd91451e84f28de395014a899614c0129df61316583813670614be0054a36406f8172f90d45bd3 SHA512 42fedde68ece78d01d0c5ec891a7a189e895bb3da6e25f944971f081f3b13b23f6553fe99d02a45a90474bf0044d61921ae88a82c787a3e5db24ac1331ccf3ca DIST Nuitka-0.9.tar.gz 3855240 BLAKE2B 59a508aabb04af0b841879a4de23fe9f9f8ea2588125127834319da21ef22ab530d8e39a2baba1b49043e9997dff9a20004fc548af5b09456b5eb3cd8f1d30a8 SHA512 ae2903e89233b7944e1ee1aa846897d30c352302bb8b064a31ab69237dc15ed0e451bba63db5530968e10f60b8da745bf7d7f1f130ff039d9aac2329f628f32f diff --git a/dev-python/nuitka/nuitka-0.9.2.ebuild b/dev-python/nuitka/nuitka-0.9.2.ebuild new file mode 100644 index 000000000000..3574a8ce15f5 --- /dev/null +++ b/dev-python/nuitka/nuitka-0.9.2.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 flag-o-matic optfeature + +DESCRIPTION="Python to native compiler" +HOMEPAGE="https://www.nuitka.net" +SRC_URI="https://nuitka.net/releases/${P^}.tar.gz" +S="${WORKDIR}/${P^}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/scons[${PYTHON_USEDEP}]" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf ) + +distutils-r1_src_prepare() { + # remove vendored version of SCons that is Python2 only + # this should be removed when upstream removes support for Python2 + rm -vR "${PN}/build/inline_copy/lib/scons-2.3.2/SCons" || die + eapply_user +} + +python_install() { + distutils-r1_python_install + doman doc/nuitka3.1 doc/nuitka3-run.1 +} + +python_test() { + append-ldflags -Wl,--no-warn-search-mismatch + ./tests/basics/run_all.py search || die +} + +pkg_postinst() { + optfeature "support for stand-alone executables" app-admin/chrpath +} diff --git a/dev-python/pika/Manifest b/dev-python/pika/Manifest index 1dc78742df02..fbf8ea30e8d6 100644 --- a/dev-python/pika/Manifest +++ b/dev-python/pika/Manifest @@ -1 +1,2 @@ DIST pika-1.2.0.tar.gz 144945 BLAKE2B c8b163e4efeb4630da7f1901dfc087c2f3e53d5828eba7ee519e6f696d6c86d48d72c8c1ed98df9c3c0a6889265b072f5c709abec98522992ba699691e96acb1 SHA512 3ea4ecc3b2c722e8b1ec7d220e0cad7c7ed315a4800cbff6903d351885dc6a792318da1767f4bf1a4a40510be444ee18f3881f654c4ec84de8c3005aa2a404bf +DIST pika-1.3.0.gh.tar.gz 316588 BLAKE2B 0d808b45aa72d7d01fde41d85fbe07c44f7c87dac0b5e6bd40f09264370eaec55bb8d003cae36b0b9835615ab6a94c6f227c499866db63f8fc1c8a4e9592d324 SHA512 ebc12faf2d180dbc226afa34a37492f121d3a01f8884b90bfb0f31972bfb14d8cbff3fa00c2350314f7da4471b34e261328e50f878cd9df67ab896478f28e731 diff --git a/dev-python/pika/pika-1.3.0.ebuild b/dev-python/pika/pika-1.3.0.ebuild new file mode 100644 index 000000000000..cdd744ff4d01 --- /dev/null +++ b/dev-python/pika/pika-1.3.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) +inherit distutils-r1 + +DESCRIPTION="Pure-Python implementation of the AMQP" +HOMEPAGE=" + https://pika.readthedocs.io/ + https://github.com/pika/pika/ + https://pypi.org/project/pika/ +" +SRC_URI="https://github.com/pika/pika/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="test" +RESTRICT="test !test? ( test )" +PROPERTIES="test_network" + +BDEPEND=" + test? ( + dev-python/gevent[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + dev-python/nose2[${PYTHON_USEDEP}] + dev-python/twisted[${PYTHON_USEDEP}] + www-servers/tornado[${PYTHON_USEDEP}] + net-misc/rabbitmq-server + ) +" + +python_test() { + nose2 -v || die "Tests failed with ${EPYTHON}" +} + +src_test() { + einfo "Starting rabbitmq" + local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log" + local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia" + local -x RABBITMQ_LOGS="${T}/rabbitmq.log" + local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid" + local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins" + /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 & + + einfo "Waiting for rabbitmq to fully load" + while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do + sleep 1 + done + einfo "rabbitmq is ready" + + distutils-r1_src_test + + einfo "Stopping rabbitmq" + kill "$(<"${RABBITMQ_PID_FILE}")" || die +} diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest index 28cc1462cb4a..08ee820e3f37 100644 --- a/dev-python/pikepdf/Manifest +++ b/dev-python/pikepdf/Manifest @@ -1,3 +1,4 @@ DIST pikepdf-5.1.3.tar.gz 2356111 BLAKE2B 5a9ec1d06f91be44b4eacc68d7d9449a2bb74b59214ce3d1b10d3cdf81533d38450a2150834d0008cf81475e07e4de241ea16e438450dff6dadd5c15da533223 SHA512 d38a6203b9a4150e4daf4980517b72b0e8e797c57bd82009d6f95a1275c0e6f767e415e14fe6d1614bd51edaf660febafd0f0b85cc46482125aeced8f6912285 DIST pikepdf-5.1.4.gh.tar.gz 2356865 BLAKE2B 7ebeedd7a2bb29371325b0cd6cb89cd56843eee1847cb26f0487d0114a3268e9a15171769abc16502c48684bb1bbe59050a2c692e17857f161ccd10a4663eeb0 SHA512 390c8f07bb5602715a061bf26b272cc8301dbb610ea06b8e5e5560282b7256c03e87717ab62a657c662ef51f549f5d52f0133f3806ff536451664ac93add625a DIST pikepdf-5.1.5.gh.tar.gz 2356890 BLAKE2B e08f311ad2714f856eb29510e847ca2ddf2b3919cc372d4bedb59c7449be69574a32ea6cd23f51c34d56096bb8d2936f70c52a6a948d513277ff2a5d13e35725 SHA512 e6da0471abdd2a8133fb5789f72eb948e32eae24ee61956fb71f5e279151bc6df5d18ac9b6d73987fd9b891739892111df8c5f93c90ba8ae022dbb2821858350 +DIST pikepdf-5.2.0.gh.tar.gz 2359546 BLAKE2B 953a5268eb7dc52934967b593237bb3006ee35e7a1657c0721ef4cdc874c9c51d7920fbdb7e38f67e221b01536166b8811a95021668491e8c783f51a08f49144 SHA512 f36ec09017aeac547c2b4ef17de7513293e8bf243707cb9c0c03826973be266847d8514002be546ac958a735e29765df94efdaecde6ad5f901c329dadc3e9451 diff --git a/dev-python/pikepdf/pikepdf-5.2.0.ebuild b/dev-python/pikepdf/pikepdf-5.2.0.ebuild new file mode 100644 index 000000000000..07b53e5bf4b4 --- /dev/null +++ b/dev-python/pikepdf/pikepdf-5.2.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +MY_P=${P/_p/.post} +DESCRIPTION="Python library to work with pdf files based on qpdf" +HOMEPAGE=" + https://github.com/pikepdf/pikepdf/ + https://pypi.org/project/pikepdf/ +" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV/_p/.post}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + >=app-text/qpdf-10.6.2:0= +" +RDEPEND=" + ${DEPEND} + >=dev-python/lxml-4.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pillow-9[${PYTHON_USEDEP}] + >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}] + >=dev-python/setuptools_scm-6.4[${PYTHON_USEDEP}] + dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + test? ( + >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-5[${PYTHON_USEDEP}] + >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff] + >=dev-python/psutil-5[${PYTHON_USEDEP}] + >=dev-python/pytest-6[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/-n auto/d' pyproject.toml || die + distutils-r1_src_prepare +} diff --git a/dev-python/pycapnp/Manifest b/dev-python/pycapnp/Manifest deleted file mode 100644 index bd496a53f8ee..000000000000 --- a/dev-python/pycapnp/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST pycapnp-0.6.4.tar.gz 531404 BLAKE2B 035e0f37292275af8d5e292cb98f85f3d40ffe6284c0defecdb6d0c79afac97e4570e0042c0be6716a992ab904b844c9f046c5795b97cd8b7dd7625af1b2b219 SHA512 3f2c9d93bcf226fb39ef233b8b5fbc86af73d796986e82b897a571db5d8223fb4f65cc28a8bf4ed57b787b6e5defdca70388ac865f036daff48d6d6f93cbbfc3 diff --git a/dev-python/pycapnp/files/sdist.patch b/dev-python/pycapnp/files/sdist.patch deleted file mode 100644 index e4ef16ec5699..000000000000 --- a/dev-python/pycapnp/files/sdist.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: pycapnp-0.6.4/setup.py -=================================================================== ---- pycapnp-0.6.4.orig/setup.py -+++ pycapnp-0.6.4/setup.py -@@ -49,7 +49,7 @@ try: - changelog = '\nChangelog\n=============\n' + changelog - long_description += changelog - except (IOError, ImportError): -- if sys.argv[2] == 'sdist': -+ if len(sys.argv) > 2 and sys.argv[2] == 'sdist': - raise - long_description = '' - diff --git a/dev-python/pycapnp/metadata.xml b/dev-python/pycapnp/metadata.xml deleted file mode 100644 index b24eabfb59cf..000000000000 --- a/dev-python/pycapnp/metadata.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>aballier@gentoo.org</email> - <name>Alexis Ballier</name> - <description>Python team can take the package if they wish.</description> - </maintainer> - - <origin>gentoo-staging</origin> -</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pycapnp/pycapnp-0.6.4.ebuild b/dev-python/pycapnp/pycapnp-0.6.4.ebuild deleted file mode 100644 index d68b7c6670d8..000000000000 --- a/dev-python/pycapnp/pycapnp-0.6.4.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} ) - -inherit distutils-r1 - -DESCRIPTION="Python wrapping of the Cap'n Proto library" -HOMEPAGE="http://jparyani.github.io/pycapnp/ https://github.com/capnproto/pycapnp" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64" -IUSE="" - -RDEPEND=">=dev-libs/capnproto-0.6:=" -DEPEND="${RDEPEND} - dev-python/cython[${PYTHON_USEDEP}] -" -PATCHES=( "${FILESDIR}/sdist.patch" ) - -src_prepare() { - distutils-r1_src_prepare - # regen cython files - rm -f capnp/lib/capnp.cpp || die - - # Need c++14 for capnp 0.7 - sed -e 's/std=c++11/std=c++14/g' \ - -i setup.py \ - -i buildutils/detect.py \ - -i capnp/*/* \ - || die -} diff --git a/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild index 5ced33934aeb..692f1245227a 100644 --- a/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild +++ b/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 x86" RDEPEND=" >=dev-python/cryptography-35.0[${PYTHON_USEDEP}] diff --git a/dev-python/pypam/Manifest b/dev-python/pypam/Manifest deleted file mode 100644 index 01642e48981b..000000000000 --- a/dev-python/pypam/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST PyPAM-0.5.0.tar.gz 105206 BLAKE2B 7778275cae11606ca8e522d2f99fb0558c55545cdaedb3ff7c55b4bb693ed3429e22566912f53c7795f73316bc45f1bfbdf5a53daec234dba87e1c141e2410f2 SHA512 9e0e919e34930d2283307cd6665c5287c664a76a5de56367bd975867ac26b376ae03d30cb3bc4a16390c977ca2690cfd2e90ac73dcc7886b8c999444da4a07e0 diff --git a/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch b/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch deleted file mode 100644 index 596491c46bcd..000000000000 --- a/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up a/PAMmodule.c b/PAMmodule.c ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -538,10 +538,11 @@ static void PyPAM_dealloc(PyPAMObject *s - free(self->service); - free(self->user); - free(self->conv); -- pam_end(self->pamh, PAM_SUCCESS); -+ if (self->pamh) -+ pam_end(self->pamh, PAM_SUCCESS); - dlclose(self->dlh2); - dlclose(self->dlh1); -- PyMem_DEL(self); -+ PyObject_Del(self); - } - - static PyObject * PyPAM_getattr(PyPAMObject *self, char *name) diff --git a/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch b/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch deleted file mode 100644 index 6da3dd6eb7d6..000000000000 --- a/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff -up a/PAMmodule.c b/PAMmodule.c ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -37,33 +37,48 @@ static void PyPAM_Err(PyPAMObject *self, - - err_msg = pam_strerror(self->pamh, result); - error = Py_BuildValue("(si)", err_msg, result); -- Py_INCREF(PyPAM_Error); - PyErr_SetObject(PyPAM_Error, error); -+ Py_XDECREF(error); - } - - static int PyPAM_conv(int num_msg, const struct pam_message **msg, - struct pam_response **resp, void *appdata_ptr) - { -- PyObject *args; -- -+ PyObject *args, *msgList, *respList, *item; -+ struct pam_response *response, *spr; - PyPAMObject* self = (PyPAMObject *) appdata_ptr; -+ - if (self->callback == NULL) - return PAM_CONV_ERR; - - Py_INCREF(self); - -- PyObject* msgList = PyList_New(num_msg); -- -+ msgList = PyList_New(num_msg); -+ if (msgList == NULL) { -+ Py_DECREF(self); -+ return PAM_CONV_ERR; -+ } -+ - for (int i = 0; i < num_msg; i++) { -- PyList_SetItem(msgList, i, -- Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style)); -+ item = Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style); -+ if (item == NULL) { -+ Py_DECREF(msgList); -+ Py_DECREF(self); -+ return PAM_CONV_ERR; -+ } -+ PyList_SetItem(msgList, i, item); - } -- -+ - args = Py_BuildValue("(OO)", self, msgList); -- PyObject* respList = PyEval_CallObject(self->callback, args); -+ if (args == NULL) { -+ Py_DECREF(self); -+ Py_DECREF(msgList); -+ return PAM_CONV_ERR; -+ } -+ respList = PyEval_CallObject(self->callback, args); - Py_DECREF(args); - Py_DECREF(self); -- -+ - if (respList == NULL) - return PAM_CONV_ERR; - -@@ -71,11 +86,15 @@ static int PyPAM_conv(int num_msg, const - Py_DECREF(respList); - return PAM_CONV_ERR; - } -- -- *resp = (struct pam_response *) malloc( -+ -+ response = (struct pam_response *) malloc( - PyList_Size(respList) * sizeof(struct pam_response)); -+ if (response == NULL) { -+ Py_DECREF(respList); -+ return PAM_CONV_ERR; -+ } -+ spr = response; - -- struct pam_response* spr = *resp; - for (int i = 0; i < PyList_Size(respList); i++, spr++) { - PyObject* respTuple = PyList_GetItem(respList, i); - char* resp_text; -@@ -85,7 +104,7 @@ static int PyPAM_conv(int num_msg, const - free((--spr)->resp); - --i; - } -- free(*resp); -+ free(response); - Py_DECREF(respList); - return PAM_CONV_ERR; - } -@@ -95,7 +114,8 @@ static int PyPAM_conv(int num_msg, const - } - - Py_DECREF(respList); -- -+ *resp = response; -+ - return PAM_SUCCESS; - } - -@@ -122,7 +142,11 @@ static PyObject * PyPAM_pam(PyObject *se - PyPAMObject_Type.ob_type = &PyType_Type; - p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type); - -+ if (p == NULL) -+ return NULL; -+ - if ((spc = (struct pam_conv *) malloc(sizeof(struct pam_conv))) == NULL) { -+ Py_DECREF((PyObject *)p); - PyErr_SetString(PyExc_MemoryError, "out of memory"); - return NULL; - } -@@ -455,9 +479,15 @@ static PyObject * PyPAM_getenvlist(PyObj - } - - retval = PyList_New(0); -+ if (retval == NULL) -+ return NULL; - - while ((cp = *(result++)) != NULL) { - entry = Py_BuildValue("s", cp); -+ if (entry == NULL) { -+ Py_DECREF(retval); -+ return NULL; -+ } - PyList_Append(retval, entry); - Py_DECREF(entry); - } diff --git a/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch b/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch deleted file mode 100644 index f27e9d543d06..000000000000 --- a/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/PAMmodule.c b/PAMmodule.c -index 03cb799..a7ff8a5 100644 ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -24,8 +24,6 @@ typedef struct { - char *service; - char *user; - PyObject *callback; -- struct pam_response *response_data; -- int response_len; - PyObject *user_data; - void *dlh1, *dlh2; - } PyPAMObject; -@@ -54,15 +52,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - - Py_INCREF(self); - -- if (NULL != self->response_data) { -- for (int i = 0; i < self->response_len; i++) { -- free(self->response_data[0].resp); -- } -- free(self->response_data); -- self->response_data = NULL; -- self->response_len = 0; -- } -- - PyObject* msgList = PyList_New(num_msg); - - for (int i = 0; i < num_msg; i++) { -@@ -92,6 +81,10 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - char* resp_text; - int resp_retcode = 0; - if (!PyArg_ParseTuple(respTuple, "si", &resp_text, &resp_retcode)) { -+ while (i > 0) { -+ free((--spr)->resp); -+ --i; -+ } - free(*resp); - Py_DECREF(respList); - return PAM_CONV_ERR; -@@ -100,10 +93,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg, - spr->resp_retcode = resp_retcode; - Py_DECREF(respTuple); - } -- -- // Save this so we can free it later. -- self->response_data = *resp; -- self->response_len = PyList_Size(respList); - - Py_DECREF(respList); - -@@ -144,8 +133,6 @@ static PyObject * PyPAM_pam(PyObject *self, PyObject *args) - p->user = NULL; - Py_INCREF(Py_None); - p->callback = Py_None; -- p->response_data = NULL; -- p->response_len = 0; - Py_INCREF(Py_None); - p->user_data = Py_None; - diff --git a/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch b/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch deleted file mode 100644 index 3773d6fafd20..000000000000 --- a/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up a/PAMmodule.c b/PAMmodule.c ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -248,7 +248,7 @@ static PyObject * PyPAM_setcred(PyObject - result = pam_setcred(_self->pamh, flags); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - -@@ -270,7 +270,7 @@ static PyObject * PyPAM_acct_mgmt(PyObje - result = pam_acct_mgmt(_self->pamh, flags); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - -@@ -292,7 +292,7 @@ static PyObject * PyPAM_chauthtok(PyObje - result = pam_chauthtok(_self->pamh, flags); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - -@@ -314,7 +314,7 @@ static PyObject * PyPAM_open_session(PyO - result = pam_open_session(_self->pamh, flags); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - -@@ -336,7 +336,7 @@ static PyObject * PyPAM_close_session(Py - result = pam_close_session(_self->pamh, flags); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - -@@ -433,7 +433,7 @@ static PyObject * PyPAM_putenv(PyObject - result = pam_putenv(_self->pamh, val); - - if (result != PAM_SUCCESS) { -- PyErr_SetString(PyPAM_Error, "Not authenticated"); -+ PyPAM_Err(_self, result); - return NULL; - } - diff --git a/dev-python/pypam/files/PyPAM-python3-support.patch b/dev-python/pypam/files/PyPAM-python3-support.patch deleted file mode 100644 index a4100953631f..000000000000 --- a/dev-python/pypam/files/PyPAM-python3-support.patch +++ /dev/null @@ -1,198 +0,0 @@ ---- a/PAMmodule.c -+++ b(PAMmodule.c -@@ -15,6 +15,14 @@ - #include <stdio.h> - #include <dlfcn.h> - -+#if PY_MAJOR_VERSION >= 3 -+#define IS_PY3K -+#else -+// include bytesobject.h to map PyBytes_* to PyString_* -+#include <bytesobject.h> -+#endif -+ -+ - static PyObject *PyPAM_Error; - - typedef struct { -@@ -28,7 +36,11 @@ - void *dlh1, *dlh2; - } PyPAMObject; - -+#ifdef IS_PY3K -+static PyTypeObject PyPAMObject_Type; -+#else - staticforward PyTypeObject PyPAMObject_Type; -+#endif - - static void PyPAM_Err(PyPAMObject *self, int result) - { -@@ -139,7 +151,6 @@ - return NULL; - } - -- PyPAMObject_Type.ob_type = &PyType_Type; - p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type); - - if (p == NULL) -@@ -562,35 +573,44 @@ - PyObject_Del(self); - } - --static PyObject * PyPAM_getattr(PyPAMObject *self, char *name) --{ -- return Py_FindMethod(PyPAMObject_Methods, (PyObject *) self, name); --} -- - static PyObject * PyPAM_repr(PyPAMObject *self) - { - char buf[1024]; - - snprintf(buf, 1024, "<pam object, service=\"%s\", user=\"%s\", conv=%p, pamh=%p>", - self->service, self->user, self->conv, self->pamh); -- return PyString_FromString(buf); -+ return PyBytes_FromString(buf); - } - - static PyTypeObject PyPAMObject_Type = { -- PyObject_HEAD_INIT(0) /* Must fill in type value later */ -- 0, -- "pam", -- sizeof(PyPAMObject), -- 0, -- (destructor)PyPAM_dealloc, /*tp_dealloc*/ -- 0, /*tp_print*/ -- (getattrfunc)PyPAM_getattr, /*tp_getattr*/ -- 0, /*tp_setattr*/ -- 0, /*tp_compare*/ -- (reprfunc)PyPAM_repr, /*tp_repr*/ -- 0, /*tp_as_number*/ -- 0, /*tp_as_sequence*/ -- 0, /*tp_as_mapping*/ -+ PyVarObject_HEAD_INIT(NULL, 0) /* Must fill in type value later */ -+ "pam", /* tp_name */ -+ sizeof(PyPAMObject), /* tp_basicsize */ -+ 0, /* tp_itemsize */ -+ (destructor)PyPAM_dealloc, /* tp_dealloc */ -+ 0, /* tp_print */ -+ 0, /* tp_getattr */ -+ 0, /* tp_setattr */ -+ 0, /* tp_compare */ -+ (reprfunc)PyPAM_repr, /* tp_repr */ -+ 0, /* tp_as_number */ -+ 0, /* tp_as_sequence */ -+ 0, /* tp_as_mapping */ -+ 0, /* tp_hash */ -+ 0, /* tp_call */ -+ 0, /* tp_str */ -+ PyObject_GenericGetAttr, /* tp_getattro */ -+ 0, /* tp_setattro */ -+ 0, /* tp_as_buffer */ -+ Py_TPFLAGS_DEFAULT, /* tp_flags */ -+ "PyPAM", /* tp_doc */ -+ 0, /* tp_traverse */ -+ 0, /* tp_clear */ -+ 0, /* tp_richcompare */ -+ 0, /* tp_weaklistoffset */ -+ 0, /* tp_iter */ -+ 0, /* tp_iternext */ -+ PyPAMObject_Methods, /* tp_methods */ - }; - - static PyMethodDef PyPAM_Methods[] = { -@@ -607,7 +627,12 @@ - */ - static void insint(PyObject *d, char *name, int value) - { -- PyObject* v = PyInt_FromLong((long) value); -+ PyObject* v; -+#ifdef IS_PY3K -+ v = PyLong_FromLong((long) value); -+#else -+ v = PyInt_FromLong((long) value); -+#endif - - if (!v || PyDict_SetItemString(d, name, v)) - PyErr_Clear(); -@@ -615,19 +640,42 @@ - Py_XDECREF(v); - } - -+#ifdef IS_PY3K -+static struct PyModuleDef pamdef = { -+ PyModuleDef_HEAD_INIT, -+ "PAM", -+ NULL, -+ -1, -+ PyPAM_Methods, -+ NULL, -+ NULL, -+ NULL, -+ NULL -+}; -+ -+#define INITERROR return NULL -+PyObject *PyInit_PAM(void) -+ -+#else -+#define INITERROR return - void initPAM(void) -+#endif - { - PyObject *m, *d; - -+#ifdef IS_PY3K -+ m = PyModule_Create(&pamdef); -+#else - m = Py_InitModule("PAM", PyPAM_Methods); -+#endif - d = PyModule_GetDict(m); - - PyPAM_Error = PyErr_NewException("PAM.error", NULL, NULL); - if (PyPAM_Error == NULL) -- return; -+ INITERROR; - PyDict_SetItemString(d, "error", PyPAM_Error); - -- PyPAMObject_Type.ob_type = &PyType_Type; -+ Py_TYPE(&PyPAMObject_Type) = &PyType_Type; - PyPAMObject_Type.tp_doc = PyPAMObject_doc; - Py_INCREF(&PyPAMObject_Type); - -@@ -692,4 +740,7 @@ - insint(d, "PAM_BINARY_PROMPT", PAM_BINARY_PROMPT); - #endif - -+#ifdef IS_PY3K -+ return m; -+#endif - } ---- a/setup.py -+++ b/setup.py -@@ -12,7 +12,7 @@ - license='LGPL', - ext_modules=[ - Extension( -- 'PAMmodule', -+ 'PAM', - ['PAMmodule.c'], - libraries=['pam', 'pam_misc'], - extra_compile_args = ['-std=c99'], ---- a/tests/PamTest.py -+++ b/tests/PamTest.py -@@ -41,13 +41,13 @@ - def test_userdata_default(self): - """The default value for userdata is None.""" - -- self.failUnless(self.pam.get_userdata() is None) -+ self.assertTrue(self.pam.get_userdata() is None) - - def test_userdata(self): - """The userdata getter and setter will store and return any data.""" - - self.pam.set_userdata(1) -- self.failUnless(self.pam.get_userdata() == 1) -+ self.assertTrue(self.pam.get_userdata() == 1) - - def test_start(self): - """pam.start() works as expected.""" diff --git a/dev-python/pypam/files/pypam-0.5.0-stricter.patch b/dev-python/pypam/files/pypam-0.5.0-stricter.patch deleted file mode 100644 index 2ebe2d0af953..000000000000 --- a/dev-python/pypam/files/pypam-0.5.0-stricter.patch +++ /dev/null @@ -1,15 +0,0 @@ -=== modified file 'PAMmodule.c' ---- a/PAMmodule.c -+++ b/PAMmodule.c -@@ -9,8 +9,9 @@ - -+#include <Python.h> - #include <security/pam_appl.h> - #include <security/pam_misc.h> --#include <Python.h> - #include <stdio.h> -+#include <string.h> - #include <dlfcn.h> - - static PyObject *PyPAM_Error; - diff --git a/dev-python/pypam/metadata.xml b/dev-python/pypam/metadata.xml deleted file mode 100644 index 83d00b14c8d4..000000000000 --- a/dev-python/pypam/metadata.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> -<pkgmetadata> - - <origin>gentoo-staging</origin> -</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypam/pypam-0.5.0-r6.ebuild b/dev-python/pypam/pypam-0.5.0-r6.ebuild deleted file mode 100644 index ee2be0816e98..000000000000 --- a/dev-python/pypam/pypam-0.5.0-r6.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_USE_SETUPTOOLS=no -MY_P="PyPAM-${PV}" -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 flag-o-matic - -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)" -HOMEPAGE="http://www.pangalactic.org/PyPAM" -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~riscv x86" -IUSE="" - -DEPEND=">=sys-libs/pam-0.64" -RDEPEND="${DEPEND}" - -DOCS=( AUTHORS examples/pamtest.py ) - -PATCHES=( - # Pull patches from fedora. - "${FILESDIR}/PyPAM-${PV}-dealloc.patch" - "${FILESDIR}/PyPAM-${PV}-nofree.patch" - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch" - "${FILESDIR}/PyPAM-${PV}-return-value.patch" - "${FILESDIR}/PyPAM-python3-support.patch" - # Fix a missing include. - "${FILESDIR}/${P}-stricter.patch" -) - -src_compile() { - append-cflags -fno-strict-aliasing - distutils-r1_src_compile -} - -python_test() { - "${PYTHON}" tests/PamTest.py -} diff --git a/dev-python/pypam/pypam-0.5.0-r7.ebuild b/dev-python/pypam/pypam-0.5.0-r7.ebuild deleted file mode 100644 index 60ae93ba40e0..000000000000 --- a/dev-python/pypam/pypam-0.5.0-r7.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_SETUPTOOLS=no -MY_P="PyPAM-${PV}" -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 flag-o-matic - -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)" -HOMEPAGE="http://www.pangalactic.org/PyPAM" -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="" - -DEPEND=">=sys-libs/pam-0.64" -RDEPEND="${DEPEND}" - -DOCS=( AUTHORS examples/pamtest.py ) - -PATCHES=( - # Pull patches from fedora. - "${FILESDIR}/PyPAM-${PV}-dealloc.patch" - "${FILESDIR}/PyPAM-${PV}-nofree.patch" - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch" - "${FILESDIR}/PyPAM-${PV}-return-value.patch" - "${FILESDIR}/PyPAM-python3-support.patch" - # Fix a missing include. - "${FILESDIR}/${P}-stricter.patch" -) - -src_compile() { - append-cflags -fno-strict-aliasing - distutils-r1_src_compile -} - -python_test() { - "${PYTHON}" tests/PamTest.py || die -} diff --git a/dev-python/pypam/pypam-0.5.0-r8.ebuild b/dev-python/pypam/pypam-0.5.0-r8.ebuild deleted file mode 100644 index d93dfde90116..000000000000 --- a/dev-python/pypam/pypam-0.5.0-r8.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -MY_P="PyPAM-${PV}" -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 - -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)" -HOMEPAGE="http://www.pangalactic.org/PyPAM" -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="" - -DEPEND=">=sys-libs/pam-0.64" -RDEPEND="${DEPEND}" - -DOCS=( AUTHORS examples/pamtest.py ) - -PATCHES=( - # Pull patches from fedora. - "${FILESDIR}/PyPAM-${PV}-dealloc.patch" - "${FILESDIR}/PyPAM-${PV}-nofree.patch" - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch" - "${FILESDIR}/PyPAM-${PV}-return-value.patch" - "${FILESDIR}/PyPAM-python3-support.patch" - # Fix a missing include. - "${FILESDIR}/${P}-stricter.patch" -) - -python_test() { - "${EPYTHON}" tests/PamTest.py || die -} diff --git a/dev-python/pypcap/Manifest b/dev-python/pypcap/Manifest deleted file mode 100644 index 8ac8623068fe..000000000000 --- a/dev-python/pypcap/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST pypcap-1.2.3.tar.gz 151087 BLAKE2B c40e83d46b37deb4064877dfcf64582ff5da272a0d416b51faa43c4bd20625b473c624818aad70238f9429fac2455ae5b0516279faf1612f76f289b53d55417e SHA512 e4f701b6637fbcaf847d72eddc1ed344438008c2f8cbd334c9ce5fe17c9ec36f1f2cb1a146a218b8e464a7eb9a57217a8834a82a035ee96c3c1b56ec70e53bff diff --git a/dev-python/pypcap/files/pypcap-1.2.3-mktemp.patch b/dev-python/pypcap/files/pypcap-1.2.3-mktemp.patch deleted file mode 100644 index 8cf41ec28974..000000000000 --- a/dev-python/pypcap/files/pypcap-1.2.3-mktemp.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/pcap_ex.c -+++ b/pcap_ex.c -@@ -11,6 +11,7 @@ - # include <string.h> - # include <signal.h> - # include <unistd.h> -+# include <stdlib.h> - #endif - - #include <pcap.h> -@@ -300,7 +300,7 @@ - char ebuf[PCAP_ERRBUF_SIZE]; - int ret = -1; - -- mktemp(path); -+ mkstemp(path); - if ((f = fopen(path, "w")) != NULL) { - hdr.magic = 0xa1b2c3d4; - hdr.version_major = PCAP_VERSION_MAJOR; diff --git a/dev-python/pypcap/metadata.xml b/dev-python/pypcap/metadata.xml deleted file mode 100644 index 0944828a52c8..000000000000 --- a/dev-python/pypcap/metadata.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>netmon@gentoo.org</email> - <name>Gentoo network monitoring and analysis project</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - - <origin>gentoo-staging</origin> -</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypcap/pypcap-1.2.3-r1.ebuild b/dev-python/pypcap/pypcap-1.2.3-r1.ebuild deleted file mode 100644 index 8a31c6a24ec0..000000000000 --- a/dev-python/pypcap/pypcap-1.2.3-r1.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 - -DESCRIPTION="Simplified object-oriented Python extension module for libpcap" -HOMEPAGE="https://github.com/pynetwork/pypcap https://pypi.org/project/pypcap/" -SRC_URI="https://github.com/pynetwork/pypcap/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -BDEPEND="dev-python/cython[${PYTHON_USEDEP}]" -RDEPEND="net-libs/libpcap" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.2.3-mktemp.patch -) - -python_compile() { - local -x CFLAGS="${CFLAGS} -fno-strict-aliasing" - - # Needed to gain Python 3.9 compatibility - cython pcap.pyx || die "Failed to regenerate pcap.pyx" - - # Now build as usual - distutils-r1_python_compile -} - -python_test() { - cd tests || die - "${EPYTHON}" test.py || die -} diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch b/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch new file mode 100644 index 000000000000..d91b0b6806ca --- /dev/null +++ b/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch @@ -0,0 +1,54 @@ +The Fedora / upstream fixes (shiboken2-5.15.2-python311.patch) end up breaking +Python 3.8 compatibility (maybe 3.9 too, but didn't get that far). + +Wrap them with PY_VERSION_HEX for Python 3.11. +--- a/libpyside/pysideqflags.cpp ++++ b/libpyside/pysideqflags.cpp +@@ -187,7 +187,12 @@ namespace QFlags + } + newspec.slots = SbkNewQFlagsType_spec.slots; + PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec); +- Py_SET_TYPE(type, &PyType_Type); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = &PyType_Type; ++ #else ++ Py_SET_TYPE(type, &PyType_Type); ++ #endif + + PySideQFlagsType *flagsType = reinterpret_cast<PySideQFlagsType *>(type); + PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter; +--- a/libpyside/pysidesignal.cpp ++++ b/libpyside/pysidesignal.cpp +@@ -162,7 +162,13 @@ PyTypeObject *PySideSignalTypeF(void) + if (!type) { + type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&PySideSignalType_spec)); + PyTypeObject *hold = Py_TYPE(type); +- Py_SET_TYPE(type, PySideMetaSignalTypeF()); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = PySideMetaSignalTypeF(); ++ #else ++ Py_SET_TYPE(type, PySideMetaSignalTypeF()); ++ #endif ++ + Py_INCREF(Py_TYPE(type)); + Py_DECREF(hold); + } +--- a/libpyside/pysideweakref.cpp ++++ b/libpyside/pysideweakref.cpp +@@ -90,7 +90,13 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData) + + if (Py_TYPE(PySideCallableObjectTypeF()) == 0) + { +- Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type; ++ #else ++ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); ++ #endif ++ + PyType_Ready(PySideCallableObjectTypeF()); + } + diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python311.patch b/dev-python/pyside2/files/pyside2-5.15.2-python311.patch new file mode 100644 index 000000000000..70b07c4800fd --- /dev/null +++ b/dev-python/pyside2/files/pyside2-5.15.2-python311.patch @@ -0,0 +1,41 @@ +https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch + +From 77fdd690ca14e97b4c800c4127362ca0c83a716a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> +Date: Thu, 9 Jun 2022 13:45:07 +0200 +Subject: [PATCH] Fix usage of Py_TYPE() for Python 3.11 + +The macro was changed to a function, no longer allowing for assignment. +--- a/libpyside/pysideqflags.cpp ++++ b/libpyside/pysideqflags.cpp +@@ -187,7 +187,7 @@ namespace QFlags + } + newspec.slots = SbkNewQFlagsType_spec.slots; + PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec); +- Py_TYPE(type) = &PyType_Type; ++ Py_SET_TYPE(type, &PyType_Type); + + PySideQFlagsType *flagsType = reinterpret_cast<PySideQFlagsType *>(type); + PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter; +--- a/libpyside/pysidesignal.cpp ++++ b/libpyside/pysidesignal.cpp +@@ -162,7 +162,7 @@ PyTypeObject *PySideSignalTypeF(void) + if (!type) { + type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&PySideSignalType_spec)); + PyTypeObject *hold = Py_TYPE(type); +- Py_TYPE(type) = PySideMetaSignalTypeF(); ++ Py_SET_TYPE(type, PySideMetaSignalTypeF()); + Py_INCREF(Py_TYPE(type)); + Py_DECREF(hold); + } +--- a/libpyside/pysideweakref.cpp ++++ b/libpyside/pysideweakref.cpp +@@ -90,7 +90,7 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData) + + if (Py_TYPE(PySideCallableObjectTypeF()) == 0) + { +- Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type; ++ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); + PyType_Ready(PySideCallableObjectTypeF()); + } + diff --git a/dev-python/pyside2/pyside2-5.15.2-r2.ebuild b/dev-python/pyside2/pyside2-5.15.2-r2.ebuild new file mode 100644 index 000000000000..5e4bb9687a30 --- /dev/null +++ b/dev-python/pyside2/pyside2-5.15.2-r2.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit cmake python-r1 virtualx + +# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects" +# USE flag after an external "dev-qt/qtremoteobjects" package has been created. +# TODO: Add conditional support for apidoc generation via a new "doc" USE flag. +# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once +# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support. +# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note +# that the "PySide2/QtGui/CMakeLists.txt" and +# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by +# testing whether the "Qt5::Gui" list property defined by +# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation +# time contains the substring "opengles2". Since cmake does not permit +# properties to be overridden from the command line, these files must instead +# be conditionally patched to avoid these tests. An issue should be filed with +# upstream requesting a CLI-settable variable to control this. + +MY_P=pyside-setup-opensource-src-${PV} + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide2" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}/sources/pyside2" + +# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details. +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE=" + 3d charts concurrent datavis designer gles2-only +gui help location + multimedia +network positioning printsupport qml quick script scripttools + scxml sensors speech sql svg test testlib webchannel webengine websockets + +widgets x11extras xml xmlpatterns +" + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt +# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + 3d? ( gui network ) + charts? ( widgets ) + datavis? ( gui ) + designer? ( widgets xml ) + gles2-only? ( gui ) + help? ( widgets ) + location? ( positioning ) + multimedia? ( gui network ) + printsupport? ( widgets ) + qml? ( gui network ) + quick? ( qml ) + scripttools? ( gui script widgets ) + speech? ( multimedia ) + sql? ( widgets ) + svg? ( widgets ) + testlib? ( widgets ) + webengine? ( + location quick + widgets? ( gui network printsupport webchannel ) + ) + websockets? ( network ) + widgets? ( gui ) + x11extras? ( gui ) +" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-2):5" + +RDEPEND="${PYTHON_DEPS} + >=dev-python/shiboken2-${PV}[${PYTHON_USEDEP}] + dev-qt/qtcore:5= + dev-qt/qtopengl:5= + dev-qt/qtserialport:5= + 3d? ( >=dev-qt/qt3d-${QT_PV}[qml?] ) + charts? ( >=dev-qt/qtcharts-${QT_PV}[qml?] ) + concurrent? ( >=dev-qt/qtconcurrent-${QT_PV} ) + datavis? ( >=dev-qt/qtdatavis3d-${QT_PV}[qml?] ) + designer? ( >=dev-qt/designer-${QT_PV} ) + gui? ( >=dev-qt/qtgui-${QT_PV}[jpeg,gles2-only?] ) + help? ( >=dev-qt/qthelp-${QT_PV} ) + location? ( >=dev-qt/qtlocation-${QT_PV} ) + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[qml?,widgets?] ) + network? ( >=dev-qt/qtnetwork-${QT_PV} ) + positioning? ( >=dev-qt/qtpositioning-${QT_PV}[qml?] ) + printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} ) + qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + script? ( >=dev-qt/qtscript-${QT_PV} ) + scxml? ( >=dev-qt/qtscxml-${QT_PV} ) + sensors? ( >=dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( >=dev-qt/qtspeech-${QT_PV} ) + sql? ( >=dev-qt/qtsql-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + testlib? ( >=dev-qt/qttest-${QT_PV} ) + webchannel? ( >=dev-qt/qtwebchannel-${QT_PV}[qml?] ) + webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets?] ) + websockets? ( >=dev-qt/qtwebsockets-${QT_PV}[qml?] ) + widgets? ( >=dev-qt/qtwidgets-${QT_PV} ) + x11extras? ( >=dev-qt/qtx11extras-${QT_PV} ) + xml? ( >=dev-qt/qtxml-${QT_PV} ) + xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV}[qml?] ) +" +DEPEND="${RDEPEND} + test? ( x11-misc/xvfb-run ) +" + +PATCHES=( + "${FILESDIR}/${P}-python310.patch" + "${FILESDIR}/${P}-python311.patch" + "${FILESDIR}"/${PN}-5.15.2-python311-fixups.patch +) + +src_configure() { + # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=$(usex !script) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns) + ) + + pyside2_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_EXECUTABLE="${PYTHON}" + -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)" + -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}" + ) + cmake_src_configure + } + python_foreach_impl pyside2_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + local -x PYTHONDONTWRITEBYTECODE + python_foreach_impl virtx cmake_src_test +} + +src_install() { + pyside2_install() { + cmake_src_install + python_optimize + + # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig + # file for the current Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \ + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + + # Uniquify the PySide2 pkgconfig file for the current Python target, + # preserving an unversioned "pyside2.pc" file arbitrarily associated + # with the last Python target. (See the previously linked issue.) + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl pyside2_install + + # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., pyside2-tools) to target one + # "libpyside2-*.so" library linked to one Python interpreter. See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)/cmake/PySide2-${PV}/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die +} diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch new file mode 100644 index 000000000000..4ab435555591 --- /dev/null +++ b/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch @@ -0,0 +1,47 @@ +The Fedora / upstream fixes (shiboken2-5.15.2-python311.patch) end up breaking +Python 3.8 compatibility (maybe 3.9 too, but didn't get that far). + +Wrap them with PY_VERSION_HEX for Python 3.11. +--- a/libshiboken/basewrapper.cpp ++++ b/libshiboken/basewrapper.cpp +@@ -366,7 +366,11 @@ SbkObjectType *SbkObject_TypeF(void) + static PyTypeObject *type = nullptr; + if (!type) { + type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec)); +- Py_SET_TYPE(type, SbkObjectType_TypeF()); ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = SbkObjectType_TypeF(); ++ #else ++ Py_SET_TYPE(type, SbkObjectType_TypeF()); ++ #endif + Py_INCREF(Py_TYPE(type)); + type->tp_weaklistoffset = offsetof(SbkObject, weakreflist); + type->tp_dictoffset = offsetof(SbkObject, ob_dict); +@@ -1110,7 +1114,11 @@ introduceWrapperType(PyObject *enclosingObject, + typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF()); + + PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes); +- Py_SET_TYPE(heaptype, SbkObjectType_TypeF()); ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(heaptype) = SbkObjectType_TypeF(); ++ #else ++ Py_SET_TYPE(heaptype, SbkObjectType_TypeF()); ++ #endif + Py_INCREF(Py_TYPE(heaptype)); + auto *type = reinterpret_cast<SbkObjectType *>(heaptype); + #if PY_VERSION_HEX < 0x03000000 +--- a/libshiboken/sbkenum.cpp ++++ b/libshiboken/sbkenum.cpp +@@ -741,7 +741,11 @@ newTypeWithName(const char *name, + copyNumberMethods(numbers_fromFlag, newslots, &idx); + newspec.slots = newslots; + auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec)); +- Py_SET_TYPE(type, SbkEnumType_TypeF()); ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = SbkEnumType_TypeF(); ++ #else ++ Py_SET_TYPE(type, SbkEnumType_TypeF()); ++ #endif + + auto *enumType = reinterpret_cast<SbkEnumType *>(type); + PepType_SETP(enumType)->cppName = cppName; diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch new file mode 100644 index 000000000000..063861a1cb1a --- /dev/null +++ b/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch @@ -0,0 +1,125 @@ +https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch +https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=52df3b8f64 +https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=73adefe22f +https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=a09a1db839 + +From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001 +From: Friedemann Kleint <Friedemann.Kleint@qt.io> +Date: Thu, 9 Jun 2022 16:50:41 +0200 +Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for + Python 3.11 + +The function is passed type objects for class methods, which caused +it to crash. + +The first clause did not catch this, and so it was cast to SbkObject +below. + +Add a type check to prevent this. + +Pick-to: 6.3 6.2 5.15 +Task-number: PYSIDE-1960 +Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e +Reviewed-by: Christian Tismer <tismer@stackless.com> +Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> +--- a/libshiboken/basewrapper.cpp ++++ b/libshiboken/basewrapper.cpp +@@ -1468,6 +1468,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr) + bool isValid(PyObject *pyObj) + { + if (!pyObj || pyObj == Py_None ++ || PyType_Check(pyObj) != 0 + || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) { + return true; + } +--- a/libshiboken/basewrapper.cpp ++++ b/libshiboken/basewrapper.cpp +@@ -366,7 +366,7 @@ SbkObjectType *SbkObject_TypeF(void) + static PyTypeObject *type = nullptr; + if (!type) { + type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec)); +- Py_TYPE(type) = SbkObjectType_TypeF(); ++ Py_SET_TYPE(type, SbkObjectType_TypeF()); + Py_INCREF(Py_TYPE(type)); + type->tp_weaklistoffset = offsetof(SbkObject, weakreflist); + type->tp_dictoffset = offsetof(SbkObject, ob_dict); +@@ -1110,7 +1110,7 @@ introduceWrapperType(PyObject *enclosingObject, + typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF()); + + PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes); +- Py_TYPE(heaptype) = SbkObjectType_TypeF(); ++ Py_SET_TYPE(heaptype, SbkObjectType_TypeF()); + Py_INCREF(Py_TYPE(heaptype)); + auto *type = reinterpret_cast<SbkObjectType *>(heaptype); + #if PY_VERSION_HEX < 0x03000000 +--- a/libshiboken/sbkenum.cpp ++++ b/libshiboken/sbkenum.cpp +@@ -741,7 +741,7 @@ newTypeWithName(const char *name, + copyNumberMethods(numbers_fromFlag, newslots, &idx); + newspec.slots = newslots; + auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec)); +- Py_TYPE(type) = SbkEnumType_TypeF(); ++ Py_SET_TYPE(type, SbkEnumType_TypeF()); + + auto *enumType = reinterpret_cast<SbkEnumType *>(type); + PepType_SETP(enumType)->cppName = cppName; +From a09a1db8391243e6bb290ee66bb6e3afbb114c61 Mon Sep 17 00:00:00 2001 +From: Friedemann Kleint <Friedemann.Kleint@qt.io> +Date: Fri, 24 Jun 2022 09:22:01 +0200 +Subject: libshiboken: Fix crashes with static strings in Python 3.11 + +In Python 3.11, some strings come with a refcount above decimal +1000000000, apparently indicating that they are interned. Replace the +mechanism by PyUnicode_InternFromString(). + +Task-number: PYSIDE-1960 +Pick-to: 6.3 6.2 5.15 +Change-Id: I6436afee351f89da5814b5d6bc76970b1b508168 +Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> +Reviewed-by: Christian Tismer <tismer@stackless.com> +Upstream: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=a09a1db8391243e6bb290ee66bb6e3afbb114c61 + +--- a/libshiboken/sbkstring.cpp ++++ b/libshiboken/sbkstring.cpp +@@ -5,8 +5,14 @@ + #include "sbkstaticstrings_p.h" + #include "autodecref.h" + +-#include <vector> +-#include <unordered_set> ++#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API) ++# define USE_INTERN_STRINGS ++#endif ++ ++#ifndef USE_INTERN_STRINGS ++# include <vector> ++# include <unordered_set> ++#endif + + namespace Shiboken + { +@@ -179,6 +185,13 @@ Py_ssize_t len(PyObject *str) + // PyObject *attr = PyObject_GetAttr(obj, name()); + // + ++#ifdef USE_INTERN_STRINGS ++PyObject *createStaticString(const char *str) ++{ ++ return PyUnicode_InternFromString(str); ++} ++#else ++ + using StaticStrings = std::unordered_set<PyObject *>; + + static void finalizeStaticStrings(); // forward +@@ -225,6 +238,8 @@ PyObject *createStaticString(const char *str) + return result; + } + ++#endif // !USE_INTERN_STRINGS ++ + /////////////////////////////////////////////////////////////////////// + // + // PYSIDE-1019: Helper function for snake_case vs. camelCase names +cgit v1.2.1 + diff --git a/dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild b/dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild new file mode 100644 index 000000000000..ef2bb49bbc6a --- /dev/null +++ b/dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Split the "/usr/bin/shiboken2" binding generator from the +# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former +# requires everything (including Clang) at runtime; the latter only requires +# Qt and Python at runtime. Note that "pip" separates these two as well. See: +# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding +# Once split, the PySide2 ebuild should be revised to require +# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime. +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit cmake llvm python-r1 toolchain-funcs + +MY_P=pyside-setup-opensource-src-${PV} + +DESCRIPTION="Python binding generator for C++ libraries" +HOMEPAGE="https://wiki.qt.io/PySide2" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}/sources/shiboken2" + +# The "sources/shiboken2/libshiboken" directory is triple-licensed under the +# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3 +# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be +# arbitrarily relicensed. (TODO) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="+docstrings numpy test vulkan" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-2):5" + +# Since Clang is required at both build- and runtime, BDEPEND is omitted here. +RDEPEND="${PYTHON_DEPS} + >=dev-qt/qtcore-${QT_PV} + sys-devel/clang:= + sys-devel/clang-runtime:= + docstrings? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + >=dev-qt/qtxml-${QT_PV} + >=dev-qt/qtxmlpatterns-${QT_PV} + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) + vulkan? ( dev-util/vulkan-headers ) +" +DEPEND="${RDEPEND} + test? ( >=dev-qt/qttest-${QT_PV} ) +" + +DOCS=( AUTHORS ) + +PATCHES=( + "${FILESDIR}/${P}-python310.patch" + "${FILESDIR}/${P}-numpy-1.23.patch" + "${FILESDIR}/${P}-python311.patch" + "${FILESDIR}"/${PN}-5.15.2-python311-fixups.patch +) + +# Ensure the path returned by get_llvm_prefix() contains clang as well. +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} + +src_prepare() { + # TODO: File upstream issue requesting a sane way to disable NumPy support. + if ! use numpy; then + sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \ + libshiboken/CMakeLists.txt || die + fi + + # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + if use vulkan; then + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + ApiExtractor/clangparser/compilersupport.cpp || die + fi + + # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide2 does *NOT* care whether the end user has done so or not, as + # PySide2 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'$(CPP=clang clang-fullversion)'/include"))~' \ + ApiExtractor/clangparser/compilersupport.cpp || die + + cmake_src_prepare +} + +src_configure() { + # Minimal tests for now, 2 failing with the extended version + # FIXME Subscripted generics cannot be used with class and instance checks + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DDISABLE_DOCSTRINGS=$(usex !docstrings) + ) + + shiboken2_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_EXECUTABLE="${PYTHON}" + -DUSE_PYTHON_VERSION="${EPYTHON#python}" + ) + # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable. + local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)" + cmake_src_configure + } + python_foreach_impl shiboken2_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + python_foreach_impl cmake_src_test +} + +src_install() { + shiboken2_install() { + cmake_src_install + python_optimize + + # Uniquify the "shiboken2" executable for the current Python target, + # preserving an unversioned "shiboken2" file arbitrarily associated + # with the last Python target. + cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die + + # Uniquify the Shiboken2 pkgconfig file for the current Python target, + # preserving an unversioned "shiboken2.pc" file arbitrarily associated + # with the last Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl shiboken2_install + + # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so" + # library and one "shiboken2" executable linked to one Python interpreter. + # See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i \ + -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \ + -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)"/cmake/Shiboken2-${PV}/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die + + # Remove the broken "shiboken_tool.py" script. By inspection, this script + # reduces to a noop. Moreover, this script raises the following exception: + # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py' + rm "${ED}"/usr/bin/shiboken_tool.py || die +} diff --git a/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild b/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild index b880f36b34fa..e7caea89d1dc 100644 --- a/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild +++ b/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~riscv ~x86" +KEYWORDS="~amd64 ~ia64 ~riscv ~s390 ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild index 05d7d448b85e..3c936200e6d4 100644 --- a/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild +++ b/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86" RDEPEND=" dev-python/pytest[${PYTHON_USEDEP}] diff --git a/dev-python/tempest/Manifest b/dev-python/tempest/Manifest index af735d4eee9b..67f06a5a5fba 100644 --- a/dev-python/tempest/Manifest +++ b/dev-python/tempest/Manifest @@ -1,2 +1,3 @@ DIST tempest-30.1.0.tar.gz 1112219 BLAKE2B 864dbd01a843b9c480656788a3a673ea6c089af8bf67e66837fdb77ee46eef00f2caed3ee08722b113db45d1e39fee167dcb344676543ec82fe5f022ae8c713d SHA512 3c4469d5ab590fe2185dbe77cc1ca1179022b75b4da9f2fe0d43956b14598d56328dd4e62e8445197b25f93017c812edd75cb9fef2d81ae183aea478fd817b15 DIST tempest-31.0.0.tar.gz 1110051 BLAKE2B 9c3c87db902220e3e8de6e88e0d282eae07cb3b155eaa415156e83aff9d52523416fbfcae5b49a335eb81ae3488e4e2aa4cf86d10a35820aa3e24184466576d8 SHA512 9f8cfae192a5fe0fd5d6c1659ae42b5f2042392945e2c91b3bb96cecc412a1e6e582bc46ab481452012dc2440d13bc8298ca875587d5b1592dc95971d9adf4f0 +DIST tempest-31.1.0.tar.gz 1114805 BLAKE2B 29c0f55db6812a4da6bdbce1159a7e5b87ef0caf4b21e0810b6c941633182da12b72675d86ec0f9f2b844d91258439305c059f6f03ed09d45f7758426c6c096f SHA512 56726d5c0aa8d576e3dc200d30a370be08fec178f357381f00ca08883ab1ccf56fbfaa53ec9322a5f4eb5383e0572f25d8cd277848bc0c3a3d12e57722860a2b diff --git a/dev-python/tempest/tempest-31.1.0.ebuild b/dev-python/tempest/tempest-31.1.0.ebuild new file mode 100644 index 000000000000..717a16a2484c --- /dev/null +++ b/dev-python/tempest/tempest-31.1.0.ebuild @@ -0,0 +1,73 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="OpenStack Integration Testing" +HOMEPAGE=" + https://pypi.org/project/tempest/ + https://docs.openstack.org/tempest/latest/ + https://launchpad.net/tempest/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + >dev-python/cliff-2.9.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}] + >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}] + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}] + >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}] + dev-python/stestr[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +src_prepare() { + # Small subset of tests, which fail as result of not using specific + # testing environment. Others expect to run suite using stestr. + rm -r tempest/tests/lib/services/volume/v3/ || die + rm tempest/tests/test_list_tests.py || die + rm tempest/tests/lib/cmd/test_check_uuid.py || die + + # remove dep on hacking + rm tempest/tests/test_hacking.py || die + + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + mv "${BUILD_DIR}"/install/{usr/,}etc || die +} + +python_test() { + local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 OS_TEST_TIMEOUT=320 + eunittest -b -s tempest/tests -t . +} |
