diff options
Diffstat (limited to 'dev-python')
38 files changed, 1193 insertions, 5 deletions
diff --git a/dev-python/abydos/abydos-0.5.0-r1.ebuild b/dev-python/abydos/abydos-0.5.0-r1.ebuild new file mode 100644 index 000000000000..2452a0ea812c --- /dev/null +++ b/dev-python/abydos/abydos-0.5.0-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Abydos NLP/IR library" +HOMEPAGE="https://github.com/chrislit/abydos" +SRC_URI="https://github.com/chrislit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# Requires access to the internet +RESTRICT="test" + +RDEPEND=" + dev-python/deprecation[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] +" + +BDEPEND="test? ( + dev-python/nltk[${PYTHON_USEDEP}] +)" + +distutils_enable_tests pytest +# Extension error: You must configure the bibtex_bibfiles setting +#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme dev-python/sphinxcontrib-bibtex + +python_prepare_all() { + # do not depend on pytest-cov + sed -i -e '/addopts/d' setup.cfg || die + + distutils-r1_python_prepare_all +} diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest index 61b8e259f343..5589711fdd1c 100644 --- a/dev-python/clang-python/Manifest +++ b/dev-python/clang-python/Manifest @@ -5,3 +5,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846 +DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16 diff --git a/dev-python/clang-python/clang-python-12.0.0_rc5.ebuild b/dev-python/clang-python/clang-python-12.0.0_rc5.ebuild new file mode 100644 index 000000000000..2f2f8087f297 --- /dev/null +++ b/dev-python/clang-python/clang-python-12.0.0_rc5.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +inherit llvm.org python-r1 + +DESCRIPTION="Python bindings for sys-devel/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +RDEPEND=" + >=sys-devel/clang-${PV}:* + !sys-devel/llvm:0[clang(-),python(-)] + !sys-devel/clang:0[python(-)] + ${PYTHON_DEPS}" +DEPEND="${RDEPEND}" + +LLVM_COMPONENTS=( clang/bindings/python ) +llvm.org_set_globals + +python_test() { + "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" +} + +src_test() { + python_foreach_impl python_test +} + +src_install() { + python_foreach_impl python_domodule clang +} diff --git a/dev-python/easyprocess/easyprocess-0.3-r1.ebuild b/dev-python/easyprocess/easyprocess-0.3-r1.ebuild new file mode 100644 index 000000000000..a883f70394b3 --- /dev/null +++ b/dev-python/easyprocess/easyprocess-0.3-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Easy to use Python subprocess interface" +HOMEPAGE="https://github.com/ponty/EasyProcess" +SRC_URI="https://github.com/ponty/EasyProcess/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND="test? ( + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pyvirtualdisplay[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + x11-base/xorg-server[xvfb] +)" + +S="${WORKDIR}/EasyProcess-${PV}" + +distutils_enable_tests pytest diff --git a/dev-python/easyprocess/metadata.xml b/dev-python/easyprocess/metadata.xml index ed08258616ae..9c5c911ebdb1 100644 --- a/dev-python/easyprocess/metadata.xml +++ b/dev-python/easyprocess/metadata.xml @@ -13,4 +13,5 @@ <remote-id type="pypi">EasyProcess</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/entrypoint2/Manifest b/dev-python/entrypoint2/Manifest index d534804f391d..873d3b0435b5 100644 --- a/dev-python/entrypoint2/Manifest +++ b/dev-python/entrypoint2/Manifest @@ -1 +1,2 @@ DIST entrypoint2-0.2.3.tar.gz 11542 BLAKE2B ef1ef511e02a3c5601d3147af241965fa78361a8cd070b5f0240f3842cdd49b3f93a32af4299568d201382c8c5a694ec7f85191c5880d489056744f59cbcd346 SHA512 c02ca02be9f25533c6a37a3aa372cdb75de8419349e279f7bd82369667a75943fc2fd0ba5afad49281d623f8ac4d6f97ffb2dbdb7b72b4cdc9afec80e763bed5 +DIST entrypoint2-0.2.4.tar.gz 10407 BLAKE2B 16335f8e2bc173413f387e581892b1fe03efdb6bdea2e75d20a95258d55c0cb83dc70691cb4b41b07e49881db4e5c08593bba42adf5c1a69785e32c99d68a7fa SHA512 7bf7dea2afc7df3ebe57f89f472e4456fc22d5c66720930a2b15dbe04f708ff4bb00feec79af430620d8cc6d91d5df1770869d23d2282ecc0024ecc7583b360b diff --git a/dev-python/entrypoint2/entrypoint2-0.2.4.ebuild b/dev-python/entrypoint2/entrypoint2-0.2.4.ebuild new file mode 100644 index 000000000000..799ff1529860 --- /dev/null +++ b/dev-python/entrypoint2/entrypoint2-0.2.4.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Easy to use command-line interface for python modules" +HOMEPAGE="https://github.com/ponty/entrypoint2" +SRC_URI="https://github.com/ponty/entrypoint2/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND="test? ( + dev-python/easyprocess[${PYTHON_USEDEP}] + dev-python/path-py[${PYTHON_USEDEP}] +)" + +distutils_enable_tests pytest diff --git a/dev-python/intervaltree/Manifest b/dev-python/intervaltree/Manifest index 78fe9896dfd6..92e8d788149a 100644 --- a/dev-python/intervaltree/Manifest +++ b/dev-python/intervaltree/Manifest @@ -1 +1,2 @@ DIST intervaltree-3.0.2.tar.gz 30663 BLAKE2B b6d5e7a029e1d1aeec60eaf28c1e40707c655f0eca7ce889a9c0d85a9003ac262c3aa49c396b4c42ebf70bb63157e098addec69050d01ae42a6ba37ea76e1ea5 SHA512 51d6aa302c95c9a573bcf594de390037ec1a6d674061e6a0b4025fa889dfd0187e37bc0331f13d6703340973e4c539aa1349431b14c742de9d2050cbb53d8255 +DIST intervaltree-3.1.0.tar.gz 32861 BLAKE2B 311b7937526495ff0d5d85b4e6a01744d585714c119e6b128ae47740a50234bfe32395728e55c1c9d0670c92b4e815901dbf26c9a83bbe8271875967e9f11f1b SHA512 adb49726912ad6e9cf6c0985b4fb94df91b4ef54aa2eb327186d7f15bc992745d81654d49f1dd2ce95f7173683ba2a072787ef1e8b389cd9b7e23b9ae743906a diff --git a/dev-python/intervaltree/intervaltree-3.1.0.ebuild b/dev-python/intervaltree/intervaltree-3.1.0.ebuild new file mode 100644 index 000000000000..83e445a2b40a --- /dev/null +++ b/dev-python/intervaltree/intervaltree-3.1.0.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Editable interval tree data structure for Python 2 and 3" +HOMEPAGE="https://pypi.org/project/intervaltree/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest diff --git a/dev-python/intervaltree/metadata.xml b/dev-python/intervaltree/metadata.xml index b98488cb5a39..6ce866cf44e0 100644 --- a/dev-python/intervaltree/metadata.xml +++ b/dev-python/intervaltree/metadata.xml @@ -9,4 +9,5 @@ <remote-id type="pypi">intervaltree</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index 61b8e259f343..5589711fdd1c 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -5,3 +5,4 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c DIST llvmorg-12.0.0-rc2.tar.gz 134242619 BLAKE2B bb741a311db608fc2ba7eeaab71c5c9f2a430f7fee3f0c5c4334e5c14caa19738d18c87b568de963d57d9b53e808ac412cf8554eca7fcae9ecca65aa4442e197 SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d DIST llvmorg-12.0.0-rc3.tar.gz 134244008 BLAKE2B ed09aa361b264387711ba1ee2e4b01c0c78ad97391df95e2542d4edc31f657cc33c8a2a45de63eb421908d5dadd9392a736610fbb04b3ecbd336d6514a649da8 SHA512 1fae53c6f255160cf4be53848b8b92c8b162ddcfbddf1bf0017faf249859040c15c862c4b52bc3ba894149139afb814e0674da88793ddebfc0756ba3aa7626ce DIST llvmorg-12.0.0-rc4.tar.gz 134245842 BLAKE2B 860a0551a42e2c6a28f213c151076c5ae64a9d85f7bfb2e2df4737acd5fe968f29d368a689d9a857e01038587e872722d216f044b3f665857d7ed71122fe334e SHA512 20e4440664227c9ea7af84df3643599cd7c96f5e2b6404c42be0ce0f0d7f989f5c7b8df1f1ba93d1473d3a30325cda5a53d3900c0229ccb042b365583b5aa846 +DIST llvmorg-12.0.0-rc5.tar.gz 134247991 BLAKE2B 9721e211d39611f9c48b57386fb57c1dcf964c39ff5f32c593a6390c06659fcd5a1f76063004d2ecd3d1af32281a69994c7478b7fdfacd9f50ebf5fbb2050a71 SHA512 a289fdc55c25454e8cbfd370387fdd11c7555d03b3c479213e37dd01189c077d67bd04b8cab62ce82f3746877f5f02619afb3a5110191048511efee38c191d16 diff --git a/dev-python/lit/lit-12.0.0_rc5.ebuild b/dev-python/lit/lit-12.0.0_rc5.ebuild new file mode 100644 index 000000000000..c2a432e75125 --- /dev/null +++ b/dev-python/lit/lit-12.0.0_rc5.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + sys-devel/llvm )" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from sys-devel/llvm) + +src_prepare() { + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/pyls-black/metadata.xml b/dev-python/pyls-black/metadata.xml index 18466ce27cd2..b366999ab7b0 100644 --- a/dev-python/pyls-black/metadata.xml +++ b/dev-python/pyls-black/metadata.xml @@ -14,4 +14,5 @@ <remote-id type="github">rupert/pyls-black</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pyls-black/pyls-black-0.4.6-r1.ebuild b/dev-python/pyls-black/pyls-black-0.4.6-r1.ebuild new file mode 100644 index 000000000000..7b41b791fad3 --- /dev/null +++ b/dev-python/pyls-black/pyls-black-0.4.6-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Black plugin for the Python Language Server" +HOMEPAGE="https://github.com/rupert/pyls-black + https://pypi.org/project/pyls-black/" +SRC_URI="https://github.com/rupert/${PN}/archive/v${PV}.tar.gz -> ${P}-gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/python-language-server[${PYTHON_USEDEP}] + dev-python/black[${PYTHON_USEDEP}] +" + +distutils_enable_tests --install pytest diff --git a/dev-python/pyls-spyder/pyls-spyder-0.3.2-r1.ebuild b/dev-python/pyls-spyder/pyls-spyder-0.3.2-r1.ebuild new file mode 100644 index 000000000000..18b2c0460039 --- /dev/null +++ b/dev-python/pyls-spyder/pyls-spyder-0.3.2-r1.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Spyder extensions for the python language server" +HOMEPAGE="https://github.com/spyder-ide/pyls-spyder + https://pypi.org/project/pyls-spyder/" +SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}-gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=dev-python/python-language-server-0.36.2[${PYTHON_USEDEP}]" +BDEPEND="test? ( dev-python/mock )" + +distutils_enable_tests pytest diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest index 28f74c69eb46..f4919baf5da5 100644 --- a/dev-python/pypy-exe-bin/Manifest +++ b/dev-python/pypy-exe-bin/Manifest @@ -1,2 +1,4 @@ DIST pypy-exe-7.3.3_p2-1.amd64.xpak 13559131 BLAKE2B 85826ef13cc12ec07143b55cd6821f50db821ba3dad351aae90c2beb98b85f51f39ee26626a04757a63e96ef0da6062ad714f1bf96900ef361d61f2051342787 SHA512 5f5566942f6187d8fdf5b05dc27a3eb7e4bfa958da9b39a85a3531c427de89ca5bea16d080dd5450df906e5a3ab56fdb09010a603795a4763b80d5e4ee4ed96c DIST pypy-exe-7.3.3_p2-1.x86.xpak 10215453 BLAKE2B 34bbac2f3fab96eb91d2f3a9514e8f1b7ecb342da7402385f6d44755bf31f9b3d76688dcc7446aac2a9d768b588c545c0557e96b2bcace39ee669ab3ba5f882b SHA512 9cfc4fc080ec67a1a28cad2d1a76ffcff0db3e1d02ca2efe35f9dd4931c6d2e58ea9de1b3bd8098fc891f7c4b2ff703e42c77f19bedc837c1f5c4c7dc141f26f +DIST pypy-exe-7.3.4-1.amd64.xpak 13659131 BLAKE2B f8dc0875bec1027fd86499d13e435f97bd015882260b449de279ef41f8b8e9b89fc6e9f197539314ada54e2435a2cb7e7baf3da6e47b872d6717c847c3b7ddcf SHA512 e14312457c1fed4d815c7dee0487b5d77e781b3139381a142156e6fc524df7e7f4f613799a570716d89c95fd704ecad3c095f839296d7c1e63bd675aaac2c92e +DIST pypy-exe-7.3.4-1.x86.xpak 10291603 BLAKE2B 62e83aa57b176a02a64a1826515763c24d008a02733ef32040ba2c908dffaca371cda3f55eddecfe93f45c1ba52aa7d0ccb898d84f0dbf8ab004f8a79a3814bb SHA512 73c6481530f4c4305a16d12995b11860023f7516737f892df7911d1effd01142c22f2318fb3b392e2483b976fa2609dbff37b61ad8847e395cbaaccbac0301dd diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.4.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.4.ebuild new file mode 100644 index 000000000000..23e8a4ef4993 --- /dev/null +++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.4.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit pax-utils + +MY_P=pypy-exe-${PV}-1 +DESCRIPTION="PyPy executable (pre-built version)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.xpak + -> ${MY_P}.amd64.xpak + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.xpak + -> ${MY_P}.x86.xpak + )" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=sys-libs/zlib-1.1.3:0/1 + dev-libs/libffi:0/7 + virtual/libintl:0/0 + dev-libs/expat:0/0 + app-arch/bzip2:0/1 + sys-libs/ncurses:0/6 + !dev-python/pypy-exe:${SLOT}" + +QA_PREBUILT=" + usr/lib/pypy2.7/pypy-c-${SLOT}" + +src_unpack() { + ebegin "Unpacking ${MY_P}.${ARCH}.xpak" + tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak") + eend ${?} || die "Unpacking ${MY_P} failed" +} + +src_install() { + insinto / + doins -r usr + fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}" + pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}" +} diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest index 7b6d2debce87..35edec23e66c 100644 --- a/dev-python/pypy-exe/Manifest +++ b/dev-python/pypy-exe/Manifest @@ -1,2 +1,4 @@ DIST pypy2.7-gentoo-patches-7.3.3_p2.tar.xz 11184 BLAKE2B b2b9b94478609372d616c65a87cbb12a07e217928beef9fac26c428f81c662ef390db3fd85bf368ffcc8c6fa3802e506412b7bebd14bdc453009008bc3459d25 SHA512 9ab8ed99b42b36e9c212683ef93f7f1fb99caecf056293ab9a5734f8b52eedec192860702baa121630558530cb5c4652f8542300ecaaaa282377ea6456618b95 +DIST pypy2.7-gentoo-patches-7.3.4.tar.xz 7844 BLAKE2B d06694fa085667e40ef8805c29f7ccf95b49f9de4e99e3ebfa3d69c4202a0ddcebb54c524d7d9f9ec67573a8d2ebe38fb7023d4d3ecef67afc907ecef5c16c02 SHA512 aa8ffefb5d30070ae86c1c14c55c277e39d3da66aea3a0951319158fb65e716e7fa7864e8bf5d26314d4b2a8030c766b63cad6a3663822d2875cd8cc1f3f2de5 DIST pypy2.7-v7.3.3-src.tar.bz2 20881821 BLAKE2B ce1ecdd1fffe40574c7662da6038b84d2bca47ab168939ef0c12be2c6348317f17a94a3026e7fa53c71601edc153aefd98f770bd148e7af07ca751c0a5fc1252 SHA512 c2b6c44fdcac5f9445fab01572f859228fc286891fd09a4ddb95d283683d805276c853ec8e61fcd04cb9ee811d0e959d19bb03fdd7442c044f28a773633122e7 +DIST pypy2.7-v7.3.4-src.tar.bz2 21571561 BLAKE2B d0ac56fadec63fe7e65728c36c2aaf96fc5f54919dddbca9571a24c42a9e3e21f672f84555a18a384c4715f0489bd7aef009c0a47b635de88c472a93e2ae8d71 SHA512 4c18c2dbfbf0cc1034bea773828204df77aec7ef82119fb94e5cb762ce1783e00ad70e99d1432b4948dc132e726bdc6015f4a5bf10a5b10415bcfe99da2ecd17 diff --git a/dev-python/pypy-exe/pypy-exe-7.3.4.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.4.ebuild new file mode 100644 index 000000000000..4663f12fc59e --- /dev/null +++ b/dev-python/pypy-exe/pypy-exe-7.3.4.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{6,7,8,9,10} ) +inherit check-reqs pax-utils python-any-r1 toolchain-funcs + +PYPY_PV=${PV%_p*} +MY_P=pypy2.7-v${PYPY_PV} +PATCHSET="pypy2.7-gentoo-patches-${PV}" + +DESCRIPTION="PyPy executable (build from source)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +SLOT="${PYPY_PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" + +RDEPEND=">=sys-libs/zlib-1.1.3:0= + dev-libs/libffi:0= + virtual/libintl:0= + dev-libs/expat:0= + bzip2? ( app-arch/bzip2:0= ) + ncurses? ( sys-libs/ncurses:0= ) + !dev-python/pypy-exe-bin:${PYPY_PV}" +# don't enforce the dep on pypy with USE=low-memory since it's going +# to cause either collisions or circular dep on itself +DEPEND="${RDEPEND}" +BDEPEND=" + !low-memory? ( + || ( + dev-python/pypy + dev-lang/python:2.7 + ) + )" + +check_env() { + if use low-memory; then + if ! has_version -b dev-python/pypy && + ! has_version -b dev-python/pypy-bin + then + eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy" + eerror "being installed. Please install it using e.g.:" + eerror + eerror " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin" + eerror + eerror "before attempting to build dev-python/pypy-exe[low-memory]." + die "dev-python/pypy needs to be installed for USE=low-memory" + fi + + CHECKREQS_MEMORY="1750M" + use amd64 && CHECKREQS_MEMORY="3500M" + else + CHECKREQS_MEMORY="3G" + use amd64 && CHECKREQS_MEMORY="6G" + fi + + check-reqs_pkg_pretend +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + check_env + + use low-memory && EPYTHON= + if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && + { has_version -b dev-python/pypy || + has_version -b dev-python/pypy-bin; } + then + einfo "Using already-installed PyPy to perform the translation." + EPYTHON=pypy + else + einfo "Using ${EPYTHON} to perform the translation. Please note that upstream" + einfo "recommends using PyPy for that. If you wish to do so, please unset" + einfo "the EPYTHON variable." + python-any-r1_pkg_setup + fi + fi +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_configure() { + tc-export CC + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use cpu_flags_x86_sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + --no-shared + $(usex jit -Ojit -O2) + + ${jit_backend} + + pypy/goal/targetpypystandalone + ) + + # Avoid linking against libraries disabled by use flags + local opts=( + bzip2:bz2 + ncurses:_minimal_curses + ) + + local opt + for opt in "${opts[@]}"; do + local flag=${opt%:*} + local mod=${opt#*:} + + args+=( + $(usex ${flag} --withmod --withoutmod)-${mod} + ) + done + + local interp=( "${EPYTHON}" ) + if use low-memory; then + interp=( env PYPY_GC_MAX_DELTA=200MB + "${EPYTHON}" --jit loop_longevity=300 ) + fi + + if [[ ${EPYTHON} != pypy ]]; then + # reuse bundled pycparser to avoid external dep + mkdir -p "${T}"/pymod/cffi || die + : > "${T}"/pymod/cffi/__init__.py || die + cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die + local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} + fi + + # translate into the C sources + # we're going to build them ourselves since otherwise pypy does not + # free up the unneeded memory before spawning the compiler + set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "translation failed" +} + +src_compile() { + emake -C "${T}"/usession*-0/testing_1 +} + +src_install() { + local dest=/usr/lib/pypy2.7 + exeinto "${dest}" + newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV} + insinto "${dest}"/include/${PYPY_PV} + doins include/pypy_* + pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}" +} diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest index 7b6d2debce87..35edec23e66c 100644 --- a/dev-python/pypy/Manifest +++ b/dev-python/pypy/Manifest @@ -1,2 +1,4 @@ DIST pypy2.7-gentoo-patches-7.3.3_p2.tar.xz 11184 BLAKE2B b2b9b94478609372d616c65a87cbb12a07e217928beef9fac26c428f81c662ef390db3fd85bf368ffcc8c6fa3802e506412b7bebd14bdc453009008bc3459d25 SHA512 9ab8ed99b42b36e9c212683ef93f7f1fb99caecf056293ab9a5734f8b52eedec192860702baa121630558530cb5c4652f8542300ecaaaa282377ea6456618b95 +DIST pypy2.7-gentoo-patches-7.3.4.tar.xz 7844 BLAKE2B d06694fa085667e40ef8805c29f7ccf95b49f9de4e99e3ebfa3d69c4202a0ddcebb54c524d7d9f9ec67573a8d2ebe38fb7023d4d3ecef67afc907ecef5c16c02 SHA512 aa8ffefb5d30070ae86c1c14c55c277e39d3da66aea3a0951319158fb65e716e7fa7864e8bf5d26314d4b2a8030c766b63cad6a3663822d2875cd8cc1f3f2de5 DIST pypy2.7-v7.3.3-src.tar.bz2 20881821 BLAKE2B ce1ecdd1fffe40574c7662da6038b84d2bca47ab168939ef0c12be2c6348317f17a94a3026e7fa53c71601edc153aefd98f770bd148e7af07ca751c0a5fc1252 SHA512 c2b6c44fdcac5f9445fab01572f859228fc286891fd09a4ddb95d283683d805276c853ec8e61fcd04cb9ee811d0e959d19bb03fdd7442c044f28a773633122e7 +DIST pypy2.7-v7.3.4-src.tar.bz2 21571561 BLAKE2B d0ac56fadec63fe7e65728c36c2aaf96fc5f54919dddbca9571a24c42a9e3e21f672f84555a18a384c4715f0489bd7aef009c0a47b635de88c472a93e2ae8d71 SHA512 4c18c2dbfbf0cc1034bea773828204df77aec7ef82119fb94e5cb762ce1783e00ad70e99d1432b4948dc132e726bdc6015f4a5bf10a5b10415bcfe99da2ecd17 diff --git a/dev-python/pypy/pypy-7.3.4.ebuild b/dev-python/pypy/pypy-7.3.4.ebuild new file mode 100644 index 000000000000..d9a8bc29d156 --- /dev/null +++ b/dev-python/pypy/pypy-7.3.4.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit pax-utils python-utils-r1 + +PYPY_PV=${PV%_p*} +MY_P=pypy2.7-v${PYPY_PV} +PATCHSET="pypy2.7-gentoo-patches-${PV}" + +DESCRIPTION="A fast, compliant alternative implementation of the Python language" +HOMEPAGE="https://www.pypy.org/" +SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")' +SLOT="0/73" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 gdbm +jit libressl ncurses sqlite tk" + +RDEPEND=" + || ( + >=dev-python/pypy-exe-${PV}:${PYPY_PV}[bzip2?,ncurses?] + >=dev-python/pypy-exe-bin-${PV}:${PYPY_PV} + ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + gdbm? ( sys-libs/gdbm:0= ) + sqlite? ( dev-db/sqlite:3= ) + tk? ( + dev-lang/tk:0= + dev-tcltk/tix:0= + ) + !<dev-python/pypy-bin-7.3.0:0" +DEPEND="${RDEPEND}" + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default + + sed -e "s^@EPREFIX@^${EPREFIX}^" \ + -i lib-python/2.7/distutils/command/install.py || die +} + +src_compile() { + # copy over to make sys.prefix happy + cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die + cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die + # (not installed by pypy) + rm pypy/module/cpyext/include/_numpypy/numpy/README || die + mv pypy/module/cpyext/include/* include/ || die + mv pypy/module/cpyext/parse/*.h include/ || die + pax-mark m pypy-c + + einfo "Generating caches and CFFI modules ..." + + # Generate Grammar and PatternGrammar pickles. + ./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ + || die "Generation of Grammar and PatternGrammar pickles failed" + + # Generate cffi modules + # Please keep in sync with pypy/tool/build_cffi_imports.py! +#cffi_build_scripts = { +# "_ssl": "_ssl_build.py", +# "sqlite3": "_sqlite3_build.py", +# "audioop": "_audioop_build.py", +# "tk": "_tkinter/tklib_build.py", +# "curses": "_curses_build.py" if sys.platform != "win32" else None, +# "syslog": "_syslog_build.py" if sys.platform != "win32" else None, +# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None, +# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None, +# "resource": "_resource_build.py" if sys.platform != "win32" else None, + cffi_targets=( ssl audioop syslog pwdgrp resource ) + use gdbm && cffi_targets+=( gdbm ) + use ncurses && cffi_targets+=( curses ) + use sqlite && cffi_targets+=( sqlite3 ) + use tk && cffi_targets+=( tkinter/tklib ) + + local t + # all modules except tkinter output to . + # tkinter outputs to the correct dir ... + cd lib_pypy || die + for t in "${cffi_targets[@]}"; do + # tkinter doesn't work via -m + ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" + done + + # Cleanup temporary objects + find -name "_cffi_*.[co]" -delete || die + find -type d -empty -delete || die +} + +src_test() { + # (unset) + local -x PYTHONDONTWRITEBYTECODE= + local -x COLUMNS=80 + + local ignored_tests=( + # network + --ignore=lib-python/2.7/test/test_urllibnet.py + --ignore=lib-python/2.7/test/test_urllib2net.py + # lots of free space + --ignore=lib-python/2.7/test/test_zipfile64.py + ) + + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \ + "${ignored_tests[@]}" lib-python || die +} + +src_install() { + local dest=/usr/lib/pypy2.7 + einfo "Installing PyPy ..." + dosym pypy-c-${PYPY_PV} "${dest}/pypy-c" + insinto "${dest}" + # preserve mtimes to avoid obsoleting caches + insopts -p + doins -r include lib_pypy lib-python + + # replace copied headers with symlinks + for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do + dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}" + done + + dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy + dodoc README.rst + + if ! use gdbm; then + rm -r "${ED}${dest}"/lib_pypy/gdbm.py \ + "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \ + "${ED}${dest}"/lib_pypy/_sqlite3.py \ + "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \ + "${ED}${dest}"/lib_pypy/_tkinter \ + "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die + fi + + local -x EPYTHON=pypy + local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV} + # temporarily copy to build tree to facilitate module builds + cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_moduleinto /usr/lib/pypy2.7/site-packages + python_domodule epython.py + + einfo "Byte-compiling Python standard library..." + python_optimize "${ED}${dest}" + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/pypy3-exe-bin/Manifest b/dev-python/pypy3-exe-bin/Manifest index 6ed560e0f33d..0c65b416b44b 100644 --- a/dev-python/pypy3-exe-bin/Manifest +++ b/dev-python/pypy3-exe-bin/Manifest @@ -2,3 +2,5 @@ DIST pypy3-exe-7.3.3_p37_p1-1.amd64.xpak 11849780 BLAKE2B 50af990a9f636c6f3fdcea DIST pypy3-exe-7.3.3_p37_p1-1.x86.xpak 9097573 BLAKE2B bac15c49691ee264c271a1b9a6fa3fe6bc6c35effd8d21477264e2e8f140f713608bad74746ee796b98e94d4e7dc1ea33d667aa89389786c2e04acf31f264952 SHA512 128e9e570a00b684fb0915917b58166049b6280805915952c11a3793c579233a35e917a42b25aa2b50262dc6a0c99ca9e5283f39128973249d8735c827dfc10e DIST pypy3-exe-7.3.3_p37_p2-1.amd64.xpak 11834007 BLAKE2B c6d501f7c2317c2550404158d5c917c4519cef5987dbfe72d9b9b01f5821554be951e8b89db1d74e5629a747d1044f0d9d69ea3520760eba294740ec4599a490 SHA512 bff2f9e499a9992fa3ae8779713cd7455049f8d16f16d42b8e62d2564291d495cfcd641c0e492bbac9dd157ea00fb377ba89c9751eb743ce6639329aebe7de39 DIST pypy3-exe-7.3.3_p37_p2-1.x86.xpak 9153105 BLAKE2B 58a2f4c7e2e6c7cc1c65e129d6a5153b566fedd109834cec2b0506519f62bc508cdb342bc4eb084a4a5eaaa2ff6e7afae8f9f22d9b5d6a4647eaa7ea177fff8e SHA512 3990567c97175d6024499c65b050b4e095de5374c050416a479671e31aedefd749abb259d255841001351b043f9e86ffaa1a5cd61a1f8449b26fe023a7022849 +DIST pypy3-exe-7.3.4-1.amd64.xpak 12038379 BLAKE2B 6f51ec285cedef0703a9e145e5ac0ada1d19585be97997a8156a3964949490fd0c874b8c355433d3cd04df4df5c11be7f5badefe2e9c69129052fe51de627a72 SHA512 f1badabde936f5dc5700fda01941be249f4a056f1d61a685bb8c168a5cca6eac4c7e6cd660a5a5d2695307a3b7f4ef1941e5ea63a57816b669d54f497a1a5b91 +DIST pypy3-exe-7.3.4-1.x86.xpak 9159557 BLAKE2B 754fd401084c480a5a2a20c6e9a533fa5f691cbca06b0516d3d44fdf9529541c43f84fccdfdd70422231ddb887a9f5a9e38789b6fc3dce81d9f0fafade587bec SHA512 ff05c3ae252b0a5eeb403a18782707ea8884126763a83bcebe1e60934ad7cd6070db24ebeeffb15397b6c02fc68766011438b2064b484ae6d24991311e2a012a diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.4.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.4.ebuild new file mode 100644 index 000000000000..c25ec9fa093a --- /dev/null +++ b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.4.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit pax-utils + +MY_P=pypy3-exe-${PV}-1 +DESCRIPTION="PyPy3 executable (pre-built version)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak + -> ${MY_P}.amd64.xpak + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak + -> ${MY_P}.x86.xpak + )" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=sys-libs/zlib-1.1.3:0/1 + dev-libs/libffi:0/7 + virtual/libintl:0/0 + dev-libs/expat:0/0 + app-arch/bzip2:0/1 + sys-libs/ncurses:0/6 + !dev-python/pypy-exe:${SLOT}" + +PYPY_PV=${SLOT%_p*} +QA_PREBUILT=" + usr/lib/pypy3.7/pypy3-c-${PYPY_PV}" + +src_unpack() { + ebegin "Unpacking ${MY_P}.${ARCH}.xpak" + tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak") + eend ${?} || die "Unpacking ${MY_P} failed" +} + +src_install() { + insinto / + doins -r usr + fperms +x "/usr/lib/pypy3.7/pypy3-c-${PYPY_PV}" + pax-mark m "${ED}/usr/lib/pypy3.7/pypy3-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3-exe/Manifest b/dev-python/pypy3-exe/Manifest index 899106199d19..86d5609d8976 100644 --- a/dev-python/pypy3-exe/Manifest +++ b/dev-python/pypy3-exe/Manifest @@ -1,3 +1,5 @@ DIST pypy3.7-gentoo-patches-7.3.3_p1.tar.xz 13816 BLAKE2B 135a029e2d881ed5e43869fde391571285454b8612f2857fb5fe7aaf5b126f84d01293bd31e7a7746ad03fce1e14ace6a6f9cc2634269ec431b4aabfe70f9b4c SHA512 acf4938bc171e757196cf138358a298880792367ca5fff6b462d6971c8597e064777f99b687cb25003c6f25762a901ed482eebd791fdb008fa729ca9c9c300e8 DIST pypy3.7-gentoo-patches-7.3.3_p2.tar.xz 14508 BLAKE2B c2df6b9a88fc4dfb5fd4d68dda65e69e039c28a44193d94b1efeed58aa944a111f755096b8dc3d3318a294eaafd75eb1d583fa3acc704bc272260f25545a9da8 SHA512 5736fefa62b359e2a86c336853142114ceab0e68cf8337aaaac18492d6521d780109cdab80ab46f577610a32082477610a1f56882650d45f41b17083387f1f8d +DIST pypy3.7-gentoo-patches-7.3.4.tar.xz 8464 BLAKE2B 6d458a41e87eabeb2920b28752fe5cc49bbfc9c5f03d2fc1321362fbd02e9dfb3b41c99cb765b7f2644b9c49c5c60f879ad1c60a66bc991462edb50215b1802d SHA512 1282cf2fa9054209ceb5a91e0b4adcd86de33a326230fabe154b572d5e798d81e93d136e815f1c2816fbfdd5071fcfc175585d4fa5ae93145938bb4cf1d2baa7 DIST pypy3.7-v7.3.3-src.tar.bz2 24633503 BLAKE2B 0fb9fbb8866cf661c5b1d8d029fb2bc50737fae097875d0dac86c9ec21dc907093173b350a4f89d2c5a1fbed4c92ca4919f047536b828d4ee35583d615e7ddce SHA512 c98955e72dc0bd0452e4e16e0fe0ab318a34d6d57217ea33349e98ed047597ba97be7d15b41edd4dc85028fcca0a6257a4bb98fe96ce876e41a04df012261f4a +DIST pypy3.7-v7.3.4-src.tar.bz2 25344083 BLAKE2B e88dd0cfcc6123dbf894f603162ebe43675c96b992d15c29e14a611a166b8da8d1d2f3298e65e5794b295215440cb88f31d252fcdaef1a0dab52777c24212a49 SHA512 c570d34f284f41dcd8dd909216c69831dd83b8501423c7635a4fe506fb16fd3705cf87975a664735e52d0b805a0432267d611a993437d17aac3defe4b9ea4401 diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.4.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.4.ebuild new file mode 100644 index 000000000000..4582e63063e0 --- /dev/null +++ b/dev-python/pypy3-exe/pypy3-exe-7.3.4.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# pypy3 needs to be built using python 2 +PYTHON_COMPAT=( python2_7 python3_{6,7,8,9,10} ) +inherit check-reqs pax-utils python-any-r1 toolchain-funcs + +PYPY_PV=${PV%_p37*} +MY_P=pypy3.7-v${PYPY_PV/_/} +PATCHSET="pypy3.7-gentoo-patches-${PV/_p37}" + +DESCRIPTION="PyPy3 executable (build from source)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" + +RDEPEND=">=sys-libs/zlib-1.1.3:0= + dev-libs/libffi:0= + virtual/libintl:0= + dev-libs/expat:0= + bzip2? ( app-arch/bzip2:0= ) + ncurses? ( sys-libs/ncurses:0= ) + !dev-python/pypy3-exe-bin:${PV%_p*}" +DEPEND="${RDEPEND}" +BDEPEND=" + low-memory? ( dev-python/pypy ) + !low-memory? ( + || ( + dev-python/pypy + dev-lang/python:2.7 + ) + )" + +check_env() { + if use low-memory; then + CHECKREQS_MEMORY="1750M" + use amd64 && CHECKREQS_MEMORY="3500M" + else + CHECKREQS_MEMORY="3G" + use amd64 && CHECKREQS_MEMORY="6G" + fi + + check-reqs_pkg_pretend +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + check_env + + # unset to allow forcing pypy below :) + use low-memory && EPYTHON= + if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && + { has_version -b dev-python/pypy || + has_version -b dev-python/pypy-bin; } + then + einfo "Using PyPy to perform the translation." + EPYTHON=pypy + else + einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" + einfo "recommends using PyPy for that. If you wish to do so, please install" + einfo "dev-python/pypy and ensure that EPYTHON variable is unset." + python-any-r1_pkg_setup + fi + fi +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_configure() { + tc-export CC + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use cpu_flags_x86_sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + --no-shared + $(usex jit -Ojit -O2) + + ${jit_backend} + + pypy/goal/targetpypystandalone + ) + + # Avoid linking against libraries disabled by use flags + local opts=( + bzip2:bz2 + ncurses:_minimal_curses + ) + + local opt + for opt in "${opts[@]}"; do + local flag=${opt%:*} + local mod=${opt#*:} + + args+=( + $(usex ${flag} --withmod --withoutmod)-${mod} + ) + done + + local interp=( "${EPYTHON}" ) + if use low-memory; then + interp=( env PYPY_GC_MAX_DELTA=200MB + "${EPYTHON}" --jit loop_longevity=300 ) + fi + + if [[ ${EPYTHON} != pypy ]]; then + # reuse bundled pycparser to avoid external dep + mkdir -p "${T}"/pymod/cffi || die + : > "${T}"/pymod/cffi/__init__.py || die + cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die + local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} + fi + + # translate into the C sources + # we're going to build them ourselves since otherwise pypy does not + # free up the unneeded memory before spawning the compiler + set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "translation failed" +} + +src_compile() { + emake -C "${T}"/usession*-0/testing_1 +} + +src_install() { + local dest=/usr/lib/pypy3.7 + exeinto "${dest}" + newexe "${T}"/usession*-0/testing_1/pypy3-c pypy3-c-${PYPY_PV} + insinto "${dest}"/include/${PYPY_PV} + doins include/pypy_* + pax-mark m "${ED}${dest}/pypy3-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest index 8f103b863d61..76958ebc4b0a 100644 --- a/dev-python/pypy3/Manifest +++ b/dev-python/pypy3/Manifest @@ -1,2 +1,4 @@ DIST pypy3.7-gentoo-patches-7.3.3_p1.tar.xz 13816 BLAKE2B 135a029e2d881ed5e43869fde391571285454b8612f2857fb5fe7aaf5b126f84d01293bd31e7a7746ad03fce1e14ace6a6f9cc2634269ec431b4aabfe70f9b4c SHA512 acf4938bc171e757196cf138358a298880792367ca5fff6b462d6971c8597e064777f99b687cb25003c6f25762a901ed482eebd791fdb008fa729ca9c9c300e8 +DIST pypy3.7-gentoo-patches-7.3.4.tar.xz 8464 BLAKE2B 6d458a41e87eabeb2920b28752fe5cc49bbfc9c5f03d2fc1321362fbd02e9dfb3b41c99cb765b7f2644b9c49c5c60f879ad1c60a66bc991462edb50215b1802d SHA512 1282cf2fa9054209ceb5a91e0b4adcd86de33a326230fabe154b572d5e798d81e93d136e815f1c2816fbfdd5071fcfc175585d4fa5ae93145938bb4cf1d2baa7 DIST pypy3.7-v7.3.3-src.tar.bz2 24633503 BLAKE2B 0fb9fbb8866cf661c5b1d8d029fb2bc50737fae097875d0dac86c9ec21dc907093173b350a4f89d2c5a1fbed4c92ca4919f047536b828d4ee35583d615e7ddce SHA512 c98955e72dc0bd0452e4e16e0fe0ab318a34d6d57217ea33349e98ed047597ba97be7d15b41edd4dc85028fcca0a6257a4bb98fe96ce876e41a04df012261f4a +DIST pypy3.7-v7.3.4-src.tar.bz2 25344083 BLAKE2B e88dd0cfcc6123dbf894f603162ebe43675c96b992d15c29e14a611a166b8da8d1d2f3298e65e5794b295215440cb88f31d252fcdaef1a0dab52777c24212a49 SHA512 c570d34f284f41dcd8dd909216c69831dd83b8501423c7635a4fe506fb16fd3705cf87975a664735e52d0b805a0432267d611a993437d17aac3defe4b9ea4401 diff --git a/dev-python/pypy3/pypy3-7.3.4.ebuild b/dev-python/pypy3/pypy3-7.3.4.ebuild new file mode 100644 index 000000000000..6fc899e76c52 --- /dev/null +++ b/dev-python/pypy3/pypy3-7.3.4.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{6,7,8,9,10} ) +inherit pax-utils python-any-r1 toolchain-funcs + +PYPY_PV=${PV%_p37*} +MY_P=pypy3.7-v${PYPY_PV/_/} +PATCHSET="pypy3.7-gentoo-patches-${PV/_p37}" + +DESCRIPTION="A fast, compliant alternative implementation of the Python (3.7) language" +HOMEPAGE="https://www.pypy.org/" +SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))' +# also check pypy/interpreter/pycode.py -> pypy_incremental_magic +SLOT="0/pypy37-pp73" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 gdbm +jit libressl ncurses sqlite test tk" +# pypy3.7 is in alpha state and a lot of tests are failing +RESTRICT="test" + +RDEPEND=" + || ( + >=dev-python/pypy3-exe-${PV}:${PV%_p*}[bzip2?,ncurses?] + >=dev-python/pypy3-exe-bin-${PV}:${PV%_p*} + ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + gdbm? ( sys-libs/gdbm:0= ) + sqlite? ( dev-db/sqlite:3= ) + tk? ( + dev-lang/tk:0= + dev-tcltk/tix:0= + ) + !<dev-python/pypy3-bin-7.3.0:0" +DEPEND="${RDEPEND} + test? ( + ${PYTHON_DEPS} + !!dev-python/pytest-forked + )" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default + + sed -e "s^@EPREFIX@^${EPREFIX}^" \ + -i lib-python/3/distutils/command/install.py || die + + eapply_user +} + +src_configure() { + tc-export CC +} + +src_compile() { + # copy over to make sys.prefix happy + cp -p "${BROOT}"/usr/lib/pypy3.7/pypy3-c-${PYPY_PV} pypy3-c || die + cp -p "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/* include/ || die + # (not installed by pypy) + rm pypy/module/cpyext/include/_numpypy/numpy/README || die + mv pypy/module/cpyext/include/* include/ || die + mv pypy/module/cpyext/parse/*.h include/ || die + pax-mark m pypy3-c + + einfo "Generating caches and CFFI modules ..." + + # Generate Grammar and PatternGrammar pickles. + ./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ + || die "Generation of Grammar and PatternGrammar pickles failed" + + # Generate cffi modules + # Please keep in sync with pypy/tool/build_cffi_imports.py! +#cffi_build_scripts = { +# "_blake2": "_blake2/_blake2_build.py", +# "_ssl": "_ssl_build.py", +# "sqlite3": "_sqlite3_build.py", +# "audioop": "_audioop_build.py", +# "tk": "_tkinter/tklib_build.py", +# "curses": "_curses_build.py" if sys.platform != "win32" else None, +# "syslog": "_syslog_build.py" if sys.platform != "win32" else None, +# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None, +# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None, +# "resource": "_resource_build.py" if sys.platform != "win32" else None, +# "lzma": "_lzma_build.py", +# "_decimal": "_decimal_build.py", +# "_sha3": "_sha3/_sha3_build.py", + cffi_targets=( blake2/_blake2 sha3/_sha3 ssl + audioop syslog pwdgrp resource lzma decimal ) + use gdbm && cffi_targets+=( gdbm ) + use ncurses && cffi_targets+=( curses ) + use sqlite && cffi_targets+=( sqlite3 ) + use tk && cffi_targets+=( tkinter/tklib ) + + local t + # all modules except tkinter output to . + # tkinter outputs to the correct dir ... + cd lib_pypy || die + for t in "${cffi_targets[@]}"; do + # tkinter doesn't work via -m + ../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" + done + + # Cleanup temporary objects + find -name "_cffi_*.[co]" -delete || die + find -type d -empty -delete || die +} + +src_test() { + # (unset) + local -x PYTHONDONTWRITEBYTECODE= + local -x COLUMNS=80 + + # Test runner requires Python 2 too. However, it spawns PyPy3 + # internally so that we end up testing the correct interpreter. + # (--deselect for failing doctests) + "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die +} + +src_install() { + local dest=/usr/lib/pypy3.7 + einfo "Installing PyPy ..." + dosym pypy3-c-${PYPY_PV} "${dest}/pypy3-c" + insinto "${dest}" + # preserve mtimes to avoid obsoleting caches + insopts -p + doins -r include lib_pypy lib-python + + # replace copied headers with symlinks + for x in "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/*; do + dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}" + done + + dosym ../lib/pypy3.7/pypy3-c /usr/bin/pypy3 + dodoc README.rst + + if ! use gdbm; then + rm -r "${ED}${dest}"/lib_pypy/_gdbm* || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/lib-python/*3/sqlite3 \ + "${ED}${dest}"/lib_pypy/_sqlite3* \ + "${ED}${dest}"/lib-python/*3/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/lib-python/*3/{idlelib,tkinter} \ + "${ED}${dest}"/lib_pypy/_tkinter \ + "${ED}${dest}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die + fi + + local -x EPYTHON=pypy3 + local -x PYTHON=${ED}${dest}/pypy3-c-${PYPY_PV} + # temporarily copy to build tree to facilitate module builds + cp -p "${BROOT}${dest}/pypy3-c-${PYPY_PV}" "${PYTHON}" || die + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_moduleinto /usr/lib/pypy3.7/site-packages + python_domodule epython.py + + einfo "Byte-compiling Python standard library..." + python_optimize "${ED}${dest}" + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/pyscreenshot/metadata.xml b/dev-python/pyscreenshot/metadata.xml index 863dd12d2a50..bbe05c162b5c 100644 --- a/dev-python/pyscreenshot/metadata.xml +++ b/dev-python/pyscreenshot/metadata.xml @@ -13,4 +13,5 @@ <remote-id type="pypi">pyscreenshot</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pytest-lazy-fixture/metadata.xml b/dev-python/pytest-lazy-fixture/metadata.xml index 093f273abbab..a15a33ae2349 100644 --- a/dev-python/pytest-lazy-fixture/metadata.xml +++ b/dev-python/pytest-lazy-fixture/metadata.xml @@ -13,4 +13,5 @@ <remote-id type="pypi">pytest-lazy-fixture</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild b/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild index c3832cf4bb62..161c91fb93e6 100644 --- a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild +++ b/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 diff --git a/dev-python/pytest-ordering/metadata.xml b/dev-python/pytest-ordering/metadata.xml index 4e9a930c797d..1d9bf900b7d5 100644 --- a/dev-python/pytest-ordering/metadata.xml +++ b/dev-python/pytest-ordering/metadata.xml @@ -14,4 +14,5 @@ <remote-id type="pypi">pytest-ordering</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild b/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild index 5671186cccc5..175b581436ba 100644 --- a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild +++ b/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -18,9 +18,9 @@ LICENSE="MIT" SLOT="0" KEYWORDS="amd64 x86" -DEPEND="test? ( dev-python/pytest-ordering[${PYTHON_USEDEP}] )" +RDEPEND="<dev-python/pytest-6[${PYTHON_USEDEP}]" -distutils_enable_tests pytest +distutils_enable_tests --install pytest distutils_enable_sphinx docs/source python_prepare_all() { diff --git a/dev-python/pytest-xvfb/metadata.xml b/dev-python/pytest-xvfb/metadata.xml index 82cb52ec57ff..2f6d80cb91c1 100644 --- a/dev-python/pytest-xvfb/metadata.xml +++ b/dev-python/pytest-xvfb/metadata.xml @@ -13,4 +13,5 @@ <remote-id type="pypi">pytest-xvfb</remote-id> </upstream> <origin>gentoo-staging</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r1.ebuild b/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r1.ebuild new file mode 100644 index 000000000000..80f249cc17dd --- /dev/null +++ b/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_REQ_USE="tk" +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="A pytest plugin to run Xvfb for tests" +HOMEPAGE="https://pypi.org/project/pytest-xvfb/" +SRC_URI="https://github.com/The-Compiler/pytest-xvfb/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/pytest-2.8.1[${PYTHON_USEDEP}] + >=dev-python/pyvirtualdisplay-1.3[${PYTHON_USEDEP}] + x11-base/xorg-server[xvfb] +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTHONPATH="${BUILD_DIR}/install/lib" + esetup.py install \ + --root="${BUILD_DIR}/install" \ + --install-lib=lib + + pytest -vv || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild b/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild index a5c55b5053b2..509690e0a2d7 100644 --- a/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild +++ b/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild @@ -19,10 +19,15 @@ LICENSE="BSD-2" SLOT="0" KEYWORDS="~amd64 ~x86" +# pyvirtualdisplay.smartdisplay.DisplayTimeoutError: Timeout! elapsed time:60.3 timeout:60 +# tests hang in xvfb +RESTRICT="test" + RDEPEND="dev-python/easyprocess[${PYTHON_USEDEP}]" BDEPEND=" test? ( - dev-python/backports-tempfile[${PYTHON_USEDEP}] + $(python_gen_cond_dep \ + 'dev-python/backports-tempfile[${PYTHON_USEDEP}]' python3_7 python3_8 ) dev-python/entrypoint2[${PYTHON_USEDEP}] dev-python/path-py[${PYTHON_USEDEP}] dev-python/pillow[${PYTHON_USEDEP}] diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest index f16d4c2f2710..61c4ebedbe17 100644 --- a/dev-python/setuptools/Manifest +++ b/dev-python/setuptools/Manifest @@ -2,3 +2,4 @@ DIST setuptools-53.1.0.tar.gz 2051159 BLAKE2B f4148df45f5c62acd6acae833619dcae50 DIST setuptools-54.1.1.tar.gz 2053415 BLAKE2B 59d60e9be5a184e34e8c9e1ccb477eae538836c8fac4862f3365e1abe8beec6cc85490918d413b29831c4d3738ca19cd84ac4a9d30178e45e42c652a0ade5fac SHA512 d2ab5445a9b4de5b5fae8aab6a47131ad41a011fa23fb1e6c07a599bcb27a8f89ea3c5ea9939577d6286bf3f8e2edf0334816ae1a507dba09c46435d063c3379 DIST setuptools-54.1.2.tar.gz 2053508 BLAKE2B 23958ab6bc8ac5681fb4a86217b893f5389be1afc9e71f77a3aaaca469e3f86117e55f9df8f864ae56059ef6aef054a6a5ce8d6670a5ce266de6322b820e68d7 SHA512 b6efe6e92227704a95d4d4a31d033df6df96a430d7e51cb7df80203af56d8f8f64c95deaf194c7cfbfd2111f5bc02be45db2c0383c3209c898c1858821eb4642 DIST setuptools-54.2.0.tar.gz 2054279 BLAKE2B 2a52e76808fb2bc6df4c59ac7476a9386401180ff6c0d52a5f3d87aedf976a3057cfa0a7ddf2a4497c4c1552d5ebe4810c4bbfa127e1293f950054bddbf7d835 SHA512 b18cd075cf59b8648611eef1874de41199ede6ffe6d7f5047586c6ac8783fe18b9a4f537783e590e7aec127033f612b93925e92f039bd6416a609fcfb262e354 +DIST setuptools-56.0.0.tar.gz 2054762 BLAKE2B 3fc0f47304109f765ff0f8430dae735005d508aaa79609c5ca08217eb3802014267bd0f1a4f4678b417143f0d22b4b27f166573e41685229e0d4491b1789713d SHA512 951d43a0192b9dddacd7bd7ff6b76e281c14071771096db3c413fde6ea67b0c534f17a770cb3464cd3a6a4e8145b82f4cf5c0228e76e6f2cefe88d33748816e9 diff --git a/dev-python/setuptools/setuptools-56.0.0.ebuild b/dev-python/setuptools/setuptools-56.0.0.ebuild new file mode 100644 index 000000000000..6ec996a7a4e3 --- /dev/null +++ b/dev-python/setuptools/setuptools-56.0.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +# Set to 'manual' to avoid triggering install QA check +DISTUTILS_USE_SETUPTOOLS=manual +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + test? ( + dev-python/jaraco-envs[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/pytest-fixture-config[${PYTHON_USEDEP}] + dev-python/pytest-virtualenv[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}] + dev-python/setuptools_scm[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest + +# Force in-source build because build system modifies sources. +DISTUTILS_IN_SOURCE_BUILD=1 + +DOCS=( {CHANGES,README}.rst ) + +python_test() { + distutils_install_for_testing --via-root + local deselect=( + # network + 'setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None]' + setuptools/tests/test_distutils_adoption.py + # TODO + setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts + # this one's unhappy about pytest-xdist but one test is not worth + # losing the speed gain + setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_sdist_relative_path_import + ) + + # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg + # It tries to sandbox the test in a tempdir + HOME="${PWD}" pytest -vv ${deselect[@]/#/--deselect } \ + -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" \ + setuptools || die "Tests failed under ${EPYTHON}" +} + +python_install() { + export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1 + distutils-r1_python_install +} diff --git a/dev-python/textdistance/textdistance-4.2.1-r1.ebuild b/dev-python/textdistance/textdistance-4.2.1-r1.ebuild new file mode 100644 index 000000000000..2259757c7395 --- /dev/null +++ b/dev-python/textdistance/textdistance-4.2.1-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Compute distance between the two texts" +HOMEPAGE="https://github.com/life4/textdistance" +SRC_URI="https://github.com/life4/textdistance/archive/v.${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND="test? ( + dev-python/abydos[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/isort[${PYTHON_USEDEP}] + dev-python/jellyfish[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/python-levenshtein[${PYTHON_USEDEP}] + dev-python/pyxDamerauLevenshtein[${PYTHON_USEDEP}] +)" + +S="${WORKDIR}/${PN}-v.${PV}" + +distutils_enable_tests --install pytest + +python_prepare_all() { + # RuntimeError: cannot import distance.hamming + # these optional things are missing at the moment + sed -i -e 's:test_compare:_&:' \ + -e 's:test_qval:_&:' \ + -e 's:test_list_of_numbers:_&:' \ + tests/test_external.py || die + + distutils-r1_python_prepare_all +} |
