diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-09-30 17:53:36 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-09-30 17:53:36 +0000 |
| commit | 1ec111473796291bd34f3f069d97495d0ceb5085 (patch) | |
| tree | 6f7bc2b212bfd7b8afa598ddab50b51a1c91888a /dev-python | |
| parent | cc3a1f469f99ba33e4af115ed23b933ed656de7e (diff) | |
| download | baldeagleos-repo-1ec111473796291bd34f3f069d97495d0ceb5085.tar.gz baldeagleos-repo-1ec111473796291bd34f3f069d97495d0ceb5085.tar.xz baldeagleos-repo-1ec111473796291bd34f3f069d97495d0ceb5085.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
50 files changed, 1750 insertions, 184 deletions
diff --git a/dev-python/asteval/Manifest b/dev-python/asteval/Manifest index f59972d5c52b..54d188d27705 100644 --- a/dev-python/asteval/Manifest +++ b/dev-python/asteval/Manifest @@ -1,3 +1,2 @@ -DIST asteval-1.0.2.gh.tar.gz 45578 BLAKE2B 87bf6c9eaf4cb8f202bf78f8eb8b670fa7c4619384b8b07dd0b46fbba3f39508d16f69237a0798a705d5077fbe71930d7aa946e637668d5b41ec43d7b5802837 SHA512 6e7ae98e96c359852db46c3c2ba0fa9796375eea84b6f213fe59cf91fb3d9862effa759051e962daf6fc072579b907233166cd12ff4e9a2d04b62a519a8f9af8 -DIST asteval-1.0.3.gh.tar.gz 46346 BLAKE2B 1f0985030d9684db2fbb7f112e32e6d4434f3600a4825c50366aafd9d3a0f1c9a87143e09d6017c69e5ba0987f256162c9b516f2042f872e27469eeb82250214 SHA512 b7dcb52ebb56b114167b05dd743656b427db1bd416c7842fd5ee2ad5c81ff1c62cadcf94b29b218985e4bfbc2111f2ab0b0a6bca172b1092a50edce011fc5e31 DIST asteval-1.0.4.gh.tar.gz 46374 BLAKE2B 4a3133457a752bc99a68fc4bffeb8aab8b4340ef21f8bae75d9131a5bcaa7eb4d081cacdfa7d9396565cc744a4d997e33516ba9cb0ae290392b06bfbcc608f27 SHA512 cf29562a2792013ed8fc7c14aaa261650b05037ee92ab75f8c79a1a235c59e8ee4768955c03ed615798666bfb62bf2ca37105dc93c1a4f56bcf446a0e4ba01f6 +DIST asteval-1.0.5.gh.tar.gz 46599 BLAKE2B 159076d1cdcac9ee6d9bf319ccb6ffcdb775fea7a930dce85d1171ede4f3e2b6acf1e9293cfe9d44e8da2762f20507c0781492fa5e6054a4f28fe836581af958 SHA512 a85cfde94e9f8d224d83b434d028bb91f2eec415090a14c2e8ceeecaba76c8e29c795bd54d9cfabc070dc9ee27cc492cfd533f35c272bf0649e284375b84ba7e diff --git a/dev-python/asteval/asteval-1.0.3.ebuild b/dev-python/asteval/asteval-1.0.3.ebuild deleted file mode 100644 index 13ce4055164e..000000000000 --- a/dev-python/asteval/asteval-1.0.3.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -DESCRIPTION="Evaluator of Python expression using ast module" -HOMEPAGE=" - https://lmfit.github.io/asteval/ - https://github.com/lmfit/asteval/ - https://pypi.org/project/asteval/ -" -SRC_URI=" - https://github.com/lmfit/asteval/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - -python_test() { - epytest -o addopts= -} diff --git a/dev-python/asteval/asteval-1.0.2.ebuild b/dev-python/asteval/asteval-1.0.5.ebuild index 13ce4055164e..13ce4055164e 100644 --- a/dev-python/asteval/asteval-1.0.2.ebuild +++ b/dev-python/asteval/asteval-1.0.5.ebuild diff --git a/dev-python/django-taggit/Manifest b/dev-python/django-taggit/Manifest index 09bf982ba050..5b84f4bd9aba 100644 --- a/dev-python/django-taggit/Manifest +++ b/dev-python/django-taggit/Manifest @@ -1 +1,2 @@ DIST django-taggit-5.0.1.tar.gz 60372 BLAKE2B 1934fc0a92655db15a4997646c44d8faa57b48469421abb7c48ea248525f0c536d658a9a481ed646dc4846c2f8f6ca9799274f9961238bd727ef0bafbb0ddf0c SHA512 af7b04da8359ebf68ea1b5c1fba3ed509b5357d65cccd95d835e0db68431fcbf0057e613cd05c54ac76524c8fc1c23d0dbacae8b80a23bb7867a0fa4a62f445b +DIST django-taggit-6.1.0.gh.tar.gz 146478 BLAKE2B 3480f0a2c3b6e5ee48789bf00331da623d54218ef36e80e60797287fdb9953ae382e90d1bcdcbe8ff9af440530a12b573a17b0218e6f81a5f40c6d26a61b81a7 SHA512 60060e9674f7cca24704d786c5dd7bf985ce4891ed0c2bfed532f1033b97e2fca45b52eeacd475eda17062bb5e11605ebdef745cc45e1ca77a8e654aad1f80e1 diff --git a/dev-python/django-taggit/django-taggit-6.1.0.ebuild b/dev-python/django-taggit/django-taggit-6.1.0.ebuild new file mode 100644 index 000000000000..c30231cc1fb2 --- /dev/null +++ b/dev-python/django-taggit/django-taggit-6.1.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Simple tagging for Django" +HOMEPAGE=" + https://github.com/jazzband/django-taggit/ + https://pypi.org/project/django-taggit/ +" +SRC_URI=" + https://github.com/jazzband/django-taggit/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/django-4.1[${PYTHON_USEDEP}] + dev-python/djangorestframework[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytest-django[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + if has_version "dev-python/unidecode[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + # https://github.com/jazzband/django-taggit/issues/856 + tests/test_models.py::TestSlugification::test_old_slugs + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p django -o DJANGO_SETTINGS_MODULE=tests.settings +} diff --git a/dev-python/executing/executing-2.1.0-r1.ebuild b/dev-python/executing/executing-2.1.0-r1.ebuild new file mode 100644 index 000000000000..644f723bd1fe --- /dev/null +++ b/dev-python/executing/executing-2.1.0-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Get information about what a Python frame is currently doing" +HOMEPAGE=" + https://github.com/alexmojaki/executing/ + https://pypi.org/project/executing/ +" +SRC_URI=" + https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}] + dev-python/littleutils[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +PATCHES=( + # https://github.com/alexmojaki/executing/pull/86 + "${FILESDIR}/${P}-py3126.patch" +) + +python_test() { + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]" + "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]" + ) + ;; + esac + if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/test_ipython.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +pkg_postinst() { + optfeature "getting node's source code" dev-python/asttokens +} diff --git a/dev-python/executing/files/executing-2.1.0-py3126.patch b/dev-python/executing/files/executing-2.1.0-py3126.patch new file mode 100644 index 000000000000..7c3b96d0b568 --- /dev/null +++ b/dev-python/executing/files/executing-2.1.0-py3126.patch @@ -0,0 +1,178 @@ +From 4acebfaa89196785ccc893d56b97ac8598c30e71 Mon Sep 17 00:00:00 2001 +From: Frank Hoffmann <15r10nk-git@polarbit.de> +Date: Mon, 26 Aug 2024 21:43:13 +0200 +Subject: [PATCH 1/2] fix: backward compatibility fix for changed source + positions in 3.12.6 (#85) + +--- + executing/_position_node_finder.py | 15 +++++++++++++++ + tests/generate_small_sample.py | 9 ++++++--- + tests/test_main.py | 5 +++++ + 3 files changed, 26 insertions(+), 3 deletions(-) + +diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py +index 7a81415..c923822 100644 +--- a/executing/_position_node_finder.py ++++ b/executing/_position_node_finder.py +@@ -242,6 +242,21 @@ def fix_result( + # keeping the old behaviour makes it possible to distinguish both cases. + + return node.parent ++ ++ if ( ++ sys.version_info >= (3, 12, 6) ++ and instruction.opname in ("GET_ITER", "FOR_ITER") ++ and isinstance( ++ node.parent.parent, ++ (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp), ++ ) ++ and isinstance(node.parent,ast.comprehension) ++ and node is node.parent.iter ++ ): ++ # same as above but only for comprehensions, see: ++ # https://github.com/python/cpython/issues/123142 ++ ++ return node.parent.parent + return node + + def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: +diff --git a/tests/generate_small_sample.py b/tests/generate_small_sample.py +index 89c7477..573d17a 100644 +--- a/tests/generate_small_sample.py ++++ b/tests/generate_small_sample.py +@@ -18,6 +18,7 @@ + from rich.syntax import Syntax + from rich.console import Console + import argparse ++import ast + + last_samples_dir = Path(__file__).parent / "last_samples" + last_samples_dir.mkdir(exist_ok=True) +@@ -63,6 +64,11 @@ def test_file(filename: Path): + delattr(Source, cache_name) + + test = TestFiles() ++ try: ++ ast.parse(code) ++ except (RecursionError,SyntaxError): ++ return True ++ + try: + with open(os.devnull, "w") as dev_null: + with contextlib.redirect_stderr(dev_null): +@@ -122,9 +128,6 @@ def main(): + break_file.unlink() + sys.exit(0) + +- if time.time() > end_time: +- print("Timeout") +- sys.exit(0) + + if not result: + print(f"{filename} is failing the tests -> minimize\n") +diff --git a/tests/test_main.py b/tests/test_main.py +index 5d4f83b..a3f92ee 100644 +--- a/tests/test_main.py ++++ b/tests/test_main.py +@@ -609,6 +609,11 @@ def __next__(self): + assert {i: i for i in iter_test(ast.DictComp)} == {1: 1, 2: 2} + assert list(i for i in iter_test(ast.GeneratorExp)) == [1, 2] + ++ assert [i for j in [0] for i in iter_test(ast.ListComp)] == [1, 2] ++ assert {i for j in [0] for i in iter_test(ast.SetComp)} == {1, 2} ++ assert {i: i for j in [0] for i in iter_test(ast.DictComp)} == {1: 1, 2: 2} ++ assert list(i for j in [0] for i in iter_test(ast.GeneratorExp)) == [1, 2] ++ + for i in iter_test(ast.For): + assert i in (1, 2) + + +From 6a6925e691681aa5bc05b42bf1f1f06adeb25722 Mon Sep 17 00:00:00 2001 +From: Frank Hoffmann <15r10nk-git@polarbit.de> +Date: Sun, 15 Sep 2024 14:24:10 +0200 +Subject: [PATCH 2/2] fix: handle changed positions for __exit__ of ast.With + +--- + executing/_position_node_finder.py | 50 +++++++++++++++++++ + ...3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py | 3 ++ + 2 files changed, 53 insertions(+) + create mode 100644 tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py + +diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py +index c923822..0f83441 100644 +--- a/executing/_position_node_finder.py ++++ b/executing/_position_node_finder.py +@@ -257,6 +257,51 @@ def fix_result( + # https://github.com/python/cpython/issues/123142 + + return node.parent.parent ++ ++ if sys.version_info >= (3, 12,6) and instruction.opname == "CALL": ++ before = self.instruction_before(instruction) ++ if ( ++ before is not None ++ and before.opname == "LOAD_CONST" ++ and before.positions == instruction.positions ++ and isinstance(node.parent, ast.withitem) ++ and node is node.parent.context_expr ++ ): ++ # node positions for with-statements have change ++ # and is now equal to the expression which created the context-manager ++ # https://github.com/python/cpython/pull/120763 ++ ++ # with context_manager: ++ # ... ++ ++ # but there is one problem to distinguish call-expressions from __exit__() ++ ++ # with context_manager(): ++ # ... ++ ++ # the call for __exit__ ++ ++ # 20 1:5 1:22 LOAD_CONST(None) ++ # 22 1:5 1:22 LOAD_CONST(None) ++ # 24 1:5 1:22 LOAD_CONST(None) ++ # 26 1:5 1:22 CALL() # <-- same source range as context_manager() ++ ++ # but we can use the fact that the previous load for None ++ # has the same source range as the call, wich can not happen for normal calls ++ ++ # we return the same ast.With statement at the and to preserve backward compatibility ++ ++ return node.parent.parent ++ ++ if ( ++ sys.version_info >= (3, 12,6) ++ and instruction.opname == "BEFORE_WITH" ++ and isinstance(node.parent, ast.withitem) ++ and node is node.parent.context_expr ++ ): ++ # handle positions changes for __enter__ ++ return node.parent.parent ++ + return node + + def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: +@@ -895,6 +940,11 @@ def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: + def instruction(self, index: int) -> Optional[dis.Instruction]: + return self.bc_dict.get(index,None) + ++ def instruction_before( ++ self, instruction: dis.Instruction ++ ) -> Optional[dis.Instruction]: ++ return self.bc_dict.get(instruction.offset - 2, None) ++ + def opname(self, index: int) -> str: + i=self.instruction(index) + if i is None: +diff --git a/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py +new file mode 100644 +index 0000000..bfffc14 +--- /dev/null ++++ b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py +@@ -0,0 +1,3 @@ ++async def wait(): ++ async with something: ++ pass +\ No newline at end of file diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 79bb5b923c76..be8f01928d75 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1 +1,2 @@ DIST hypothesis-6.112.1.gh.tar.gz 9476397 BLAKE2B adee46d6a4cf56bbbd8e5a91afc8236b9d311aa18efeaf6b367fc32d5ff3d679e08c5a8c500cedb50ff2cda2bab567a56f5ed564067972bc2f63bd6f5f0b88e1 SHA512 60b68f50a5d8d7ec23b2632a1a3c7d412ecedef6e58ec9e2f0450b07add9ddaa25963cd08cfa1d60741ff54cc47996da02dab1176ab25b8e7ecd3154f1b0446d +DIST hypothesis-6.112.2.gh.tar.gz 9476114 BLAKE2B 50b4dd0e7599732b78fea672738c20b3b20bd51ede08816c63e2adb841e1b441994be68b203bd4cf826d2f258f81b91510668b0b141658938ec31fc14bb464cb SHA512 e4544feb0e12e4bfa380a3e31f33b3898e365fd6063586c1831ee39c21c0447e17d2f10066d59e1c576e6135ae6987ea2b49dfb09a1eeaa379893748b7caa4bd diff --git a/dev-python/hypothesis/hypothesis-6.112.2.ebuild b/dev-python/hypothesis/hypothesis-6.112.2.ebuild new file mode 100644 index 000000000000..902ce1505c8b --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.112.2.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/requests-toolbelt-0.10.1 + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + esac + + epytest -o filterwarnings= tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/iniparse/iniparse-0.5_p20221102.ebuild b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild index e75f00d3a227..61fe69b823c5 100644 --- a/dev-python/iniparse/iniparse-0.5_p20221102.ebuild +++ b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild @@ -25,12 +25,17 @@ S=${WORKDIR}/${MY_P} LICENSE="MIT PSF-2" SLOT="0" KEYWORDS="amd64 arm64 ~riscv x86" +IUSE="test" +RESTRICT="!test? ( test )" RDEPEND=" >=dev-python/six-1.10.0[${PYTHON_USEDEP}] " BDEPEND=" ${RDEPEND} + test? ( + dev-python/test[${PYTHON_USEDEP}] + ) " src_prepare() { diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest index 6dec55404bfa..aa4146d17116 100644 --- a/dev-python/mkdocs-material/Manifest +++ b/dev-python/mkdocs-material/Manifest @@ -3,3 +3,4 @@ DIST mkdocs-material-9.5.35.gh.tar.gz 14791440 BLAKE2B d6cd4826e4a9f57e7c1790063 DIST mkdocs-material-9.5.36.gh.tar.gz 14794813 BLAKE2B 607df2d24803cf8ff41243e9583128f9b9e49c077f6242b3949618cc6e8da9dc8b0e6db8caa0e5bad7f7f2607f4f313e954304091bf80a454ad3d913625947e7 SHA512 d5d86feeb35ca85d47d98ad09285a30075c0e6b925240d2e31d1050f8d55468f33b5f80216eb0fd1fc7833074b97f02abf3b9c277b9d64eec002d487bae8a11c DIST mkdocs-material-9.5.37.gh.tar.gz 14792573 BLAKE2B c232f9212ed47da3524497705a5ad106aa486a0c79ef739bf586d561507f54a0487a609ea4662a7c83aeedc7264ac44f2571d88ac20baac622bab0f696b3a3e6 SHA512 6fb62d4d6e67c1219deebd6313f1c0f3abbadc7f3bc8d0d187ac5a52faf1535a3b0544da0617aa180cf454a6bec16b8ba04067364dba802fc0850ad2aedb3f13 DIST mkdocs-material-9.5.38.gh.tar.gz 14793685 BLAKE2B 6dcfafc67fec3a257a5609bbfe1bf1e0ad246c48d063d94adc221b0cb9caaa3a83647637ecf70143ace738fb600d652315ac9f652bf3f57c0f2a3e01f95be5b4 SHA512 735de92d151df519f4950e0bb9e77e9055472bcb177ddab73ebc8339f4a8f8c8b6bc80a3c9402c3e95fad469f79d253883e538a6d7ec57cacb562150e0a50dea +DIST mkdocs-material-9.5.39.gh.tar.gz 14799240 BLAKE2B 7dcc1ae2cc17c631e76810cb255b894b10c984b083d462b804f3054c3beefcc04b9780a0fa252961ebb5ee2bdb9753cb137e4e2e643edeb4aadcacb1c17bdb9b SHA512 ba698cf60db9f5b991a6193cdab42b6c13c5269fc2ff6bc985f90577e088f7182117b356d5c20a584b5ad56be4667c59f9098f7daddecf39dfd73008b88c2493 diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.39.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.39.ebuild new file mode 100644 index 000000000000..30ab9a0405c7 --- /dev/null +++ b/dev-python/mkdocs-material/mkdocs-material-9.5.39.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +DOCS_BUILDER="mkdocs" +DOCS_DEPEND=" + dev-python/mkdocs-material-extensions + dev-python/mkdocs-minify-plugin + dev-python/mkdocs-redirects +" + +inherit distutils-r1 docs + +DESCRIPTION="A Material Design theme for MkDocs" +HOMEPAGE=" + https://github.com/squidfunk/mkdocs-material/ + https://pypi.org/project/mkdocs-material/ +" +SRC_URI=" + https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="social" + +RDEPEND=" + >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}] + >=dev-python/colorama-0.4[${PYTHON_USEDEP}] + >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}] + >=dev-python/lxml-4.6[${PYTHON_USEDEP}] + >=dev-python/markdown-3.2[${PYTHON_USEDEP}] + >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}] + >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}] + >=dev-python/pygments-2.16[${PYTHON_USEDEP}] + >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}] + >=dev-python/readtime-2.0[${PYTHON_USEDEP}] + >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}] + >=dev-python/requests-2.26[${PYTHON_USEDEP}] + social? ( + >=dev-python/pillow-10.2[${PYTHON_USEDEP}] + >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}] +" +# mkdocs-material-extensions depends on mkdocs-material creating a circular dep +PDEPEND=" + >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}] +" + +PATCHES=( + # simplify pyproject to remove extra deps for metadata + "${FILESDIR}/${PN}-8.5.7-simplify-build.patch" +) + +src_prepare() { + echo "__version__ = '${PV}'" > gentoo_version.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest index fc01ceff77b0..f3b1c774e22e 100644 --- a/dev-python/moto/Manifest +++ b/dev-python/moto/Manifest @@ -2,3 +2,4 @@ DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f3 DIST moto-5.0.13.tar.gz 5389183 BLAKE2B 9428f5857ccf9082a985c90281267cde65f15fc970cbc43e00d6a38663c6786d1d8cd5aede4f01a0bb69c65bfa156e7b12336f19e0e2ff9da44291a367583eb0 SHA512 5fd3fcf4404e61056170eb187c4f9acb42b4178ad56ee44a74fdf423c061aa7455fb1ce4f34e0517e7eadeb2ffb32ea9485c100772fd89d4c12bb8956b2797c0 DIST moto-5.0.14.tar.gz 5436824 BLAKE2B 9bcab90605a73c9b03c09285a00055c552437545b6d524377cec816ac569e4a1e399d84ccdd54ac0c1ac00ae253f8849bb5c3892e8d95021d31fa5c05705b3ba SHA512 063fe3b518263f0dfb9d0dc569d537bcbaba4a439e4945806c641cd7b0bc32e7431972ae800d4d581b1ae200122f5d22870faf8ce025377c174360cad2896aa5 DIST moto-5.0.15.tar.gz 5465282 BLAKE2B c043b0cf5ce42d0633f25ab874e787315367836d54c59ceedc3e85a161b01974671eb6dd42916e45ccaaaab9a48bfa217c0b8f22fbd817da3d2a9b4ee4522a03 SHA512 95c20146d6d5dcb6b49c3bb90e23bc6b656f6773267263bfd6a4f069a572311ef47cde3e1797dce78cfa38a28894b5deaf5e1bbe4bfcde3b49cfeea90cc63b25 +DIST moto-5.0.16.tar.gz 5483357 BLAKE2B 7486a17627451494d09dcad8987da1ab456a9a8ad8fa6bca4650cf1c582e3babb39b502aec0b8c389415181af7e3c8f91ddde16715432a69ade0eb65c0e84ea2 SHA512 2201fe7b74eec9b2896afa5d7eba814c41ffae73b7becfc5e6c80523d51bf19d1de6713a5713758909c8d2343cc0ca1e0e238655153d91da161d043336c1e313 diff --git a/dev-python/moto/moto-5.0.16.ebuild b/dev-python/moto/moto-5.0.16.ebuild new file mode 100644 index 000000000000..222ef9d32a30 --- /dev/null +++ b/dev-python/moto/moto-5.0.16.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi toolchain-funcs + +DESCRIPTION="Mock library for boto" +HOMEPAGE=" + https://github.com/getmoto/moto/ + https://pypi.org/project/moto/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] + dev-python/boto3[${PYTHON_USEDEP}] + >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}] + >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + >=dev-python/docker-3.0.0[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}] + >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}] + dev-python/jsonpath-ng[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}] + >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}] + dev-python/pyaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.15.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/sshpubkeys[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + ) +" + +: "${EPYTEST_TIMEOUT:=180}" +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # Needs network (or docker?) but not marked as such, bug #807031 + # TODO: report upstream + tests/test_core/test_request_passthrough.py + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests + # broken code? (local variable used referenced before definition) + tests/test_appsync/test_appsync_schema.py + # require py_partiql_parser + tests/test_s3/test_s3_select.py + tests/test_dynamodb/test_dynamodb_statements.py + # require joserfc + tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration + tests/test_apigateway/test_apigateway.py::test_create_authorizer + tests/test_apigateway/test_apigateway.py::test_delete_authorizer + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_ + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_ + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed + tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication + tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication + # TODO + tests/test_dynamodb/test_dynamodb_import_table.py + tests/test_firehose/test_firehose_put.py::test_put_record_http_destination + tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination + tests/test_stepfunctions/parser/test_stepfunctions_dynamodb_integration.py::test_zero_retry + ) + local EPYTEST_IGNORE=( + # require joserfc + tests/test_cognitoidp/test_cognitoidp.py + ) + + # test for 32-bit time_t + "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null + #include <sys/types.h> + int test[sizeof(time_t) >= 8 ? 1 : -1]; + EOF + + if [[ ${?} -eq 0 ]]; then + einfo "time_t is at least 64-bit long" + else + einfo "time_t is smaller than 64 bits, will skip broken tests" + EPYTEST_DESELECT+=( + tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments + tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header + tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins + ) + EPYTEST_IGNORE+=( + tests/test_route53domains/test_route53domains_domain.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + + rm -rf moto || die + epytest -m 'not network and not requires_docker' \ + -p rerunfailures --reruns=5 +} diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index ea63b81e16e4..9b4894290f4c 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -2,5 +2,6 @@ DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3 DIST psycopg-3.2.0.gh.tar.gz 549161 BLAKE2B 33997b5ee2f4f814561f83f92e9db4b61664f0ac84f6ff3bfd057d1cf9039a5e169478c8f40deb97e07433cf1481bfa7f4f79765158ec968ff6ab74b5aa6d14e SHA512 4466390a33f55eca73e1d490aca98ad7bb0e4c55b166d8956e1c940f5ea71c7cb07ba5602276f7510b2368d6c0c0e6eacac8d4ae67f465fd07afc4c75283f3c1 DIST psycopg-3.2.1.gh.tar.gz 549277 BLAKE2B badea79ca48b99ae363ffa1d04de922add9456662e0909a2761f61f1a5d03e2afc01ee188814495029551d9521aff95caa7ef3123d96dfcfbb3c0d0a14597e3c SHA512 ecaeee67493ce849a2d7477d0373061ab3b329d228e3c0dd482d7ee8c7eea07c59127db2e6afc0233a78f073306d4adef915aba5f3fc6378c0335c3155350294 DIST psycopg-3.2.2.gh.tar.gz 550226 BLAKE2B 2731190da5b044f16eb0f90fb5417244e46fc0906dde6ee9bd1ee4d91613f59ef1943da6662ad1f3db1487b8cc2b4ccb4e0a79ecc056a8f72c7e2b7b70e39abd SHA512 48686101c9d568003ffbf90cf07bc4496fb161f599b60a2b2df41ac120f338bee7edbeae3786071969d6bbb9acdbe868fa568b9cfa3b7a17dec2d47e5d54f002 +DIST psycopg-3.2.3.gh.tar.gz 550802 BLAKE2B 1f748fc2dc915fd82b2bc557ae4263ecf1070d5ba08681cb6ae21570acf601b03a2bde7e4324cd506e0146c86db976b003c57e99cd1948a930c074f0674d6ba8 SHA512 cf543652cfd27cf1cad3b1e3b8b50802562cc49f8fbd9ae5bd85ffdf26e30dc470f1f3380261c8cad418945ade8dc4f199ebcba08968cb87fd0b6c241fd8040d DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f diff --git a/dev-python/psycopg/psycopg-3.2.3.ebuild b/dev-python/psycopg/psycopg-3.2.3.ebuild new file mode 100644 index 000000000000..6614702ee22f --- /dev/null +++ b/dev-python/psycopg/psycopg-3.2.3.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 flag-o-matic + +DESCRIPTION="PostgreSQL database adapter for Python" +HOMEPAGE=" + https://www.psycopg.org/psycopg3/ + https://github.com/psycopg/psycopg/ + https://pypi.org/project/psycopg/ +" +SRC_URI=" + https://github.com/psycopg/psycopg/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" + +DEPEND=" + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/anyio-4.0[${PYTHON_USEDEP}] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_compile() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/935401 + # https://github.com/psycopg/psycopg/issues/867 + # + # Do not trust with LTO either. + append-flags -fno-strict-aliasing + filter-lto + + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi + cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die + + initdb -D "${T}"/pgsql || die + # TODO: random port + pg_ctl -w -D "${T}"/pgsql start \ + -o "-h '' -k '${T}'" || die + createdb -h "${T}" test || die + + local -x PSYCOPG_TEST_DSN="host=${T} dbname=test" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests for the psycopg_pool package + tests/pool + # some broken mypy magic + tests/test_module.py::test_version + tests/test_module.py::test_version_c + tests/test_typing.py + tests/crdb/test_typing.py + # TODO, relying on undefined ordering in Python? + tests/test_dns_srv.py::test_srv + ) + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + impls+=( c ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -p anyio -k "not leak" \ + -m "not timing and not slow and not flakey" + done +} diff --git a/dev-python/pygame/Manifest b/dev-python/pygame/Manifest index 9d7b5373a2c8..7be429d9246e 100644 --- a/dev-python/pygame/Manifest +++ b/dev-python/pygame/Manifest @@ -1 +1,2 @@ DIST pygame-2.6.0.gh.tar.gz 5970025 BLAKE2B 2a7616982675d8d9a5f306bae709e97e87d4f602f12ea553ca4779f858fb88bf92ac2a4e0f8f63ac52096e1829d2f7805edee919d7e96b7764db72e9cb7f4034 SHA512 bdf36314bd2179ab30942efab4e4cb65eff023b6951d1705a46d7cb4b89095e76bf4dcd04e714224355705d3e44283213fbb807973b3b241bf128b78c80044ae +DIST pygame-2.6.1.gh.tar.gz 5970088 BLAKE2B 70ea8d1828118fe3d1ecb47b51f2384dfa78ff26fd4c6ee72752c3be1b85194f1e3dd5f4cf1456a121599c8da5cd4a874bb0fa453ccc4e606c0989d14152fa73 SHA512 e072b303b89ede611a47622e0233570a74861001e0d92e7f34712d08185ee6112f7a21b529acba743f9fa5ea8cb6b51d611abbb69634660bdc4cf807597240d7 diff --git a/dev-python/pygame/pygame-2.6.1.ebuild b/dev-python/pygame/pygame-2.6.1.ebuild new file mode 100644 index 000000000000..d5868d444d13 --- /dev/null +++ b/dev-python/pygame/pygame-2.6.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for SDL multimedia library" +HOMEPAGE=" + https://www.pygame.org/ + https://github.com/pygame/pygame/ + https://pypi.org/project/pygame/ +" +SRC_URI=" + https://github.com/pygame/pygame/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" +IUSE="examples opengl test X" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + media-libs/freetype + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/portmidi + media-libs/sdl2-image + media-libs/sdl2-mixer + media-libs/sdl2-ttf + X? ( media-libs/libsdl2[opengl?,threads(+),video,X] ) + !X? ( media-libs/libsdl2[threads(+)] ) +" +DEPEND=" + ${RDEPEND} + test? ( + media-libs/sdl2-image[gif,jpeg,png,tiff,webp] + media-libs/sdl2-mixer[mp3,vorbis,wav] + ) +" +# fontconfig used for fc-list +RDEPEND+=" + media-libs/fontconfig +" +# util-linux provides script +BDEPEND=" + >=dev-python/cython-3.0[${PYTHON_USEDEP}] + test? ( + media-libs/fontconfig + sys-apps/util-linux + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # some numpy-related crash (not a regression) + # https://github.com/pygame/pygame/issues/4049 + sed -e 's:import numpy:raise ImportError(""):' \ + -i test/pixelcopy_test.py || die +} + +python_configure() { + PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \ + "${EPYTHON}" "${S}"/buildconfig/config.py || die +} + +python_configure_all() { + find src_c/cython -name '*.pyx' -exec touch {} + || die + "${EPYTHON}" setup.py cython_only || die +} + +python_test() { + local -x SDL_VIDEODRIVER=dummy + local -x SDL_AUDIODRIVER=disk + script -eqc "${EPYTHON} -m pygame.tests -v" || die +} + +python_install() { + distutils-r1_python_install + + # https://bugs.gentoo.org/497720 + rm -fr "${D}$(python_get_sitedir)"/pygame/{docs,examples} || die +} + +python_install_all() { + distutils-r1_python_install_all + use examples && dodoc -r examples +} diff --git a/dev-python/pygraphviz/Manifest b/dev-python/pygraphviz/Manifest index ea30261224ea..1cdf195ec2ca 100644 --- a/dev-python/pygraphviz/Manifest +++ b/dev-python/pygraphviz/Manifest @@ -1 +1,2 @@ DIST pygraphviz-1.13.tar.gz 104642 BLAKE2B 6111c1b811d5359da673f9c43719d21e86e93e7e82e5819872fed6f87ebb74efb87dba40b5dac737b93bffcd51683f143528a135a76e3d6f62615593fdc22b88 SHA512 3159fd9fb1226974c3a6289ebc437eed394021a7fc41669e29879fa6fd5e5cb809c808a4016cfb1afaf30dc10e467e8b0fe5c3b71fb9a1f889efcf5ae6ff3597 +DIST pygraphviz-1.14.tar.gz 106003 BLAKE2B d56b16c6cc0fefeb258f6071424e20e38277bf76a8750ecbc1d9e2e8af5737ff79c78436bdf0d09c0e785e3b1bf90519b9bfd7014cf8373280c58e7057e2ba19 SHA512 867346303d560be21a37080e6d3ce0afe42119ee373f8cd872e853fee611d2c4cb56cc057023230fcf8ffbf03053ea92b9fc2ec6d5e682d6c6667b6727d87899 diff --git a/dev-python/pygraphviz/pygraphviz-1.14.ebuild b/dev-python/pygraphviz/pygraphviz-1.14.ebuild new file mode 100644 index 000000000000..2f2ab560ed12 --- /dev/null +++ b/dev-python/pygraphviz/pygraphviz-1.14.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python wrapper for the Graphviz Agraph data structure" +HOMEPAGE=" + https://pygraphviz.github.io/ + https://github.com/pygraphviz/pygraphviz/ + https://pypi.org/project/pygraphviz/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x86-linux ~ppc-macos ~x64-macos" + +# Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary. +DEPEND=" + media-gfx/graphviz +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-lang/swig:0 +" + +distutils_enable_tests pytest + +src_configure() { + swig -python pygraphviz/graphviz.i || die +} + +python_test() { + cd "${BUILD_DIR}"/install || die + epytest +} + +python_install_all() { + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + + distutils-r1_python_install_all +} diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest index a005e1dafd05..ec88a7428019 100644 --- a/dev-python/pymdown-extensions/Manifest +++ b/dev-python/pymdown-extensions/Manifest @@ -1,5 +1,4 @@ -DIST pymdown_extensions-10.10.1.tar.gz 828448 BLAKE2B 6db04e72229e53c01f358679025ad94905553aa0eefec37887dd91c83ed4e24efc2be41ac533a981880ff7527b2d592dd7958ea7b49ce623b31b94aff69a63f1 SHA512 731cc26e225af87c75d743abc422e27f93fc0fdf2059411580e63b8344e6ede731e57f20b6679c15a3b84f45432273dce6ad63cacbbeed63ab9c31d8338ccdaa DIST pymdown_extensions-10.10.2.tar.gz 829801 BLAKE2B 8da4c0afba79a4736621ce8b644a42b4918c04685c1c0312f6a184007c456f92e106fdfd9ae9be64a32bba1d907b6a528fdc49267d1153c0393a8c20c4ded527 SHA512 5885a8f9ea774a5718647a9d546dc5285186d19761441cd1ef39d5f8be40ee13f8fb6cf8791f890001affa6fe051962a45f8cfe8c1d0c549eb4bfeab956494f9 -DIST pymdown_extensions-10.10.tar.gz 828386 BLAKE2B feca952ef46e405215a9ad3365c9afb24bc042590a3ddd87dae7d38a2ba24236463c3ffd7348446c563259246763b969b2c51986a3843d4645ffa530a44cbfb4 SHA512 09aaf7b4ee54bea055816a9f30da04f2cd7e342aa37163805f2eda19554ef93e33c6ef2853ca6b59ae9ae00f5347742c7ea2ba2abe3b5a2de503ec3106320465 +DIST pymdown_extensions-10.11.1.tar.gz 830215 BLAKE2B b32f11d7c3ee3c680b6a225ec44e7eaab4bd23cc95dd96fff29a037938384ac348ef0405a3fabf9dfb2bccc705e2cc2293d04dec7e323a47612c9a1d2ca7188c SHA512 cb04fef9cf6e2c2371287f0cc914b892a519392bb573b04eb547f96c7167cbd93da5848324c5693fc3e9cbec61c9a6d45b22d12d5164db4a09621d8de1d44999 DIST pymdown_extensions-10.11.tar.gz 829898 BLAKE2B ed0acbfa6ec4b8a61e1a05817aff8abc94545fe9c6da9c43000a696a25c7f3ec7a27b9398079c2cdecad397fff6ddd8716ea07d36c00272ae7ae144a513e39f3 SHA512 a06c00e64635fa6223a7e764e3f5f4604cc7d8ae4c2a8f6e47f6f799e877a213eab5398e67d7bb6586142ad03b2c155897b559bbb66d50e343405d15c53fe7c0 DIST pymdown_extensions-10.9.tar.gz 812128 BLAKE2B 2427c41b8587e8b0c4d9bedc4e7c413959545f6c1a12b2c9453861bdb349cbd5bb70327384821f6423718296f56efa17aae21db79bdd038f330246555bcd538b SHA512 3642ccf18a85ffe6ac03dcb132f4b64009490e2a6d0cc70c322ef7640de2a5895a321f755f2d6e16f9c9e84b112c12ded2db18ff73d3201f7b9e0a10c8cd78b5 diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.10.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.10.ebuild deleted file mode 100644 index 23a947575357..000000000000 --- a/dev-python/pymdown-extensions/pymdown-extensions-10.10.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Extensions for Python Markdown" -HOMEPAGE=" - https://github.com/facelessuser/pymdown-extensions/ - https://pypi.org/project/pymdown-extensions/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" - -RDEPEND=" - >=dev-python/markdown-3.6[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] -" - -BDEPEND=" - test? ( - >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.10.1.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.11.1.ebuild index 23a947575357..23a947575357 100644 --- a/dev-python/pymdown-extensions/pymdown-extensions-10.10.1.ebuild +++ b/dev-python/pymdown-extensions/pymdown-extensions-10.11.1.ebuild diff --git a/dev-python/pyparsing/Manifest b/dev-python/pyparsing/Manifest index 80526b73e638..511c31e43086 100644 --- a/dev-python/pyparsing/Manifest +++ b/dev-python/pyparsing/Manifest @@ -1,2 +1,3 @@ DIST pyparsing-3.1.4.tar.gz 900231 BLAKE2B 121092316528a69f79a8fac5e903de513c4193bd00d5ef7e98dfcb09f3a48eb3384217ede39b0f954f58bdade8644931ce8cef41729539fc1be3dfb910b90be7 SHA512 b475e5571510cd7b07fecbc8ae583b1e75a6308b64018d2884570dfa461e0529b96d02d11403cecac41f92b5d802a5dd4bbf9f8321d58ffa2d24cb89b86652e1 DIST pyparsing-3.2.0b2.tar.gz 913100 BLAKE2B 50cb171b9fec23d04ea30b649f98dba605c317ea50a07a94f4391a63fac9f177421a910b3d52010238692ebae4dce0d236f9f32676db1402514dc5d873a4fae1 SHA512 401d80d7ffffb5407d26a80d1638c0c9516bf242d8b3ac0d0947914105a6b42cce355cc52002921103aee7b668042179be43ea3929b2cda9cf21da99aa0f971e +DIST pyparsing-3.2.0b3.tar.gz 914295 BLAKE2B d542366991972641d5bda7b2d7c1df7de9239d4f8cfdae5ce68d6e763cbc8d5fe87d0bfea18d2b13a6b53d15fa1e97f0d0a9f73735fcb7599f1514f4e1c0e4a6 SHA512 8d743d79f5b099330c186a8a5671d284254db314648ce4f59ce28795122561489d1015419a8ad14dae46d62d1c0c7ffd72b366320ea1e84d4a13655bc8d62e95 diff --git a/dev-python/pyparsing/pyparsing-3.2.0_beta3.ebuild b/dev-python/pyparsing/pyparsing-3.2.0_beta3.ebuild new file mode 100644 index 000000000000..4ba7381cc264 --- /dev/null +++ b/dev-python/pyparsing/pyparsing-3.2.0_beta3.ebuild @@ -0,0 +1,58 @@ +# Copyright 2004-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Easy-to-use Python module for text parsing" +HOMEPAGE=" + https://github.com/pyparsing/pyparsing/ + https://pypi.org/project/pyparsing/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="examples" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # railroad-diagrams not packaged (and not suitable for packaging yet) + tests/test_diagram.py + ) + local EPYTEST_DESELECT=( + # also railroad-diagrams + tests/test_examples.py::TestExamples::test_range_check + tests/test_examples.py::TestExamples::test_rosettacode + tests/test_unit.py::Test02_WithoutPackrat::testEmptyExpressionsAreHandledProperly + tests/test_unit.py::Test04_WithPackrat::testEmptyExpressionsAreHandledProperly + tests/test_unit.py::Test06_WithBoundedPackrat::testEmptyExpressionsAreHandledProperly + tests/test_unit.py::Test08_WithUnboundedPackrat::testEmptyExpressionsAreHandledProperly + tests/test_unit.py::Test09_WithLeftRecursionParsing::testEmptyExpressionsAreHandledProperly + tests/test_unit.py::Test10_WithLeftRecursionParsingBoundedMemo::testEmptyExpressionsAreHandledProperly + ) + + if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/test_matplotlib_cases.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +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/pypdf/Manifest b/dev-python/pypdf/Manifest index 3fbcac15c7ec..c663710f9f8a 100644 --- a/dev-python/pypdf/Manifest +++ b/dev-python/pypdf/Manifest @@ -1,3 +1,4 @@ DIST pypdf-4.3.1.gh.tar.gz 8016393 BLAKE2B 1ff64b79dda008c92670188e174940137da5af721e169e3a45f4784aa5fdd41f9b679701009f9fa59ac31a401786cece8315d72bd7942ca5af8b05e4ed4564be SHA512 17e1b127efe744a0ff2e9733295effcbab8e497d65cae3cb821646df1c0178991771910f0ef0b4f72525d980d840bfdc4290a05ea191669887f2122ec3521825 DIST pypdf-5.0.0.gh.tar.gz 8020126 BLAKE2B 81f1eab322365c52fde063908f474d3a4ae75f888b3e3adcbc083bb189fb0e0046ea8399da101d2725ddb2c2b605766a3a84f236619d290cb592c375dcff30c0 SHA512 f346414b232150c527b623f883f85e2c9010ff189cc41da3bcf7ce8718f529f5285a4a3af6d480115e68baf7a8b12a05bf6ec78c9ca9f346eff9ffba0b9785bd +DIST pypdf-5.0.1.gh.tar.gz 8014103 BLAKE2B 27b7533e56e87b0945058a05aaf6079d7259705c01d4d8601e46b1c5947918d155664250cc5339afe3a3a4cc926abfb34502a7048aba91d67b2bf3661169df72 SHA512 3109164a5fbcb03c397e371802dd8502f78ed31acf38fdf7cf25be959427614ba0cb05662bc7791d8017fa4adb9438e7bba6190266759286f7a82e5618718023 DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3 diff --git a/dev-python/pypdf/pypdf-5.0.1.ebuild b/dev-python/pypdf/pypdf-5.0.1.ebuild new file mode 100644 index 000000000000..1491220de8a8 --- /dev/null +++ b/dev-python/pypdf/pypdf-5.0.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753 +DESCRIPTION="Python library to work with PDF files" +HOMEPAGE=" + https://pypi.org/project/pypdf/ + https://github.com/py-pdf/pypdf/ +" +SRC_URI=" + https://github.com/py-pdf/pypdf/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-4.0[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + test? ( + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_unpack() { + default + if use test; then + mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + tests/test_reader.py::test_decode_permissions + tests/test_workflows.py::test_text_extraction_layout_mode + # rely on -Werror + tests/test_utils.py::test_deprecate_no_replacement + tests/test_workflows.py::test_orientations + tests/test_writer.py::test_remove_image_per_type + tests/test_generic.py::test_name_object + # Internet + tests/test_generic.py::test_calling_indirect_objects + tests/test_writer.py::test_increment_writer + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -m "not enable_socket" +} diff --git a/dev-python/pypresence/pypresence-4.3.0.ebuild b/dev-python/pypresence/pypresence-4.3.0.ebuild index 7d839efabd9c..26a6215ffe32 100644 --- a/dev-python/pypresence/pypresence-4.3.0.ebuild +++ b/dev-python/pypresence/pypresence-4.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pyproject-hooks/Manifest b/dev-python/pyproject-hooks/Manifest index e83e095938e2..0f63b86e1965 100644 --- a/dev-python/pyproject-hooks/Manifest +++ b/dev-python/pyproject-hooks/Manifest @@ -1 +1,2 @@ DIST pyproject-hooks-1.1.0.gh.tar.gz 18774 BLAKE2B e6b376188655a5bc188567f412c22f8224209612c4fb0332f8c0c441180c18589139549139957834b3359bf3ced961e22f97e2449edc354047afaa6d2eff58d7 SHA512 256028d13adbe35126a63431a2a49e0c48adddce5ffc3ff2eebad368eee7ce52591ecfd8a8526876de20bc59dfc87156533d6a97b55538a739873e60f9509eff +DIST pyproject_hooks-1.2.0.tar.gz 19228 BLAKE2B e02864220393876639cc459918f48c02e19835b392102d117cb5900c9a4f5228bc21377421f7afdd67300ba15d131194197a3b4b1ce0ad7fef195bca9be4344b SHA512 e098e521f03cfae9a96c0ee5d2e2ef46ef832d8f38c7d8380fc17355776e09ae3a704879e6e4a2bc7999092c4dbf80267b3b56850135c74d275a12607e0ffe83 diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild new file mode 100644 index 000000000000..97450eda58a6 --- /dev/null +++ b/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks" +HOMEPAGE=" + https://pypi.org/project/pyproject-hooks/ + https://github.com/pypa/pyproject-hooks/ + https://pyproject-hooks.readthedocs.io/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/testpath[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fails due to setuptools 70.1 + # https://bugs.gentoo.org/936052 + # https://github.com/pypa/pyproject-hooks/issues/203 + tests/test_call_hooks.py::test_setup_py +) diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest index 6bad2ad97ee1..8f53c5c18479 100644 --- a/dev-python/pyside6-tools/Manifest +++ b/dev-python/pyside6-tools/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e +DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/pyside6-tools/pyside6-tools-6.7.3.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.7.3.ebuild new file mode 100644 index 000000000000..f71250a28ee4 --- /dev/null +++ b/dev-python/pyside6-tools/pyside6-tools-6.7.3.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 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_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 python-r1 + +MY_PN="pyside-setup-everywhere-src" + +DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools" + +LICENSE="GPL-2" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +RDEPEND="${PYTHON_DEPS} + =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-python/pyside6-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] + !dev-python/pyside6-tools:0 +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" + +src_prepare() { + cmake_src_prepare + + python_copy_sources +} + +src_configure() { + pyside-tools_configure() { + local mycmakeargs=( + # If this is enabled cmake just makes copies of /lib64/qt6/bin/* + -DNO_QT_TOOLS=yes + ) + cmake_src_configure + } + + python_foreach_impl pyside-tools_configure +} + +src_compile() { + pyside-tools_compile() { + cmake_src_compile + } + + python_foreach_impl pyside-tools_compile +} + +src_install() { + pyside-tools_install() { + # This replicates the contents of the PySide6 pypi wheel + DESTDIR="${BUILD_DIR}" cmake_build install + cp __init__.py "${BUILD_DIR}/usr/bin" || die + rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die + python_moduleinto PySide6/scripts + python_domodule "${BUILD_DIR}/usr/bin/." + } + + python_foreach_impl pyside-tools_install + + einstalldocs +} diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest index 6bad2ad97ee1..8f53c5c18479 100644 --- a/dev-python/pyside6/Manifest +++ b/dev-python/pyside6/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e +DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/pyside6/pyside6-6.7.3.ebuild b/dev-python/pyside6/pyside6-6.7.3.ebuild new file mode 100644 index 000000000000..efc1fd90fb63 --- /dev/null +++ b/dev-python/pyside6/pyside6-6.7.3.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2024 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_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 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 "PySide6/QtGui/CMakeLists.txt" and +# "PySide6/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_PN="pyside-setup-everywhere-src" + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside6" + +# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details. +# Shall we allow essential modules to be disabled? They are: +# (core), gui, widgets, printsupport, sql, network, testlib, concurrent, +# x11extras (for X) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE=" + 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location + multimedia +network network-auth nfc positioning +opengl pdfium positioning + +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech + +sql svg test +testlib webchannel webengine websockets +widgets +xml +" + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + 3d? ( gui network ) + charts? ( gui widgets ) + designer? ( widgets ) + gles2-only? ( gui ) + gui? ( dbus opengl ) + help? ( network sql widgets ) + location? ( gui network positioning quick ) + multimedia? ( gui network ) + network-auth? ( network ) + opengl? ( gui ) + pdfium? ( gui ) + printsupport? ( widgets ) + qml? ( network ) + quick? ( gui network opengl qml ) + quick3d? ( gui network opengl qml quick ) + spatialaudio? ( multimedia ) + speech? ( multimedia ) + sql? ( widgets ) + svg? ( gui ) + testlib? ( widgets ) + webchannel? ( qml ) + webengine? ( network gui printsupport quick webchannel ) + websockets? ( network ) + widgets? ( 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-3)*:6" + +RDEPEND="${PYTHON_DEPS} + =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant] ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV} ) + network? ( =dev-qt/qtbase-${QT_PV}[ssl] ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) + !dev-python/pyside6:0 +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" + # References files not present in our dev-qt/qtbase + "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch" +) + +src_configure() { + # See collect_module_if_found macros in PySideHelpers.cmake + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml) + # try to avoid pre-stripping + -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes + -DQFP_NO_STRIP=yes + + ) + + pyside6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)" + -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}" + ) + cmake_src_configure + } + python_foreach_impl pyside6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + local -x PYTHONDONTWRITEBYTECODE + python_foreach_impl virtx cmake_src_test +} + +src_install() { + pyside6_install() { + cmake_src_install + python_optimize + + # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig + # file for the current Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + + # Uniquify the PySide6 pkgconfig file for the current Python target, + # preserving an unversioned "pyside6.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 pyside6_install + + # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., pyside6-tools) to target one + # "libpyside6-*.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~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die +} diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest index 5402419fe983..b137dffaad89 100644 --- a/dev-python/python-multipart/Manifest +++ b/dev-python/python-multipart/Manifest @@ -1,3 +1,4 @@ DIST python-multipart-0.0.10.gh.tar.gz 88275 BLAKE2B 56c1e1e5e59861068f29b66a5bea28234a70c273c1c5f0625f497eda19cc19389ecf6c602cc6fffca6d0681e4ab19b6b536196654f1b7ef9c40b192b475281af SHA512 eb35194b23772f448ff9b9a79bf69425891e39a54c56be92a25cf0c356bfa6ae016ec97c31bcc20535065f2eecdbc14444dfaedb3008c85f26e1a704b6b4b214 DIST python-multipart-0.0.11.gh.tar.gz 88438 BLAKE2B 5d44f25e411d69c0c0e314e6406b36a3429623cd16dbae9e5f848479b096f6765efc99bbefc2026c0be2821d49986e3236beb5bf7dd2a29e6132d984f312b2f8 SHA512 93ba294c66ebbb5fdf29af78aa1022cc68d2d79c129b8a6459e363555629d1bf6cc2d42d9da96bdec63e997b2953959cacc8701d212915744ba90899debfeef1 +DIST python-multipart-0.0.12.gh.tar.gz 92904 BLAKE2B 25076627fdcb3a4bfc9eda74218f9d6d30ea18517da00c312f50c9d3ae156894b29e83bd38d4e11d7d06732999ae9640243e660d2a037253b9f511772a6c737b SHA512 271ed29f3025be5c058a56ec56ce373348dc27b4c8130c17609bd48d73fc975b2ac8387d4989be578e1be01a618aad87c1d3ec3a37dbe73dc45813ec961842d0 DIST python-multipart-0.0.9.gh.tar.gz 49448 BLAKE2B 9ab4026dd4f45e60fd3bd781b178258edc9841e2a999ba6d0e918e37da106d7e9fb5816fa3e2fccb9eb3139c06c83dc892fe3e38b98bc6289dccaee4cdc64260 SHA512 6e41be080e079b1e9730e61d72b5b339fbb447bfb2b171a617c17025c5ad69924ca3c24f39e160f7b1cc495cea0999e72e6674e5631ce88a48240ecc229d0343 diff --git a/dev-python/python-multipart/python-multipart-0.0.12.ebuild b/dev-python/python-multipart/python-multipart-0.0.12.ebuild new file mode 100644 index 000000000000..30de790f2295 --- /dev/null +++ b/dev-python/python-multipart/python-multipart-0.0.12.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="A streaming multipart parser for Python" +HOMEPAGE=" + https://github.com/Kludex/python-multipart/ + https://pypi.org/project/python-multipart/ +" +SRC_URI=" + https://github.com/Kludex/python-multipart/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest index 5f4104ff821b..aa6e03b4eeba 100644 --- a/dev-python/recurring-ical-events/Manifest +++ b/dev-python/recurring-ical-events/Manifest @@ -1,3 +1,2 @@ -DIST python-recurring-ical-events-3.1.1.gh.tar.gz 438998 BLAKE2B 9a141e697444278fd5f41e94e3ab2b12308b38f9c7aaca264e65ffccf9328a36cb67a0e2ed4dbf7dd3abccabf400762184570b62185d39428b0d6c11682d7305 SHA512 3ea995bd56430f9322d888559567dc809552cb6752f4a2acc4e33e385d730b91aa4a2d2389f3ab1ac9dfb5c7eb09327cfc9e858dd06671f7a1c30d39a30e7767 -DIST python-recurring-ical-events-3.2.0.gh.tar.gz 439359 BLAKE2B 10b72e24d97dff1b7d0883a2da632facf1d89945447540acbb64e1f61c490870458bd5c9d389484fbc1be562a88232baf9817dce5be3adc5628e7367b5bef5c5 SHA512 27b9e4e5ed84ad94a1ca12c03995a17ff9db933d98c38f9c34c9cd33fe524e80b55a1507f0e2800b9d027e8030904a06ce05aee596d6d93d2d69ed8ab1ea9046 DIST python-recurring-ical-events-3.3.0.gh.tar.gz 472075 BLAKE2B 70f531550a8d766e027fb9416883880385731c8b72a4115e2311024bfc4eac8fc7e8b06dc079309430e8d9da6d725c3e2efce8ce7e1ae93ca7f1d1cd288ff41b SHA512 d414d2b035c80d46fa7ea63c9df995edf632841b4f2bd9072d9004a2aaf8a9468de276330c5f939f172a93121577bfd1402606b9fab525af9aa662cd49c16501 +DIST python-recurring-ical-events-3.3.1.gh.tar.gz 478584 BLAKE2B 79728b5a1aed1495e468cf0ad86ee1a130b6f5100576ecae93ad2d278ae998fb4a89825c046800c6064eda674499bd5ca2cc29a2031c41486f23155de6d67522 SHA512 dd2b4de334ef48efaf201b833cf21cc25be3a39f9c06466a6a25a0f8402d01d7262c4030ba0878d74efb6b3011bdcf5c7fcea5b114ab908c7fa30a37c3ba6f88 diff --git a/dev-python/recurring-ical-events/recurring-ical-events-3.2.0.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-3.2.0.ebuild deleted file mode 100644 index 2e4ec3e53dc7..000000000000 --- a/dev-python/recurring-ical-events/recurring-ical-events-3.2.0.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -MY_P=python-${P} -DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE" -HOMEPAGE=" - https://github.com/niccokunzmann/python-recurring-ical-events/ - https://pypi.org/project/recurring-ical-events/ -" -SRC_URI=" - https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="LGPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - <dev-python/icalendar-7[${PYTHON_USEDEP}] - >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] - <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}] - >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/icalendar-6[${PYTHON_USEDEP}] - >=dev-python/pytz-2023.3[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -EPYTEST_IGNORE=( - test/test_readme.py -) diff --git a/dev-python/recurring-ical-events/recurring-ical-events-3.1.1.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-3.3.1.ebuild index 2e4ec3e53dc7..2e4ec3e53dc7 100644 --- a/dev-python/recurring-ical-events/recurring-ical-events-3.1.1.ebuild +++ b/dev-python/recurring-ical-events/recurring-ical-events-3.3.1.ebuild diff --git a/dev-python/ruamel-yaml-clib/Manifest b/dev-python/ruamel-yaml-clib/Manifest index 872b5b381480..7ca6bb128809 100644 --- a/dev-python/ruamel-yaml-clib/Manifest +++ b/dev-python/ruamel-yaml-clib/Manifest @@ -1,2 +1 @@ -DIST ruamel.yaml.clib-0.2.7.tar.gz 182535 BLAKE2B 59ac86f3e9812ec393868cea6f5374c7727224542f0b0abedaba29d8826c96a4e86630be4cc1962d0b40f46519b3948c098eb1617f6379201c04f05064dea68b SHA512 b752b17ddf5da99fa6ee18b0ed1836da9a5c3dc58ab8b326d7aa97f6e4daadb298a2f149d79a650ab0326f52873aee6b1bc68cdaeb59465b4fafce49553ce69e DIST ruamel.yaml.clib-0.2.8.tar.xz 163768 BLAKE2B 38f41c45a4e043b01a80d725baeba5fd6e74fa56e86ad0c1e7e0b811f85fd92f98f3ac096419757bae2273537e7c31356d0d222896e631a39ddc36684ebf29e0 SHA512 3877bc6fcefab91f5d2bd013275f63bba6dd2f5ce1b29b74aef73d01638e184ff1f16ab1fbf9ccbf30d148a33f19dc2535ca8b5d8aecca8c48f1d3eef188e151 diff --git a/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch new file mode 100644 index 000000000000..855571f05bb0 --- /dev/null +++ b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch @@ -0,0 +1,75 @@ +--- a/_ruamel_yaml.pxd ++++ b/_ruamel_yaml.pxd +@@ -2,15 +2,15 @@ + cdef extern from "_ruamel_yaml.h": + + void malloc(int l) +- void memcpy(char *d, char *s, int l) ++ void memcpy(unsigned char *d, char *s, int l) + int strlen(char *s) + int PyString_CheckExact(object o) + int PyUnicode_CheckExact(object o) + char *PyString_AS_STRING(object o) + int PyString_GET_SIZE(object o) +- object PyString_FromStringAndSize(char *v, int l) ++ object PyString_FromStringAndSize(unsigned char *v, size_t l) + object PyUnicode_FromString(char *u) +- object PyUnicode_DecodeUTF8(char *u, int s, char *e) ++ object PyUnicode_DecodeUTF8(unsigned char *u, size_t s, char *e) + object PyUnicode_AsUTF8String(object o) + int PY_MAJOR_VERSION + +@@ -85,11 +85,11 @@ + YAML_MAPPING_START_EVENT + YAML_MAPPING_END_EVENT + +- ctypedef int yaml_read_handler_t(void *data, char *buffer, +- int size, int *size_read) except 0 ++ ctypedef int yaml_read_handler_t(void *data, unsigned char *buffer, ++ size_t size, size_t *size_read) except 0 + +- ctypedef int yaml_write_handler_t(void *data, char *buffer, +- int size) except 0 ++ ctypedef int yaml_write_handler_t(void *data, unsigned char *buffer, ++ size_t size) except 0 + + ctypedef struct yaml_mark_t: + int index +@@ -112,7 +112,7 @@ + char *handle + char *suffix + ctypedef struct _yaml_token_scalar_data_t: +- char *value ++ unsigned char *value + int length + yaml_scalar_style_t style + ctypedef struct _yaml_token_version_directive_data_t: +@@ -151,7 +151,7 @@ + ctypedef struct _yaml_event_scalar_data_t: + char *anchor + char *tag +- char *value ++ unsigned char *value + int length + int plain_implicit + int quoted_implicit +--- a/_ruamel_yaml.pyx ++++ b/_ruamel_yaml.pyx +@@ -904,7 +904,7 @@ + raise error + return 1 + +-cdef int input_handler(void *data, char *buffer, int size, int *read) except 0: ++cdef int input_handler(void *data, unsigned char *buffer, size_t size, size_t *read) except 0: + cdef CParser parser + parser = <CParser>data + if parser.stream_cache is None: +@@ -1514,7 +1514,7 @@ + self.ascend_resolver() + return 1 + +-cdef int output_handler(void *data, char *buffer, int size) except 0: ++cdef int output_handler(void *data, unsigned char *buffer, size_t size) except 0: + cdef CEmitter emitter + emitter = <CEmitter>data + if emitter.dump_unicode == 0: diff --git a/dev-python/ruamel-yaml-clib/metadata.xml b/dev-python/ruamel-yaml-clib/metadata.xml index c19bf356a518..8338b89ad44b 100644 --- a/dev-python/ruamel-yaml-clib/metadata.xml +++ b/dev-python/ruamel-yaml-clib/metadata.xml @@ -1,18 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="person"> - <email>andrey_utkin@gentoo.org</email> - <name>Andrey Utkin</name> - </maintainer> - <maintainer type="person"> - <email>marecki@gentoo.org</email> - <name>Marek Szuba</name> - </maintainer> <maintainer type="person"> <email>zoltan@sinustrom.info</email> <name>Zoltan Puskas</name> @@ -21,6 +9,10 @@ <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> <longdescription> This package was split of from ruamel.yaml, so that ruamel.yaml can be built as a universal wheel. Apart from the C code seldom changing, and @@ -30,5 +22,5 @@ ruamel.yaml under /usr/lib/pythonX.Y. </longdescription> - <origin>ports</origin> + <origin>gentoo-staging</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild deleted file mode 100644 index e689272b03e4..000000000000 --- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021-2023 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -MY_PN="${PN//-/.}" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="C-based reader/scanner and emitter for dev-python/ruamel-yaml" -HOMEPAGE="https://pypi.org/project/ruamel.yaml.clib/ https://sourceforge.net/p/ruamel-yaml-clib" -SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86" - -RDEPEND="!<dev-python/ruamel-yaml-0.16.0" - -S="${WORKDIR}"/${MY_P} - -src_prepare() { - # Force regeneration of C files from Cython sources to ensure compatibility with python 3.10 - cd ${S} - rm -v $(grep -rl '/\* Generated by Cython') - mkdir ruamel.yaml.clib - mv *.py ruamel.yaml.clib - cythonize ruamel.yaml.clib/*.py - mv ruamel.yaml.clib/* . - rmdir ruamel.yaml.clib - mv setup.c _ruamel_yaml.c - default -} - -python_install() { - distutils-r1_python_install --single-version-externally-managed -} diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild index fce3dedb6821..d33b2222670a 100644 --- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild +++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild @@ -1,10 +1,11 @@ -# Copyright 2021-2023 Liguros Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 @@ -12,18 +13,26 @@ MY_PN="${PN//-/.}" MY_P="${MY_PN}-${PV}" DESCRIPTION="C-based reader/scanner and emitter for dev-python/ruamel-yaml" -HOMEPAGE="https://pypi.org/project/ruamel.yaml.clib/ https://sourceforge.net/p/ruamel-yaml-clib" -SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz" +HOMEPAGE=" + https://pypi.org/project/ruamel.yaml.clib/ + https://sourceforge.net/projects/ruamel-yaml-clib/ +" +# sdist lacks .pyx files for cythonizing +SRC_URI="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz" +# workaround https://bugs.gentoo.org/898716 +S=${WORKDIR}/ruamel_yaml_clib LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" BDEPEND=" dev-python/cython[${PYTHON_USEDEP}] " -S=${WORKDIR}/ruamel_yaml_clib +PATCHES=( + "${FILESDIR}"/${PN}-0.2.7_cython_pointer_types.patch +) src_unpack() { default diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest index 6bad2ad97ee1..8f53c5c18479 100644 --- a/dev-python/shiboken6/Manifest +++ b/dev-python/shiboken6/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e +DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/shiboken6/shiboken6-6.7.3.ebuild b/dev-python/shiboken6/shiboken6-6.7.3.ebuild new file mode 100644 index 000000000000..bff195e53782 --- /dev/null +++ b/dev-python/shiboken6/shiboken6-6.7.3.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Split the "/usr/bin/shiboken6" binding generator from the +# "/usr/lib64/libshiboken6-*.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/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding +# Once split, the PySide6 ebuild should be revised to require +# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime. +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 python-r1 toolchain-funcs + +MY_PN="pyside-setup-everywhere-src" + +DESCRIPTION="Python binding generator for C++ libraries" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/shiboken6" + +# The "sources/shiboken6/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 shiboken6 output to be +# arbitrarily relicensed. (TODO) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~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-3)*:6" + +# Since Clang is required at both build- and runtime, BDEPEND is omitted here. +RDEPEND="${PYTHON_DEPS} + =dev-qt/qtbase-${QT_PV} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + docstrings? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) + vulkan? ( dev-util/vulkan-headers ) + !dev-python/shiboken6:0 +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +DOCS=( AUTHORS ) + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" +) + +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 + + # Shiboken6 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 + + local clangver="$(CPP=clang clang-major-version)" + + # Clang 15 and older used the full version as a directory name. + if [[ ${clangver} -lt 16 ]]; then + clangver="$(CPP=clang clang-fullversion)" + fi + + # Shiboken6 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. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/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) + ) + + shiboken6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DUSE_PYTHON_VERSION="${EPYTHON#python}" + -DFORCE_LIMITED_API=OFF + ) + # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable. + local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)" + cmake_src_configure + } + python_foreach_impl shiboken6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + python_foreach_impl cmake_src_test +} + +src_install() { + shiboken6_install() { + cmake_src_install + python_optimize + + # Uniquify the "shiboken6" executable for the current Python target, + # preserving an unversioned "shiboken6" file arbitrarily associated + # with the last Python target. + cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die + + # Uniquify the Shiboken6 pkgconfig file for the current Python target, + # preserving an unversioned "shiboken6.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 shiboken6_install + + # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so" + # library and one "shiboken6" 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~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${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/starlette/Manifest b/dev-python/starlette/Manifest index 3ece1b230c8e..1c2c43a2b417 100644 --- a/dev-python/starlette/Manifest +++ b/dev-python/starlette/Manifest @@ -1,3 +1,4 @@ DIST starlette-0.38.5.gh.tar.gz 2569392 BLAKE2B 9ad32478b22cc743652eda43ad71e6b43af9a1c9b42614a16b5fbae282cfdf5e1c092717bb35711d256e75249cf8705d3545289236c78382673f87a9706b7599 SHA512 1ad5ddb497eb35c8b0b2569218b7e98cb4bee0fc2497912aa86bc75fd894264f8d30c886313cc4aa6dd02a24197d71dbd0640b7e2f0a472ce1002ee5cba5ae59 DIST starlette-0.38.6.gh.tar.gz 2569402 BLAKE2B 1d580aa6d5f9782a0f3688f3ebde59ca0a8ec8756b3c05c9d9465af0ead346a566b28e14d068392d6d16a55a22a0c77adc3c99f781003df0b5963cfbb0e01514 SHA512 eeaf3c573e587ce4eec8c10f879b20059e0ca4f14c04865a744a8aefe1b3f51327a291e36db312d119b9df51475584b20d8407332a8817eee5b387255d4826d6 DIST starlette-0.39.1.gh.tar.gz 2572649 BLAKE2B f8b1fb9c64ae73d6018e9ec2f069b413c14060a076d9b3cdcaa6a56219733b65e73a7b8ed8abc6caf4bb896e88a34e326fd98a6f2859e5c05a200bac94aa16bb SHA512 b019d368b5610d8b865a17ff98bec40dacaf1dc830150da907a01a900b058519a9170c80ed92a5a78c835c833e089234e38f939523923e3e566fb2d59de28bfe +DIST starlette-0.39.2.gh.tar.gz 2573134 BLAKE2B e6cd3bd3e2c2fac96d8b145ffae3a680d775a7668d9baf4db09ab81036985c8c0f5cdc6505f6db56f51126013118568c75d6f0dd6c28ea330baf575a5ff7c004 SHA512 2e81e61451136802449baafd152bf6db9cdad9a111713efb16ccef419aeb9a99b004167cd890509bad613df12d300cb5531197867c594c2b755220a1dae7bf14 diff --git a/dev-python/starlette/starlette-0.39.2.ebuild b/dev-python/starlette/starlette-0.39.2.ebuild new file mode 100644 index 000000000000..f84693875c8d --- /dev/null +++ b/dev-python/starlette/starlette-0.39.2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +MY_P=${P/_p/.post} +DESCRIPTION="The little ASGI framework that shines" +HOMEPAGE=" + https://www.starlette.io/ + https://github.com/encode/starlette/ + https://pypi.org/project/starlette/ +" +# no docs or tests in sdist, as of 0.27.0 +SRC_URI=" + https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + <dev-python/anyio-5[${PYTHON_USEDEP}] + >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}] + >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}] + dev-python/itsdangerous[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + ) +" + +: ${EPYTEST_TIMEOUT:-180} +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # Unpackaged 'databases' dependency + tests/test_database.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p anyio +} diff --git a/dev-python/yaxmldiff/Manifest b/dev-python/yaxmldiff/Manifest index bd082e210f10..a3e9868aa350 100644 --- a/dev-python/yaxmldiff/Manifest +++ b/dev-python/yaxmldiff/Manifest @@ -1 +1,2 @@ DIST yaxmldiff-0.1.0.gh.tar.gz 8938 BLAKE2B 9fd9b9ede1d5c28c7d5a47967748de411dbc56b0191c4bcb7f2ee6270093523172497d470c6b99e87ccf50c8a70310500b103ecc3d28a49046f09c70055564b0 SHA512 3b853edd13a95f92d82f563d784d30df4f2876d0a9bf89ad67b3e53228a908fe32407386c221725b30668ac2b98be98623a2fb6da8e268380ee586b49e5ae78e +DIST yaxmldiff-0.2.0.tar.gz 30530 BLAKE2B 011e2ae06d8348c4c45dd6f6f58f61c1ade4a371a5b2f1b6e2cd9970016e96494ac08783551d964731553868c16a8084c96a8143f6338a29ced1eefb8533d060 SHA512 d8a00565d9ec084c9d6ab482317abe65dc44cf80641085fdcbf3464461b7066d56e7153c09198649222c29d9a8a4311d9d7fbf9a1b85ec428e86637601584aa2 diff --git a/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild b/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild new file mode 100644 index 000000000000..32492ec4a703 --- /dev/null +++ b/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Yet Another XML Differ" +HOMEPAGE=" + https://pypi.org/project/yaxmldiff/ + https://github.com/latk/yaxmldiff.py +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" + +RDEPEND=" + dev-python/lxml[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-24.1.0[${PYTHON_USEDEP}] +" |
