diff options
| -rw-r--r-- | dev-libs/libgit2/Manifest | 1 | ||||
| -rw-r--r-- | dev-libs/libgit2/libgit2-1.9.2.ebuild | 79 | ||||
| -rw-r--r-- | dev-python/importlib-metadata/importlib-metadata-8.7.0.ebuild | 2 | ||||
| -rw-r--r-- | dev-python/librt/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/librt/librt-0.7.2.ebuild | 35 | ||||
| -rw-r--r-- | dev-python/libtmux/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/libtmux/libtmux-0.50.1.ebuild | 37 | ||||
| -rw-r--r-- | dev-python/orjson/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/orjson/orjson-3.11.5.ebuild | 92 | ||||
| -rw-r--r-- | dev-python/psycopg/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/psycopg/psycopg-3.3.2.ebuild | 123 | ||||
| -rw-r--r-- | dev-python/python-lsp-server/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild (renamed from dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild) | 30 | ||||
| -rw-r--r-- | dev-python/uv-build/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/uv-build/uv-build-0.9.16.ebuild | 99 | ||||
| -rw-r--r-- | dev-python/uv/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/uv/uv-0.9.16.ebuild | 167 |
17 files changed, 658 insertions, 18 deletions
diff --git a/dev-libs/libgit2/Manifest b/dev-libs/libgit2/Manifest index f429554b3ce1..726acc78fe1f 100644 --- a/dev-libs/libgit2/Manifest +++ b/dev-libs/libgit2/Manifest @@ -1 +1,2 @@ DIST libgit2-1.9.1.tar.gz 7665631 BLAKE2B fac1ecb9ef1589049fe99d54984fb18692ecb4805fc02a1f49193a7d71de75f72b2143214f9239097867b196f90ca45a033b5e65d07ddf1a5b8f00068b1b784a SHA512 3bec01704ad1acdb4f7e9454101c2a205b7e288a4dffaa5e1afc2b1f849fa3a42b961c532bed2669841925ab8f84fb35bb82a2df8039b1caf76c5779665032d9 +DIST libgit2-1.9.2.tar.gz 7667818 BLAKE2B 6e5be4aee7ebe959a23ec24952eaff3ad66bbc740e0fd3ef66bc61b57c3228b71ad9b01808494782a90d362692d2cfabbfc24946543bbc109ec66df9c03cf26d SHA512 b9ac2d0a7cc92a31057fbf066e47145cdda89ebf0489d712d4452c709c3de9923a93a3c37128fdcfd8fbb5498f513a519a7f2a77ad6ef4efafe865323d481f18 diff --git a/dev-libs/libgit2/libgit2-1.9.2.ebuild b/dev-libs/libgit2/libgit2-1.9.2.ebuild new file mode 100644 index 000000000000..b86ed590044b --- /dev/null +++ b/dev-libs/libgit2/libgit2-1.9.2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit cmake flag-o-matic python-any-r1 + +DESCRIPTION="A linkable library for Git" +HOMEPAGE="https://libgit2.org/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz +" +S=${WORKDIR}/${P/_/-} + +LICENSE="GPL-2-with-linking-exception" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="examples gssapi +ssh test +threads trace" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libpcre2:= + net-libs/llhttp:= + virtual/zlib:= + dev-libs/openssl:0= + gssapi? ( virtual/krb5 ) + ssh? ( net-libs/libssh2 ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" + +src_prepare() { + cmake_src_prepare + + # https://bugs.gentoo.org/948941 + sed -i -e 's:-Werror::' tests/headertest/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DUSE_SSH=$(usex ssh libssh2 OFF) + -DUSE_GSSAPI=$(usex gssapi ON OFF) + -DUSE_HTTP_PARSER=llhttp + -DREGEX_BACKEND=pcre2 + ) + # https://bugs.gentoo.org/925207 + append-lfs-flags + cmake_src_configure +} + +src_test() { + if [[ ${EUID} -eq 0 ]] ; then + # repo::iterator::fs_preserves_error fails if run as root + # since root can still access dirs with 0000 perms + ewarn "Skipping tests: non-root privileges are required for all tests to pass" + else + local TEST_VERBOSE=1 + cmake_src_test -R offline + fi +} + +src_install() { + cmake_src_install + dodoc docs/*.{md,txt} + + if use examples ; then + find examples -name '.gitignore' -delete || die + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/dev-python/importlib-metadata/importlib-metadata-8.7.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-8.7.0.ebuild index a6339a42602b..10c57ddcaae7 100644 --- a/dev-python/importlib-metadata/importlib-metadata-8.7.0.ebuild +++ b/dev-python/importlib-metadata/importlib-metadata-8.7.0.ebuild @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit # NB: this package extends beyond built-in importlib stuff in py3.8+ # new entry_point API not yet included in cpython release -PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) +PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) inherit distutils-r1 pypi diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest index b1d64f95ea04..7137a5127562 100644 --- a/dev-python/librt/Manifest +++ b/dev-python/librt/Manifest @@ -1,2 +1,4 @@ DIST librt-0.6.3.tar.gz 54209 BLAKE2B 93f0cfaed3fb4868871149b752c5b2d7a7ec8ab67b9c5b2099f127d3d43fd939ef864d5f39884c8e1252e1c12fbdb0541617966207c0194a797d4f1744959788 SHA512 ea560ac82962ddadaca8b2b8981dae81ff9f1d891a994b0fc7778d48db2528ea7e2333721632665df3c85e86a87a9097992de17ca46abab0c7909d6c6424d645 DIST librt-0.6.3.tar.gz.provenance 9164 BLAKE2B 9c7d26223e381fd14f608f9082a28025db40d281a1d04b7ee56fddf72f4a12d9a31bc97f367306dc924f76f9ed7eea2f9f8f2d49c7a64b7fc3f5c658c3bba82a SHA512 e032f0d68d08f88f01ceedcfba7bca8f7de2f2089044a7bc1e4986e6b4cbd2847d9e40d5c4d16ca7ac526e13cc0f74e04e801c2ba09b2145f54da28c50b77ee0 +DIST librt-0.7.2.tar.gz 144193 BLAKE2B 72e1f613839b493ce823224810057f7f7161b8001eeac46b32b7e784ebc49da6c5de86b4b1074ee1d4fbff14feae963103224a991f54d2d3cef9be9599dd3dfc SHA512 472c4d7077fdb22ef30f6833620553b0b821ff9142d06041b3f84f5247efdeced966d160e61b9218e65ec3ec3463f843dc57c8478fd088c466904792d7096de1 +DIST librt-0.7.2.tar.gz.provenance 9211 BLAKE2B 30abcae4ba65ab329dbc18831407d48d12927dd2a745180cdb1bbb72961d8c73c1375f39494786bbbcf630e9354627e9a9c55e2353e0005a9e26c03935f31181 SHA512 4c6afc3f8b0a640a7f729aac617515dce7fd72a43e177cd550dac1299ee7552b003ac22e8bf0a4249df9738e3a3872741cc20a3b3041982b83a378fed7d73f03 diff --git a/dev-python/librt/librt-0.7.2.ebuild b/dev-python/librt/librt-0.7.2.ebuild new file mode 100644 index 000000000000..6271fdc94475 --- /dev/null +++ b/dev-python/librt/librt-0.7.2.ebuild @@ -0,0 +1,35 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/mypyc/librt +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Mypyc runtime library" +HOMEPAGE=" + https://github.com/mypyc/librt/ + https://pypi.org/project/librt/ +" + +LICENSE="MIT PSF-2.4" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64" + +BDEPEND=" + test? ( + dev-python/mypy-extensions[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + rm -rf librt || die + epytest smoke_tests.py +} diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest index 5887db96aa71..c65acf301dd1 100644 --- a/dev-python/libtmux/Manifest +++ b/dev-python/libtmux/Manifest @@ -4,3 +4,4 @@ DIST libtmux-0.47.0.gh.tar.gz 357616 BLAKE2B 3372a0cb7fff2723ac21c364b1be813f4b4 DIST libtmux-0.48.0.post0.tar.gz 359150 BLAKE2B 8e105588e041e9ec106c6fba0419c601c9359242aef486690acf00da5337213f5718a67352f99fbc43abe267fb07feab7f232b9379b6eebcecadc551a2a04e7c SHA512 92df268534cb78fb39462f048b486487d095fab3dc2ff99092edea9dd9342edc2be97d3b7e3709fc39b9029e52ecd3f65ff3676bbce1f1a1545e35a505c8acf0 DIST libtmux-0.49.0.tar.gz 355432 BLAKE2B f6022b474168bfb1a71b319b1c6ebd3e290eaf4577576db72a877243d5ec81da86d4cdb7d1d979b5ef8f5ea22b590a8578285bf09699e122cab91a963a6f4fc4 SHA512 977f4da6f470474106f964559f1a40b0152b91ed7812977dbc504c3f54e1feff370c42b6ec259714b585e54edc55bf5422daa33e4cfafeff98f434038891d2a5 DIST libtmux-0.50.0.tar.gz 401066 BLAKE2B 4f8e24248d30ad5672eff5ea272223a0603eccfd158b735afe0ddb95c47f454c89f4f4fcc3c9d66d9e3e63cf881e6d0d442ea057abb5a925f5eae9760a99e8fd SHA512 101b7a3bc3c980aa9b5d8e3f7d3ce3c00ee778c5bdb6d65ca16782780982539409f2afa822171acc7913ec3c48bfc2e684d5a1142c85ab6b243c36f2efbe72b0 +DIST libtmux-0.50.1.tar.gz 401531 BLAKE2B 0d6490122e21f0a82435e6506e1269fdf33478ab9fd8770b3147d517ba766b48de029d4ce6d7d78e5976bbd280137bd71d1cab590df2ae67e6c85bd4728e3475 SHA512 e3fccda1383b8443da55916f82a892d704248fb12b4afedf87f9fade6d69dcd302300af12fb9be5f783c1422973cd242431ad8f6f70498e1e25d2e90d6d3c663 diff --git a/dev-python/libtmux/libtmux-0.50.1.ebuild b/dev-python/libtmux/libtmux-0.50.1.ebuild new file mode 100644 index 000000000000..578d5b1119f4 --- /dev/null +++ b/dev-python/libtmux/libtmux-0.50.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer" +HOMEPAGE=" + https://libtmux.git-pull.com/ + https://github.com/tmux-python/libtmux/ + https://pypi.org/project/libtmux/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +RDEPEND=" + >=app-misc/tmux-3.0a +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-mock ) +EPYTEST_RERUNS=5 +distutils_enable_tests pytest + +python_test() { + # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set + # https://bugs.gentoo.org/927158 + local -x TMUX_PANE= + + epytest -o addopts= tests +} diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest index 2c9f2ab2e468..88498f00a0b4 100644 --- a/dev-python/orjson/Manifest +++ b/dev-python/orjson/Manifest @@ -1,3 +1,5 @@ DIST orjson-3.11.3.tar.gz 5482394 BLAKE2B dfe5620b489b360d4370fbdf673bf6b8ef8306aaa628eaa7a58e6096981f22e5bf2def4b181b4a7aec6e8ee8cef360f7c3187ff49a90adbafd3c16a2cddb2808 SHA512 5ca76b94241f154b1f9de575ce0eb73d6a89db4172cf0f6ee2c470cb24a0cb96464558b13bdec5f03f0ae0936f39698d9761933eb3b4ae3654cac32dd24f1620 DIST orjson-3.11.4.tar.gz 5945188 BLAKE2B 255a5d00f084b62059de83745c46c15deccdf8692fa7023566c9cc2c7eb00786b4efc2a021c9b6b329d08042641831e08828f24d9ec9a3ae3bc0cb9daae9f79d SHA512 15e1fe6df2084446301b095b3d1f5665f604f5bdcac25579fd424ddd4df3819413c0d785bc3ef08b7a6ef8d57ba2526028d719c7396db88a477bb0c2e0bbf230 DIST orjson-3.11.4.tar.gz.provenance 9236 BLAKE2B c971dc83058c3d40fc4b96c7afdb4edaedf25fb720f58ce4e6dc0263390c17f1eea5ead4bcc4161d2681b82ba1f89a76a24460fb6ea6c3e93d2fcda5632936a2 SHA512 d57df6d9c3abfbb82777f84c60838c4851083eefa224d85cecde9525e4a4c59f07e8bcd7fe4e276dba80d4554b006554b68a62ae252a30baf0e713ca3db78f01 +DIST orjson-3.11.5.tar.gz 5972347 BLAKE2B d006a0ef4722935024561d58c8c346f59a737904add18f673308d5810f3f7fe2d7f8a657c31866b3806b923d6261c642870011f8d4d53270fcf23796b6d6877e SHA512 8221d883840966d783d24ba61c716884dddf01c42593416a83cb3e4fb3e6d21b49dad47ae9fe3317e4e5132b52d681de211f630f1673b3866dbde962611b098f +DIST orjson-3.11.5.tar.gz.provenance 9030 BLAKE2B 3f647dfb032c5a61d6b0fc105781197aea53c39c3f57c43f0290b3ae59493511df85761789aa6b8ec3b56e00921129860172714c3f36aaf7c031a44d6d388dae SHA512 00a25d0622ad054fac6b44434736f999b115f1967b06ce472d312f9710414f55c35b93983fd698bfb579a4d1cd51cb90dce780df3b197c830844bbcf135168f3 diff --git a/dev-python/orjson/orjson-3.11.5.ebuild b/dev-python/orjson/orjson-3.11.5.ebuild new file mode 100644 index 000000000000..fdfbad6f6cb5 --- /dev/null +++ b/dev-python/orjson/orjson-3.11.5.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYPI_VERIFY_REPO=https://github.com/ijl/orjson +PYTHON_COMPAT=( python3_{11..14} ) + +# upstream is vendoring crates +CRATES=" + associative-cache@2.0.0 + bytecount@0.6.9 + bytes@1.11.0 + cc@1.2.48 + cfg-if@1.0.4 + crunchy@0.2.4 + encoding_rs@0.8.35 + find-msvc-tools@0.1.5 + gimli@0.32.3 + half@2.7.1 + itoa@1.0.15 + itoap@1.0.1 + jiff-static@0.2.16 + jiff@0.2.16 + libc@0.2.178 + memchr@2.7.6 + once_cell@1.21.3 + portable-atomic-util@0.2.4 + portable-atomic@1.11.1 + proc-macro2@1.0.103 + pyo3-build-config@0.27.2 + pyo3-ffi@0.27.2 + quote@1.0.42 + ryu@1.0.20 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + serde_json@1.0.145 + shlex@1.3.0 + simdutf8@0.1.5 + smallvec@1.15.1 + syn@2.0.111 + target-lexicon@0.13.3 + unicode-ident@1.0.22 + unwinding@0.2.8 + uuid@1.19.0 + version_check@0.9.5 + xxhash-rust@0.8.15 + zerocopy-derive@0.8.31 + zerocopy@0.8.31 +" +RUST_MIN_VER="1.88.0" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + >=dev-util/maturin-1.7.8[${PYTHON_USEDEP}] + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +QA_FLAGS_IGNORED=".*" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_unpack() { + pypi_src_unpack + + # https://github.com/ijl/orjson/issues/613 + cargo_gen_config +} diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 09721d36820c..7fec59d6c41a 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -5,5 +5,6 @@ DIST psycopg-3.2.13.gh.tar.gz 585567 BLAKE2B 244c9b51ae88dfafb235c65cec69b556ab6 DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd DIST psycopg-3.3.0.gh.tar.gz 607828 BLAKE2B 494ce84ffaaecafccb353697198077d7bb60f9ed17171bb3946f5501c8e67d1e240fa08f228bdc9f61988c9c6487930df49112be7f658d1b8e3146c8aa95f729 SHA512 48a184e2629d7317c9a6b80addf5405feac4ba0f477c12c5ee9bc826bc132c8874020b62c28df9ba92e2655edf15daa2a619c9961cbe71dd2ad7d5b9580c6389 DIST psycopg-3.3.1.gh.tar.gz 607864 BLAKE2B 6cc1ead0c0fc612dd15ba24f067c80b4b6efff73fa3cfe193d617b34f1e2d7f3aa4e793f264703d1ded48da376599e3ee7e045f87420abe024aeca27c80ba19d SHA512 abd7c49e1607a0262434f4f506af71a0c4aea30093ed1f63b5919a5d7bc81e2c82aa933f345c3bbe2b15e92a300246bb3378d0cca72aec189b4a26818d35d4ff +DIST psycopg-3.3.2.gh.tar.gz 607955 BLAKE2B 8a7d9e74f573ceb5e51b0eab6fd7a17de371de084d48b15ec4a61e3a9e00c8027bb2d024b768f1b57e12fe9d125d1724b164613e9b872dfb8eab1f87e16f8079 SHA512 354e3b6666d0ce346734f290ff6907e0b0be0959dbf739ea6c0f6503a063f710ff5c0a3b02a63df407059ecc9ff2310b3a8617df754d237af44b249d7e92ae80 DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0 diff --git a/dev-python/psycopg/psycopg-3.3.2.ebuild b/dev-python/psycopg/psycopg-3.3.2.ebuild new file mode 100644 index 000000000000..f3416b240927 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.3.2.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) + +inherit distutils-r1 + +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} + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ' 3.11 3.12) +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio ) +distutils_enable_tests pytest + +python_compile() { + # 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 + # requires pproxy? + tests/test_waiting.py::test_remote_closed + tests/test_waiting.py::test_wait_remote_closed + tests/test_waiting_async.py::test_remote_closed + tests/test_waiting_async.py::test_wait_remote_closed + ) + + case ${ARCH} in + arm|x86) + EPYTEST_DESELECT+=( + # TODO + tests/types/test_numpy.py::test_classes_identities + ) + ;; + esac + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + impls+=( c ) + fi + + 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 -k "not leak" \ + -m "not timing and not slow and not flakey" + done +} diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest index 6b6ac3a09dc0..7bf14006cdb9 100644 --- a/dev-python/python-lsp-server/Manifest +++ b/dev-python/python-lsp-server/Manifest @@ -1,3 +1,3 @@ -DIST python_lsp_server-1.13.0.tar.gz 119147 BLAKE2B 385aeb08f0f43a7a7e77a07c0f0a5799ff4aa9c4d4f6b80350ed0ef8c2d2da5979583e1696aac642308b851de3964ef2c9ae342ec7ff3e677c96e6ed8913a57a SHA512 140fb56e2fda6131c1e481792537c3ede1d511c48994416f2629d71c3b3e4fb2b05da583c6371780c4022b2cc8439a4d9e763962403a5a7f214fa1a1f3031f0c DIST python_lsp_server-1.13.1.tar.gz 120484 BLAKE2B f07ed8546e4e1691a4fc03ead5bc4834755bee12fbe34abda3ec460a2ca261c3c7a14a98194ad085f217af1369bfc878b696770e2c8adb43135808dd196ade13 SHA512 9a8ef547a0d8383eace9aa0efeb83fca9852f3fc79676397c428508a3d8d90c045da7e4c98c9ff34016e9da6a41181e4dc1c881d2262856c9dfd4921f9a35d9a DIST python_lsp_server-1.13.2.tar.gz 120665 BLAKE2B c45d7775f8af055f4b4e084e1ed6dbbf5a8788155691e04a742cb9494231ce7f8f80fb8fb01041edb7540f6d8fa0bd44187ef68a2cf3246c50808ac13905449d SHA512 0be67a934dd700346227e17e6b695c4e593d04dc82b49153868617a81af949a9ee11b4ada5dffe031c64d1dbfc4d1864c4d9dbf94ade0be606abef8eb8b2eaaf +DIST python_lsp_server-1.14.0.tar.gz 121536 BLAKE2B 207d43b758d6bb75070ac88174d483d9347593ca2b5cbe9fc724f916d73654e6907aced7e6fb19e339740b09d0ea3dc1e2bc18f7610ea2984f8c29cd441c92ad SHA512 6362bb87a1fc75751a37c42a899377bc420daa0bed4aa7206e956b41e09495a9d949820bcf789508ebe5b5646c6c1af8dba753b7cef06891c46b8ebed80d51dc diff --git a/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild index 47c54ed61e48..416f09cad193 100644 --- a/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild +++ b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="all-plugins" PLUGIN_DEP=" @@ -55,6 +55,19 @@ BDEPEND=" EPYTEST_PLUGINS=() distutils_enable_tests pytest +EPYTEST_DESELECT=( + # broken by presence of pathlib2 + 'test/plugins/test_autoimport.py' + # Requires pyqt5 + 'test/plugins/test_completion.py::test_pyqt_completion' + # TODO: fails on teardown; also hangs the test suite + test/test_language_server.py::test_missing_message +) +EPYTEST_IGNORE=( + # pydocstyle is archived upstream and broken with py3.12 + test/plugins/test_pydocstyle_lint.py +) + python_prepare_all() { # remove pytest-cov dep sed -i -e '/addopts =/d' pyproject.toml || die @@ -63,21 +76,6 @@ python_prepare_all() { distutils-r1_python_prepare_all } -python_test() { - local EPYTEST_DESELECT=( - # broken by presence of pathlib2 - 'test/plugins/test_autoimport.py' - # Requires pyqt5 - 'test/plugins/test_completion.py::test_pyqt_completion' - ) - local EPYTEST_IGNORE=( - # pydocstyle is archived upstream and broken with py3.12 - test/plugins/test_pydocstyle_lint.py - ) - - epytest -} - pkg_postinst() { optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8 optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8 diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index c4a041b4a6de..8ea7962f719f 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -4,6 +4,7 @@ DIST uv_build-0.9.12.tar.gz 338778 BLAKE2B b11a99bcd9f130107a2529a204bfcb64a3bdc DIST uv_build-0.9.13.tar.gz 338831 BLAKE2B ba0b4eca782afc52d7303a51ecb18957073c22c0be1dae90ccc044c59cc2a6502c89ce06a5fa6b4014fdd54f641d97523cdad4ab15f19e9ae97541aa51a7a5ec SHA512 6ef5fe809b2fc80778b33c43b3083fdd4320be031818d88f3bf9e7f2dd4bcf59303ccd7b5398eacedbf9c500ae336bf18c7ed15de858b6f369594e14b005d71d DIST uv_build-0.9.14.tar.gz 339665 BLAKE2B a23fa78e67450d3da7c17ce8828f3c635eddbbe36f2742f7bafa324a140dbf064fd19350263b0a87aec1edba2189a5d219a1e04416659287007598487f678f81 SHA512 ac4d578cf61cfaa4b4b0d38917f6f65de64111d7764bc2e837489fda8c6ce2a18b4256965df9e32b223ce34721bc07fbac7aeef078eaf9cac6d6d3309260180a DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e1dd5afb8c20e59926429792d3872feb1f8e4d7a9318ec447a99ce8add0503dfba0be2b970b2f192f954b472f1a7 SHA512 11fa1ebb1cfc184bd5bedf5e11fb28f14abf118183d94cbe0ac9a1b83f150a69836f0547a671e8cf16527d84ec61dd5b2983efafe5aeccd86e94cda79e1de664 +DIST uv_build-0.9.16.tar.gz 356109 BLAKE2B d1c7269ee1caa4c66e4858871bed357cd3d9251a475cd97699421cba949d915af15b241b8e1ae1b64ff9a496974888590270d77508d91af3f000e3b6c8139b4b SHA512 4031ac8326a16d4eb65948749da157a97c7529713298085d9154ecf974a3469601495e5a0203638a3ea8eeb98ed375ab13348b494637a4452268e5e8b0856410 DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12f2dcd0557d0ae255ce8bd4cb7dbb15522e73802be0e17ac10c4acad6f9075f12d5f853bb1881b0c13f1d120b33 SHA512 c3be52cfbc1cf5a229df91d9e1125925a534e3fca3041e29a16edd2334fa28b055c73e21a6bd1a3d1d63924cf8f112645300530e8cb6139fb549499ca672070f DIST uv_build-0.9.6.tar.gz 332253 BLAKE2B 2c3fa23dbe36b0866a3a3194b07ee1212cb00acd785c375646c3eb6c97a63435f28c9e934f56c8d6feeec145aace1aad37550b85ae2a611f521fc25a4c7d3bc1 SHA512 e8d8bbd46c92722261722f3d8865b2b24e695edf52652c1d1310adae3cb437ebef5397feda90e3bf863394ca75cf3024eb90a5f80b2b92af24ede4e2f81b0ce1 DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc diff --git a/dev-python/uv-build/uv-build-0.9.16.ebuild b/dev-python/uv-build/uv-build-0.9.16.ebuild new file mode 100644 index 000000000000..ca71aacd7b98 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.16.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index aea111cce11a..a6969e6ab250 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -15,6 +15,8 @@ DIST uv-0.9.14-crates.tar.xz 46510364 BLAKE2B f39e68e8419d82dab627525288829f81bc DIST uv-0.9.14.gh.tar.gz 4859989 BLAKE2B b4e8cdd35c9fc40a1777b2b625e870bf5d89a585ff722674c94abc75700047a69f32ab6651f8a3953c68feb02f8e86f61120b1b86057ae30b0162824c9e0a231 SHA512 d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3 DIST uv-0.9.15-crates.tar.xz 46539408 BLAKE2B 57e582f56e12858292d1dfaec10292eb58fb118051618875eab0d2dcd4f55aa89de6f788b3aa5013ce5e03068bb404ef04faae633d5c208f382366ac5ddf70df SHA512 4db7549d6902682db7af385e5099e74bbd82e54aaf45a44fe64416fda91e065f4bf978b9db55ab72f2872f9e8933b49020102b959c1d2bcef4b9a9877ac1e789 DIST uv-0.9.15.gh.tar.gz 4887603 BLAKE2B 422a3c004abdf052438b145400675010b1adfc8cb8d49979367544e2d381389594188276fe603ffa983f5926be624f5d863053bd79342eeee10caf1260b2a479 SHA512 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381 +DIST uv-0.9.16-crates.tar.xz 46525668 BLAKE2B b9825d93374f0c3231273606135f0693f94512b5f26ce45cea804ef38a05bbc3e7ce7edff5517c506f54367d304f0dac925e18e67a6fd7bebd635ce28dad8118 SHA512 beb9a9f0bd4ee79841e16ea4b1f7266dea9bfe8270e2e7dd381e3631e4db167e7dc79d18c444318f8e461daede6146f8510e398efab2f742f614f2654ee6eb29 +DIST uv-0.9.16.gh.tar.gz 4907399 BLAKE2B e0394423a5d026dd479a7bf2b781154db56277bdc194b84f520436b8fb41467cb9e2878a15ee2ea192a39f903a35f0c2643524143d81efa0f397273ae2314600 SHA512 f7e563b92c802f561bb33e569d473ac85fb69a72b6e01ccea8284275e7c760bc2eaee9415782adb7d26c16ffad564ceb1152a2f6b853fa9b379cb704fdd1814a DIST uv-0.9.4-crates.tar.xz 46093644 BLAKE2B bdce4b138718b91a67ccb36e6d8839358ab2ddeeedec3017bc245b0717e32d890a41f8c9c831983681ec715ce458efa8d43356c189b9b7457df3e71122924e3f SHA512 7047b68db7e05abb6a399250a4a531499985d42f12eff61ad1557823b37d62576b38b51ccbe39a02bc9a98af6341de728466b262c49bb48dd30abb64eb804660 DIST uv-0.9.4.gh.tar.gz 4749319 BLAKE2B b46d44830f7a2a621f3ab420db85e9d999b7c42ddebc21403ea2f11e819e8295af37049f1529848a3fd83ef87ac0de26ce1e1c03bf4177c3032b9adfd6dfe1e8 SHA512 ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0 DIST uv-0.9.6-crates.tar.xz 45696768 BLAKE2B 96cff52c0e5477c4e9648e3863d32bde4b34a1a46b6d96703c48fe340b655319e951471aa6403c09818c313a59b0e54804467efa7e13a8410de34299a98f077b SHA512 46964460f3404304faefd1758bb07bcddf1d48efbdd2b890ddb0d2623841e1a0c86108ac3c9312ed8e2f8fcaefbf9b022b57cd6074fdb6d52f43c35e3b3c2d32 diff --git a/dev-python/uv/uv-0.9.16.ebuild b/dev-python/uv/uv-0.9.16.ebuild new file mode 100644 index 000000000000..253d1ec065af --- /dev/null +++ b/dev-python/uv/uv-0.9.16.ebuild @@ -0,0 +1,167 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.89.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + |
