diff options
33 files changed, 418 insertions, 585 deletions
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest index 44e44c6020ee..ecb84b3e87b9 100644 --- a/dev-python/apsw/Manifest +++ b/dev-python/apsw/Manifest @@ -1,2 +1,3 @@ DIST apsw-3.42.0.1.gh.tar.gz 881270 BLAKE2B a983aebe53f6baf419fb0fec6d87797d11c1e1f0fadd546139c9b9c3cec6f8848e79af46a928597e6cf33937bb2b2e2157cf908cf18152c7f956864e3d09fe2c SHA512 78a02c8e987df90838923b2a2d4838a184e7e8d9be70a09a4a27eb43e9f06546f831895ab519b681f628e5432b3e5b71d56ecc2f3e45a89765dc13667ca6e844 DIST apsw-3.43.0.0.gh.tar.gz 887997 BLAKE2B ce74eaed990cdf4742ce39743abf0dc112ee3f588bfa0ccca102829d4e29fd38194ac42a85dee25e18f666bdbb2137c99440583996513ea27977374de945ffd7 SHA512 013ef8a45b556498192673c77d8de50136680d061087a80d7ce880137f1ca469812e9237b7336fbb8aacd8d3a775e819a42dc5e70e2d907cf6fea56b80534755 +DIST apsw-3.43.1.0.gh.tar.gz 901289 BLAKE2B 3f463896ce587326421ae78a26b5cccbc5c43a2c54b9502c166f599705fc9afe867c3be5f2ea4de8bc4d2da2f3bf09e034a27744d2114a5bc9b5c622bd852543 SHA512 a3343af87638f04786086c282cf50bfce3074e2a3165ebf172740be13021138a83356e594969791029879dfef12149775b48e0912eb14817358434b3b72ada67 diff --git a/dev-python/apsw/apsw-3.43.1.0.ebuild b/dev-python/apsw/apsw-3.43.1.0.ebuild new file mode 100644 index 000000000000..21c2e33d0999 --- /dev/null +++ b/dev-python/apsw/apsw-3.43.1.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 + +DESCRIPTION="APSW - Another Python SQLite Wrapper" +HOMEPAGE=" + https://github.com/rogerbinns/apsw/ + https://pypi.org/project/apsw/ +" +SRC_URI=" + https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc64 ~x86" +IUSE="doc" + +DEPEND=" + >=dev-db/sqlite-${PV%.*}:3 +" +RDEPEND=" + ${DEPEND} +" + +src_configure() { + cat >> setup.cfg <<-EOF || die + [build_ext] + enable=load_extension + use_system_sqlite_config=True + EOF +} + +python_test() { + esetup.py build_test_extension + cd "${T}" || die + "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}" +} + +python_install_all() { + use doc && local HTML_DOCS=( doc/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index cdd60d916f5e..5d187ab1bde3 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,5 +1,6 @@ DIST cfn-lint-0.78.2.tar.gz 3533168 BLAKE2B 043991f54cd6d793fc91af8d911184d6a98be34fb9a5735fd45113405707802fd0427654cf21de4c15b62fecd149a5d21af1b96ddf8810eb6ea507b5798a8d94 SHA512 63c575ba282cb097b321a8a00e70b1afdffd3c349e031d8a1ff2aacaeb397824e9f19968e2107a00d1aae6d7f644f376174ecc80389ee581727935867d73872e DIST cfn-lint-0.79.10.tar.gz 3701359 BLAKE2B e0182866776bc0c83764ed69bf38af682fb52037bdcdee415c7f5ee6febb752db0e15f3ce4f5f92fc309df7cccf2ecb9b05f85b296ada7000d77973f2b8c0604 SHA512 4ea382996846d08ec11a0cdb35213d064d08ef212f7459588efe1b69b5899ee5fd82f51b9d1a2f5b404909fefa86bb6905e3220795c3d783661a7532bebfeab3 +DIST cfn-lint-0.79.11.tar.gz 3701364 BLAKE2B 434b342a638a241accacd3686b52642737b8b5cce53f4561b3c25029ae3f9a39169cf179591538658658e0d4f39e2b5e61a632b6ef1a00d7e66127ada82e9ada SHA512 757d4fdf0786c312e44204e53b0788edb56a3f7848f858dcc2995943d200c7af0149dad073fa6daee7e109e83e07b4b34f81352c2ec851128a02d012e66e92c8 DIST cfn-lint-0.79.7.tar.gz 3637937 BLAKE2B bfd4583ecbb64cc7dc0b1db91b3afb0859d660be8d3e7d57c427fc6f3cd89b864cd60bbfc0450a2aa7dadb4fa51f275867307bd0fd510d03efd42c2f53b33ee1 SHA512 aa3e89006d92cfb72c191716fc2553aaa8e92d5d5d64f7ebce6459d10abf7d057ee41ca667d99f6153604ae92be98b69425e5e91b7ffc1cbf82466c2c8a3ebd3 DIST cfn-lint-0.79.8.tar.gz 3707474 BLAKE2B fe8790af88f82f7b12ea79cd07567047a0e0a1093d0adfd9b6e388fa2e53756773786c20a2d6231c7d6497748db1ce6d1aa38d4798aae3211e0cb756690e71e2 SHA512 6ae0dacc8fa5447ce8302b32d0e91f4e7c9367eb6f8db1951f19e620b8a9e3afa30c8013c907e2b1faf92daadecc81ac852470fadc30d036669e5e88b236715c DIST cfn-lint-0.79.9.tar.gz 3699097 BLAKE2B d85d520b2bbba0c61766716bbc3222ce5cfd6cb467f215c7914a3996682ac86c5feb11ff01f946641cba0cafb7c1a7cf1a081a76f37dd3daa0e03a4a59b35d7c SHA512 ad11ad76cf48a4c1661ef2b627fcf3c9eed08183a6c4401df826c75818f77d7878332ad2915ebc6dcf833eb15f886124fb15d83b46e9e1add88f911edf30db11 diff --git a/dev-python/cfn-lint/cfn-lint-0.79.11.ebuild b/dev-python/cfn-lint/cfn-lint-0.79.11.ebuild new file mode 100644 index 000000000000..2f89fde89894 --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-0.79.11.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="CloudFormation Linter" +HOMEPAGE=" + https://github.com/aws-cloudformation/cfn-lint/ + https://pypi.org/project/cfn-lint/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.73.0[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/junit-xml[${PYTHON_USEDEP}] + <dev-python/networkx-4[${PYTHON_USEDEP}] + >dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + >=dev-python/requests-2.15.0[${PYTHON_USEDEP}] + >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}] + >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin the deps + sed -e 's:~=[0-9.]*::' -e '/jsonschema/s:,<4.18::' -i setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + test/unit/module/test_template.py::TestTemplate::test_build_graph + # requires git repo + test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs + # Internet + test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter + test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3 + # TODO: it looks as if AWS_DEFAULT_REGION didn't work + test/unit/module/core/test_run_cli.py::TestCli::test_bad_config + test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters + test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters + test/unit/module/core/test_run_cli.py::TestCli::test_template_config + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest index 675bb0aebbac..99d02f485bd6 100644 --- a/dev-python/filelock/Manifest +++ b/dev-python/filelock/Manifest @@ -1,2 +1,3 @@ DIST filelock-3.12.2.tar.gz 12441 BLAKE2B a54eb7841bd037caf537144829818ab25acf7b5a916c6fc2a296a937f36a36b7846cce3b35e751041ccc1dfc5c5c4be1b6031a261927c152657f968bb465915b SHA512 0753743338c4937f57176ef2291f44a919d949c7b3aa73e3210572d670949a60a9ad3efaaaeff198704e1308c169807655bb90d399c1158e4f5c9aae4adcd486 DIST filelock-3.12.3.tar.gz 13746 BLAKE2B 59c66cbbd8e48b262abe3a95232ba873d4402429c79cf1eb985d08ee27f54ee4991a2e81e328378b800fecfbb359fa445979f97c953232f17fe8f4169b376eb7 SHA512 b759ea6dd943da0bfd8eb375dadc277fe83ebdca8b46989bb96fe5dea1ea5637a66729ce3f283b6858db81c9998655bd9efcc6bbe36a998f18bed5bdf9219c88 +DIST filelock-3.12.4.tar.gz 13758 BLAKE2B b1898870928fcc40055274ef2cbe58b818f5aca30dc3864bd8b00c1f88b50050e1aac4380c5b0ba850b52aed4862a3c5ad2090f1d786df3cfe70d10116e4f1b2 SHA512 1ea0769afdbddc030f078a87a669b17425389526a6ba7f7577b350e0206efa6a54b284f1dbd7dfba0bda6e2450a181f5e4ab7cec2ca6ba09830bafad52128e86 diff --git a/dev-python/filelock/filelock-3.12.4.ebuild b/dev-python/filelock/filelock-3.12.4.ebuild new file mode 100644 index 000000000000..b56b00caed98 --- /dev/null +++ b/dev-python/filelock/filelock-3.12.4.ebuild @@ -0,0 +1,29 @@ +# Copyright 2018-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A platform independent file lock for Python" +HOMEPAGE=" + https://github.com/tox-dev/filelock/ + https://pypi.org/project/filelock/ +" + +LICENSE="Unlicense" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index aa8f222b7b24..fa2d2a4f687b 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -5,3 +5,4 @@ DIST sqlglot-18.1.0.tar.gz 8570691 BLAKE2B 5c38baaa9600222c43f11338f2050eaf2e382 DIST sqlglot-18.2.0.tar.gz 8585675 BLAKE2B e66be52c97f18811e30d9ee2a3a8ae99ddb72e860a05f85fe48bb3e4b94c089fa425cf21ea66f2c6e45ac6f3823f339eb9fcfd1598a1c7a80d519790a6c0fc8a SHA512 3dffe0a7a6325829d648d988b4fe43cc27121a4d6684c863aee926c2100061309491cb1b5c6ad4076222b97131636cb843d705d7f4097aa600e177577e8ec7c4 DIST sqlglot-18.3.0.tar.gz 8599907 BLAKE2B 77e238dc8c8afe2c62a3c8c0ced6afbb0358a776189cef5e08b2c4830da04e573b11f703824a5038c5cf8d27cc31ac92f014aab459932742d8425ca834a6d473 SHA512 63ac8356483d13d6a53421f5fde8a4b2f56f34dc68d1d19a21e625c292a8ca9258da30905fd029dbe7bda59aebd0e358fa6e82cef240304ed1c571cfd19fc212 DIST sqlglot-18.4.1.tar.gz 8633851 BLAKE2B 0bae952b755f473a8cafd26df0c5e4a09c05bec228bb73bc99eca83eda12d05f1a68d8f07d659ed3418fce629d22ad5d7fd879f0b8feef39ac505a0c5bdbbf23 SHA512 405bb7efa2b5a5831e508818d6a0dab4d1aaf9cab69e98babfd4cc9fe321cbf9dff1d95aa879b736c497599156fb506edd871cd159c9bb94c60390c45d9eefa2 +DIST sqlglot-18.5.0.tar.gz 8634825 BLAKE2B aaf1854e87fea1ba598c45b12ef142bd825fcdfed4b247d4c0ee83e360154cb8a14ff3386e1635cd735f029b357d978dc3b39295cb1a733c653ade8efeabf0f7 SHA512 d75d45da61f0cc70a845776a4bb6aefc414b42cce81be3f8b26d305476e495f08cb017930af07bbe2296e049f65ea40137256b995233069ebfc076fce0bcab78 diff --git a/dev-python/sqlglot/sqlglot-18.5.0.ebuild b/dev-python/sqlglot/sqlglot-18.5.0.ebuild new file mode 100644 index 000000000000..368b77416b42 --- /dev/null +++ b/dev-python/sqlglot/sqlglot-18.5.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" +) + +distutils_enable_tests pytest + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest index 5b5068b7d8af..e3ad3257dc4a 100644 --- a/dev-python/zeroconf/Manifest +++ b/dev-python/zeroconf/Manifest @@ -1,13 +1,4 @@ -DIST zeroconf-0.102.0.tar.gz 152692 BLAKE2B c1a823b185cebe193d00c768ff4023a4ee11be662ae26c61b135acf7cf0c2d743e23f4b2a49f8914c483a66131e4200f115cb7f1d4b96e5c70f899dfa0fc2efb SHA512 877bf194c8aa4832e1ef36d9a1ce08611b5ae8a01dee697ab63d057eb56c9962fb423b6de82406016e67f81d37cb7b661371d84b78e6e91e93c22dc0944da59b -DIST zeroconf-0.103.0.tar.gz 152821 BLAKE2B 29c3813480f7cbf62d02067f672bcb4f27d1f5fa3c3abc5f9e7cceb7440d3d3cd0992d0c5b8a71194bd1dad1257c108cec3ab7d0fbd296e15970e25c905ef1f4 SHA512 3c58287ad53b61a533b279a0ecbf6d7b948dffc63a8eab2d2ea2908a8d895ae88de2ac73744991352f55e52bed745d0e6c0a6424066572ba33542c43d0765d4f -DIST zeroconf-0.105.0.tar.gz 154143 BLAKE2B c74d7213092a24b1f2bc9320424156b896d05e8ed9be48e2a1fba099267937f3e1c855b98ce5a1c48beae97777d455c18afed63248062c6eaa6729ca8225dc02 SHA512 e3fc68d01d6276ef087693ed72035b2ab26f50ddfbb3b5cf054e37c9198f1202e882fc23a58afbf11dd2032fefd5f2950227029df6408d5bddd6a8f456a1fc0b DIST zeroconf-0.108.0.tar.gz 154905 BLAKE2B c5ec272233faca801f30a0699a71a410f29d13565890ef25eb3ad164914fbe7a9f282c082cfe8fef3c47a72e92b5e1e33b6ccaefb96b30d3d2cb82dc624ec072 SHA512 a5206b548a8d32ac082e6aaff63437f488d5cac4200b24d2a8c9343e6bc859afb237d6e8003c569174c6c91ed2bba65044f37f730fb4d40664be70691d84d4ee +DIST zeroconf-0.111.0.tar.gz 155788 BLAKE2B c166a2c1f363bba8feb5ab2098715bdc0bf3aecc8fad13c890d9737240deede3d241b9da6e7924ec8739118aeea1c447d4b60d0ccb0f2bfdaf96891da6db0b92 SHA512 23a53f9f14b69ebe79e261c8f065be4ab7b1d4bd4904446d9670390c3723fe052577ce7f57e455670e04ff7aa95a87d1b4c90fea2eeb0c3f2eaf214263ce76d5 DIST zeroconf-0.82.1.tar.gz 147915 BLAKE2B 608d077e042f1b74f25f44b5b64350782944d0f4da96bb17a32bf9cbedfe5c1b751a8731a65c5cac86cc458425f2e38d0549317e7216c577567d0852a7a6c7ed SHA512 a02e9b1c6ce976de815f902f5607d6b0fecba4abc403234cbeeeef1abe450c3894e6c117bb554ba76c27250c748b36b862abb8ed059f0da8d31e5b10e5f1c2e1 -DIST zeroconf-0.86.0.tar.gz 149030 BLAKE2B d2ea241bcd1416517d8ac9e98c205c956419bc4d33492f8044fe1819458166cd20acb83e56b0e05c69feb473b026a277bc739541195bc2df8ee0e0b748c10c94 SHA512 1b4260ff9498d0a6504960162bd1d75485e83e816c7cb063d71857c77edae40a580d841b8d65940cfd2fe47f0dfa3f6e96f5b907e9c7b626e7ae9bc365219dc8 -DIST zeroconf-0.87.0.tar.gz 149844 BLAKE2B ef946a08b97493e536560178cc6516d86c8315b8db16d59867e7979d6f35a514f27d6cde401a7de5ec23b20f37f35ddde59ce6addd545d7640e3f15560859637 SHA512 cec7ea7e9bbac068b6ed6528a284de29c88ba0d4fc0ccf077b6520a4c0ea38964dc6971fdd34af3cf273dbcf1c9c34aac43d92e40217b0d192a58ff6610314e0 -DIST zeroconf-0.88.0.tar.gz 150009 BLAKE2B 45a8abca7bbda4246af8838818cffda445bae082e11f90716b7c358dcf4c3524a2bd89e9d4c270e6a21af46c2c02b0e61c4af354091410108a6f4453021df525 SHA512 4235e6e75956748792ed1b84dff24861a487fe06a43f7978137e9f6516b8591d77c1254a6425a29125a5ee8843a3d4e5f1f02c1753b7a29553809e2abd1e6f1a -DIST zeroconf-0.90.0.tar.gz 150318 BLAKE2B 5239571a4b65f736a799b285d11221636a26d6cf19625bd276baa346a61420519698e13bcfa5909a5ece3026aeb2229a143824915d15ee1d01bfc7c9ef956809 SHA512 82c8d9410f0f6fe0f2ab3136034f4d62752eec0b4c3e5acc0689a0aa817fd9aa33555a0b92f18c224a3ac8b90dd583d77bf372637a20b889d0d8be9e4d8e0458 DIST zeroconf-0.91.1.tar.gz 150551 BLAKE2B 220e6b5684d503c7d1c594196ffa7ecc4f06975accad2ad64a6dd0a75881326110bbf897e74a2a176307fc392fc9fce903c77bbf9fc70fec84f193072bd7a016 SHA512 852946a2f823de1dc25dda5321ec23c67e3893fd8dcf55391e001afb01eb4c8143813aaa0950fddbea6634975eb0904a6e3b500cbe082e843da301c0cd704e9a -DIST zeroconf-0.93.1.tar.gz 151476 BLAKE2B 46a866c6d8268c4688b33c1da04a6a31ef3556fb9264df2e85b038ae832cfdc7567139bff01c9324a4087b449b2dd5ba9688eccfaa0892af49f5cab3ad735600 SHA512 ee5f8aac916f05fc6518e76eb4ee40dd0df507cde1a5f25edfb15ded6ac36d2026283d6160ec7b71ee0344648e181e06ebf0559345ac4b2078f5d9cbf1a83eea -DIST zeroconf-0.97.0.tar.gz 152115 BLAKE2B 53b514ca3e42c75bf449255db0494de66bdbec74495fec45fd26185ec27d255de0745644b03650cec7a0acba3440075c52058b1a862048fa58587ed5d45907fa SHA512 4a67335e42ffd60236d61fce77b36f747ee71038066e65e2d72e7be3ffa6bf075120b657067aadda89a814dc354a7e26a48627df55782869caa9d95e0956d361 -DIST zeroconf-0.99.0.tar.gz 152347 BLAKE2B 4be99604737d1dc630c949a4afaac2c61132ffac830eea5976018502e5ac8702e67f2e302e0996e1a10aa4db407610dca61928ac07e8e53d110167e6057d7bb4 SHA512 8016ca617df6a78bc8a8f9f49011e3ae2571d5a60b87d126b60b7ee7e2cb07abe7477d27f33959978a43c79de5db42aee32fd63be9985a51f939fddf99aee37c diff --git a/dev-python/zeroconf/zeroconf-0.103.0.ebuild b/dev-python/zeroconf/zeroconf-0.103.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.103.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.105.0.ebuild b/dev-python/zeroconf/zeroconf-0.105.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.105.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.102.0.ebuild b/dev-python/zeroconf/zeroconf-0.111.0.ebuild index b3ff07347a6d..b3ff07347a6d 100644 --- a/dev-python/zeroconf/zeroconf-0.102.0.ebuild +++ b/dev-python/zeroconf/zeroconf-0.111.0.ebuild diff --git a/dev-python/zeroconf/zeroconf-0.86.0.ebuild b/dev-python/zeroconf/zeroconf-0.86.0.ebuild deleted file mode 100644 index 76b5818dc18d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.86.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - dev-python/cython[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.87.0.ebuild b/dev-python/zeroconf/zeroconf-0.87.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.87.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.88.0.ebuild b/dev-python/zeroconf/zeroconf-0.88.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.88.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.90.0.ebuild b/dev-python/zeroconf/zeroconf-0.90.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.90.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.93.1.ebuild b/dev-python/zeroconf/zeroconf-0.93.1.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.93.1.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.97.0.ebuild b/dev-python/zeroconf/zeroconf-0.97.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.97.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/dev-python/zeroconf/zeroconf-0.99.0.ebuild b/dev-python/zeroconf/zeroconf-0.99.0.ebuild deleted file mode 100644 index b3ff07347a6d..000000000000 --- a/dev-python/zeroconf/zeroconf-0.99.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" -HOMEPAGE=" - https://github.com/python-zeroconf/python-zeroconf/ - https://pypi.org/project/zeroconf/ -" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" - -RDEPEND=" - >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] - ' 3.10) -" -# the build system uses custom build script that uses distutils to build -# C extensions, sigh -BDEPEND=" - >=dev-python/cython-3[${PYTHON_USEDEP}] - >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export REQUIRE_CYTHON=1 - -python_test() { - local -x SKIP_IPV6=1 - local EPYTEST_DESELECT=( - # network - tests/test_core.py::Framework::test_close_multiple_times - tests/test_core.py::Framework::test_launch_and_close - tests/test_core.py::Framework::test_launch_and_close_context_manager - - # fragile to timeouts (?) - tests/services/test_browser.py::test_service_browser_expire_callbacks - tests/utils/test_asyncio.py::test_run_coro_with_timeout - ) - - epytest -o addopts= -} diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass index 5f3f0c3af37d..4b5f1a3294ef 100644 --- a/eclass/cuda.eclass +++ b/eclass/cuda.eclass @@ -81,7 +81,7 @@ cuda_gccdir() { # Try the current gcc version first ver=$(gcc-version) if [[ -n "${ver}" ]] && [[ ${vers} =~ ${ver} ]]; then - dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) + dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) gcc_bindir="${dirs[${#dirs[@]}-1]}" fi @@ -90,14 +90,14 @@ cuda_gccdir() { ver=$(ver_cut 1-2 "${ver##*sys-devel/gcc-}") if [[ -n "${ver}" ]] && [[ ${vers} =~ ${ver} ]]; then - dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) + dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) gcc_bindir="${dirs[${#dirs[@]}-1]}" fi fi for ver in ${vers}; do if has_version "=sys-devel/gcc-${ver}*"; then - dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) + dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ ) gcc_bindir="${dirs[${#dirs[@]}-1]}" fi done diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 91de144e1110..56afcdc5bcb8 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1461,12 +1461,6 @@ distutils_pep517_install() { [[ -n ${wheel} ]] || die "No wheel name returned" distutils_wheel_install "${root}" "${WHEEL_BUILD_DIR}/${wheel}" - - # clean the build tree; otherwise we may end up with PyPy3 - # extensions duplicated into CPython dists - if [[ ${DISTUTILS_USE_PEP517:-setuptools} == setuptools ]]; then - rm -rf build || die - fi } # @FUNCTION: distutils-r1_python_compile @@ -1478,9 +1472,6 @@ distutils_pep517_install() { # # If DISTUTILS_USE_PEP517 is set to any other value, builds a wheel # using the PEP517 backend and installs it into ${BUILD_DIR}/install. -# May additionally call build_ext prior to that when using setuptools -# and the eclass detects a potential benefit from parallel extension -# builds. # # In legacy mode, runs 'esetup.py build'. Any parameters passed to this # function will be appended to setup.py invocation, i.e. passed @@ -1495,40 +1486,21 @@ distutils-r1_python_compile() { # call setup.py build when using setuptools (either via PEP517 # or in legacy mode) - if [[ ${DISTUTILS_USE_PEP517} ]]; then - if [[ -d build ]]; then - eqawarn "A 'build' directory exists already. Artifacts from this directory may" - eqawarn "be picked up by setuptools when building for another interpreter." - eqawarn "Please remove this directory prior to building." - fi - else - _distutils-r1_copy_egg_info - fi - # distutils is parallel-capable since py3.5 local jobs=$(makeopts_jobs "${MAKEOPTS} ${*}") if [[ ${DISTUTILS_USE_PEP517} ]]; then - # issue build_ext only if it looks like we have at least - # two source files to build; setuptools is expensive - # to start and parallel builds can only benefit us if we're - # compiling at least two files - # - # see extension.py for list of suffixes - # .pyx is added for Cython - # - # esetup.py does not respect SYSROOT, so skip it there - if [[ -z ${SYSROOT} && ${DISTUTILS_EXT} && 1 -ne ${jobs} - && 2 -eq $( - find '(' -name '*.c' -o -name '*.cc' -o -name '*.cpp' \ - -o -name '*.cxx' -o -name '*.c++' -o -name '*.m' \ - -o -name '*.mm' -o -name '*.pyx' ')' -printf '\n' | - head -n 2 | wc -l - ) - ]]; then - esetup.py build_ext -j "${jobs}" "${@}" - fi + mkdir -p "${BUILD_DIR}" || die + local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" + cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die + [build] + build_base = ${BUILD_DIR}/build + + [build_ext] + parallel = ${jobs} + EOF else + _distutils-r1_copy_egg_info esetup.py build -j "${jobs}" "${@}" fi ;; diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 463d364caee9..ee5d68c8a78c 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -577,7 +577,7 @@ java-pkg_regso() { java-pkg_append_ JAVA_PKG_LIBRARY "/${target_dir#${D}}" # Check the path of the lib relative to ${D} elif [[ -e "${D}${lib}" ]]; then - target_dir="$(java-pkg_expand_dir_ ${D}${lib})" + target_dir="$(java-pkg_expand_dir_ "${D}${lib}")" java-pkg_append_ JAVA_PKG_LIBRARY "${target_dir}" else die "${lib} does not exist" @@ -924,7 +924,7 @@ java-pkg_recordjavadoc() debug-print-function ${FUNCNAME} $* # the find statement is important # as some packages include multiple trees of javadoc - JAVADOC_PATH="$(find ${D}/usr/share/doc/ -name allclasses-frame.html -printf '%h:')" + JAVADOC_PATH="$(find "${D}"/usr/share/doc/ -name allclasses-frame.html -printf '%h:')" # remove $D - TODO: check this is ok with all cases of the above JAVADOC_PATH="${JAVADOC_PATH//${D}}" if [[ -n "${JAVADOC_PATH}" ]] ; then diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index 7b77b64de90f..8bab2b482cf7 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -877,7 +877,7 @@ install_sources() { dodir /usr/src einfo ">>> Copying sources ..." - file="$(find ${WORKDIR} -iname "docs" -type d)" + file="$(find "${WORKDIR}" -iname "docs" -type d)" if [[ -n ${file} ]]; then for file in $(find ${file} -type f); do echo "${file//*docs\/}" >> "${S}"/patches.txt diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 35f85a813fc7..e2b66e3b6f7d 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -254,7 +254,7 @@ perl-module_src_configure() { elif [[ -f Makefile.PL ]] ; then einfo "Using ExtUtils::MakeMaker" set -- \ - PREFIX=${EPREFIX}/usr \ + PREFIX="${EPREFIX}"/usr \ INSTALLDIRS=vendor \ INSTALLMAN3DIR='none' \ DESTDIR="${D}" \ diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index bd30c1203180..50aeabae1c17 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -1242,10 +1242,6 @@ _python_check_EPYTHON() { _python_check_occluded_packages() { debug-print-function ${FUNCNAME} "${@}" - # DO NOT ENABLE THIS unless you're going to check for false - # positives before filing bugs. - [[ ! ${PYTHON_EXPERIMENTAL_QA} ]] && return - [[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return local sitedir="${BUILD_DIR}/install$(python_get_sitedir)" diff --git a/eclass/tests/verify-sig.sh b/eclass/tests/verify-sig.sh new file mode 100755 index 000000000000..a87e2c7703d7 --- /dev/null +++ b/eclass/tests/verify-sig.sh @@ -0,0 +1,94 @@ +#!/bin/bash +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +source tests-common.sh || exit + +inherit verify-sig + +TMP=$(mktemp -d) +trap 'rm -rf "${TMP}"' EXIT +cd "${TMP}" || die +> empty || die +> fail || die +echo "The quick brown fox jumps over the lazy dog." > text || die + +testit() { + local expect=${1} + shift + + tbegin "${*@Q}" + ( "${@}" ) + [[ ${?} -eq ${expect} ]] + tend "${?}" +} + +test_verify_unsigned_checksums() { + local format=${1} + + testit 0 verify-sig_verify_unsigned_checksums checksums.txt "${format}" empty + testit 0 verify-sig_verify_unsigned_checksums checksums.txt "${format}" "empty text" + testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" other + testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" "empty other" + testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" fail + testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" "empty fail" +} + +einfo "Testing coreutils format." +eindent + +cat > checksums.txt <<-EOF || die + # some junk to test junk protection + b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 empty junk line + b47cc0f104b62d4c7c30bcd68gd8e67613e287dc4ad8c310ef10cbadea9c4380 empty + + # sha1sums + da39a3ee5e6b4b0d3255bfef95601890afd80709 empty + 9c04cd6372077e9b11f70ca111c9807dc7137e4b text + 9c04cd6372077e9b11f70ca111c9807dc7137e4b fail + + # sha256sums + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 empty + b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 text + b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 fail + + # sha512sums + cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e empty + 020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec text + 020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec fail + + # duplicate checksum + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 empty +EOF + +test_verify_unsigned_checksums sha256 +eoutdent + +einfo "Testing openssl-dgst format." +eindent + +> "annoying ( filename )= yes ).txt" || die + +cat > checksums.txt <<-EOF || die + junk text that ought to be ignored + + SHA1(empty)=da39a3ee5e6b4b0d3255bfef95601890afd80709 + SHA1(text)= 9c04cd6372077e9b11f70ca111c9807dc7137e4b + SHA1(fail)=9c04cd6372077e9b11f70ca111c9807dc7137e4b + + SHA256(empty)=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + SHA256(text)= b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 + SHA256(fail)=b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 + + SHA256(annoying ( filename )= yes )= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + + SHA512(empty)=cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + SHA512(text)= 020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec + SHA512(fail)=020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec +EOF + +test_verify_unsigned_checksums openssl-dgst +eoutdent + +texit diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass index d99dc3461858..49557b633c87 100644 --- a/eclass/verify-sig.eclass +++ b/eclass/verify-sig.eclass @@ -55,8 +55,8 @@ IUSE="verify-sig" # @DESCRIPTION: # Signature verification method to use. The allowed value are: # -# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default) -# - signify -- verify signatures with Ed25519 public key using app-crypt/signify +# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default) +# - signify -- verify signatures with Ed25519 public key using app-crypt/signify : "${VERIFY_SIG_METHOD:=openpgp}" case ${VERIFY_SIG_METHOD} in @@ -214,12 +214,15 @@ verify-sig_verify_message() { } # @FUNCTION: verify-sig_verify_unsigned_checksums -# @USAGE: <checksum-file> <algo> <files> +# @USAGE: <checksum-file> <format> <files> # @DESCRIPTION: # Verify the checksums for all files listed in the space-separated list -# <files> (akin to ${A}) using a <checksum-file>. <algo> specifies -# the checksum algorithm (e.g. sha256). <checksum-file> can be "-" -# for stdin. +# <files> (akin to ${A}) using a <checksum-file>. <format> specifies +# the checksum file format. <checksum-file> can be "-" for stdin. +# +# The following formats are supported: +# - sha256 -- sha256sum (<hash> <filename>) +# - openssl-dgst -- openssl dgst (<algo>(<filename>)=<hash>) # # The function dies if one of the files does not match checksums or # is missing from the checksum file. @@ -231,36 +234,52 @@ verify-sig_verify_message() { # verify-sig_verify_signed_checksums instead. verify-sig_verify_unsigned_checksums() { local checksum_file=${1} - local algo=${2} + local format=${2} local files=() read -r -d '' -a files <<<"${3}" - local chksum_prog chksum_len + local chksum_prog chksum_len algo=${format} - case ${algo} in + case ${format} in sha256) - chksum_prog=sha256sum chksum_len=64 ;; + openssl-dgst) + ;; *) - die "${FUNCNAME}: unknown checksum algo ${algo}" + die "${FUNCNAME}: unknown checksum format ${format}" ;; esac [[ ${checksum_file} == - ]] && checksum_file=/dev/stdin - local checksum filename junk ret=0 count=0 - while read -r checksum filename junk; do - if [[ ${checksum} == "-----BEGIN" ]]; then + local line checksum filename junk ret=0 count=0 + local -A verified + while read -r line; do + if [[ ${line} == "-----BEGIN"* ]]; then die "${FUNCNAME}: PGP armor found, use verify-sig_verify_signed_checksums instead" fi - [[ ${#checksum} -eq ${chksum_len} ]] || continue - [[ -z ${checksum//[0-9a-f]} ]] || continue - has "${filename}" "${files[@]}" || continue - [[ -z ${junk} ]] || continue + case ${format} in + sha256) + read -r checksum filename junk <<<"${line}" + [[ ${#checksum} -ne ${chksum_len} ]] && continue + [[ -n ${checksum//[0-9a-f]} ]] && continue + [[ -n ${junk} ]] && continue + ;; + openssl-dgst) + [[ ${line} != *"("*")="* ]] && continue + checksum=${line##*)=} + algo=${line%%(*} + filename=${line#*(} + filename=${filename%)=*} + ;; + esac + + if ! has "${filename}" "${files[@]}"; then + continue + fi - "${chksum_prog}" -c --strict - <<<"${checksum} ${filename}" - if [[ ${?} -eq 0 ]]; then - (( count++ )) + if "${algo,,}sum" -c --strict - <<<"${checksum} ${filename}"; then + verified["${filename}"]=1 else ret=1 fi @@ -268,7 +287,7 @@ verify-sig_verify_unsigned_checksums() { [[ ${ret} -eq 0 ]] || die "${FUNCNAME}: at least one file did not verify successfully" - [[ ${count} -eq ${#files[@]} ]] || + [[ ${#verified[@]} -eq ${#files[@]} ]] || die "${FUNCNAME}: checksums for some of the specified files were missing" } diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest index 84b53db047b2..56bb06098da3 100644 --- a/net-analyzer/wireshark/Manifest +++ b/net-analyzer/wireshark/Manifest @@ -1,4 +1,5 @@ DIST wireshark-4.0.6.tar.xz 41583088 BLAKE2B 5c4f3b6e16541afbeb9241d2c66c75da97df3164cbc841f1d5d5ba57fa102d85c8d22275180ce2e4fb72ed73c9fb8e64be1c9b4f337803d85146564bee43ce52 SHA512 651b760d05518a914ffbb2fe1ced84e877ebc40d7b03500586e009609064761bef7810654b1321e08aeea403867450be289227a9e43937e9f777693a8f4c901b DIST wireshark-4.0.7.tar.xz 43113752 BLAKE2B 06d4863fe796da8d3b97144a8b24430741ea8f58a8401a56327e0db37e5a7e81e63ab43325c87195a535565af7cb1265e25f8c62600ae69d549da479951bb9a1 SHA512 98f609405f20a3714e7c5e4f806cae5cc842daaf0219bd92d3130d2930758cce244edca4529db59300b5ca1e1e98d1aa632bc5c85c92f26aa2e0c124e691a5ab DIST wireshark-4.0.8.tar.xz 43123664 BLAKE2B bda31be809724a39e475489eb5653589310ae679933fac193cbc8bb3924b3ec48a93b5da6d39655fdb9f4a8d717b9cc84fcb357bea275cb457b45783a75ca778 SHA512 f6de0f86bb1eac82f7ed2d98d7f4fe3189107b1f0da441abd9077593f8e624989c33aaf8b4ef4b3c460fe787c64c4b8fdb3168de9f5661802fed6b06d71c5c65 +DIST wireshark-4.1.0-signatures.txt 2706 BLAKE2B bcc55c14a68aead0061041e39114a04531440d98b24e271d731ff6baa0047adac7871f0e089b326d29273bad71f8fa9fa482ebac21ba7635e9a251831d387a34 SHA512 ae0eb7a36f554d27fecd47cb471f3c85b8bd53030a6dc872f74b33a46eee004910a3c095c16d8eed56a7c2e6104084e632580b555f29e77a4b8c04c50b53019a DIST wireshark-4.1.0.tar.xz 44601140 BLAKE2B c20a0a917c94554d593986e9058cee7f10c68a0e73a3b8a69e87c40f5932d4f33da1d3ba8ed5177094058bd43ba9942b21a2f3fe6e04a751ffb75e9e9b524627 SHA512 d3253d26d53dbeaa14f7d7dd0956124de3f7fe1d683f2041c6d1420271ba9601248c904a0927160194ca54aa8752526bd5de643d553e55ded8478caa54cd9bb0 diff --git a/net-analyzer/wireshark/wireshark-4.1.0.ebuild b/net-analyzer/wireshark/wireshark-4.1.0.ebuild index 084bda174c0f..0352bd2a3968 100644 --- a/net-analyzer/wireshark/wireshark-4.1.0.ebuild +++ b/net-analyzer/wireshark/wireshark-4.1.0.ebuild @@ -16,7 +16,11 @@ if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark" inherit git-r3 else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc + inherit verify-sig + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV}.txt -> ${P}-signatures.txt )" S="${WORKDIR}/${P/_/}" # 4.1.x is an experimental release until 4.2 @@ -130,6 +134,10 @@ RDEPEND=" selinux? ( sec-policy/selinux-wireshark ) " +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )" +fi + PATCHES=( "${FILESDIR}"/${PN}-2.6.0-redhat.patch ) @@ -147,6 +155,23 @@ pkg_setup() { python-any-r1_pkg_setup } +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + git-r3_src_unpack + else + if use verify-sig ; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}-signatures.txt \ + openssl-dgst \ + ${P}.tar.xz + cd "${WORKDIR}" || die + fi + + default + fi +} + src_configure() { local mycmakeargs diff --git a/net-analyzer/wireshark/wireshark-9999.ebuild b/net-analyzer/wireshark/wireshark-9999.ebuild index 084bda174c0f..0352bd2a3968 100644 --- a/net-analyzer/wireshark/wireshark-9999.ebuild +++ b/net-analyzer/wireshark/wireshark-9999.ebuild @@ -16,7 +16,11 @@ if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark" inherit git-r3 else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc + inherit verify-sig + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV}.txt -> ${P}-signatures.txt )" S="${WORKDIR}/${P/_/}" # 4.1.x is an experimental release until 4.2 @@ -130,6 +134,10 @@ RDEPEND=" selinux? ( sec-policy/selinux-wireshark ) " +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )" +fi + PATCHES=( "${FILESDIR}"/${PN}-2.6.0-redhat.patch ) @@ -147,6 +155,23 @@ pkg_setup() { python-any-r1_pkg_setup } +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + git-r3_src_unpack + else + if use verify-sig ; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}-signatures.txt \ + openssl-dgst \ + ${P}.tar.xz + cd "${WORKDIR}" || die + fi + + default + fi +} + src_configure() { local mycmakeargs diff --git a/sec-keys/openpgp-keys-wireshark/Manifest b/sec-keys/openpgp-keys-wireshark/Manifest new file mode 100644 index 000000000000..0cf8ab271897 --- /dev/null +++ b/sec-keys/openpgp-keys-wireshark/Manifest @@ -0,0 +1 @@ +DIST openpgp-keys-wireshark-20230903-gerald-wireshark-org.gpg 4099 BLAKE2B 2f8de508e9ad829d0d881742435ed8436b70dc74b26357cf924d69194b467bf599125bca36171640f227b04c3eafcfbc2614cb3daaf5cf41a0fa52cfa7a07aaa SHA512 6822012a6f744f729a89781a8a5070e18f3a99a6db0902eba301f4ef3ecc2524514491ed26e10b46b3e6bbc23bad12ddf9d0390deba3068643275087e3a29b12 diff --git a/sec-keys/openpgp-keys-wireshark/metadata.xml b/sec-keys/openpgp-keys-wireshark/metadata.xml new file mode 100644 index 000000000000..a1af484833bd --- /dev/null +++ b/sec-keys/openpgp-keys-wireshark/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <stabilize-allarches/> +</pkgmetadata> diff --git a/sec-keys/openpgp-keys-wireshark/openpgp-keys-wireshark-20230903.ebuild b/sec-keys/openpgp-keys-wireshark/openpgp-keys-wireshark-20230903.ebuild new file mode 100644 index 000000000000..598fcd123cad --- /dev/null +++ b/sec-keys/openpgp-keys-wireshark/openpgp-keys-wireshark-20230903.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="OpenPGP keys used to sign Wireshark releases" +HOMEPAGE="https://www.wireshark.org/download.html" +SRC_URI="https://www.wireshark.org/download/gerald_at_wireshark_dot_org.gpg -> ${P}-gerald-wireshark-org.gpg" +S="${WORKDIR}" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +src_install() { + local files=( ${A} ) + + insinto /usr/share/openpgp-keys + newins - wireshark.asc < <(cat "${files[@]/#/${DISTDIR}/}") +} |