summaryrefslogtreecommitdiff
path: root/dev-python/zstandard
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-01 21:50:29 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-01 21:50:29 +0000
commitf4271cea898f88d5785d4a92396a24e916ac301f (patch)
tree6cec9449f18dbf6a5172b553163d441d0ac83443 /dev-python/zstandard
parente590456a8f7fef7ac4410bcf8f1e1486848e0243 (diff)
gentoo auto-resync : 01:11:2023 - 21:50:29
Diffstat (limited to 'dev-python/zstandard')
-rw-r--r--dev-python/zstandard/Manifest3
-rw-r--r--dev-python/zstandard/files/zstandard-0.22.0-build.patch53
-rw-r--r--dev-python/zstandard/zstandard-0.22.0.ebuild74
3 files changed, 130 insertions, 0 deletions
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
index 0f471b7c8912..b11b49acbe08 100644
--- a/dev-python/zstandard/Manifest
+++ b/dev-python/zstandard/Manifest
@@ -1,3 +1,6 @@
+AUX zstandard-0.22.0-build.patch 2228 BLAKE2B a8c2b6ef7cfb0a6f4037f25505ab6f81875f760078165e89d4956af022e074cf8b55c20a4a78b6a1eee3f5e1711b3b4c78b432cf58f582d21a005e9921f993b2 SHA512 25ecb4ec764af46af104e8e1fa5a4a2e0a8a5f312cac582d6c740b36c0b43af403028c04aae2bda3238f7d73b88dd863d3624e211e87a3eafe63a7a603324891
DIST python-zstandard-0.21.0.gh.tar.gz 711413 BLAKE2B de3c5a5b34242c20452e35ba6bac451a176f9f442dfc7028f5bae9299c8cedafa58edce85b21bbbdd440765a7eef67bf3c996ae1a81d534a18bfc203cdcc1c25 SHA512 51a7a7a6c20733858f96763738f3097f52dae1ca3a33bad3e78e31d6f339d8f2ddb0a7da2fafaa0b162b17e5054c0582ab52054f1215e8c39d8e1f8002babd7c
+DIST python-zstandard-0.22.0.gh.tar.gz 707644 BLAKE2B ce400120f9106d729b50ae091a581f4a9fb2e796ec0872cb7db393aa7a55cf6e22cbff79c3ff780b4f609fbd8289a9744cbdfc730ba51cb09ee4e7c56b1dac9e SHA512 b3041217ad4b6297d0727dd5d22bc83645d43fa591985bef43e8633feb960310a3f2eb1edaa133595941a6932683af91d565266f312c987e6b6c514ce70c9ddb
EBUILD zstandard-0.21.0.ebuild 1606 BLAKE2B 6d7c8d85179c6c2acd67983b36cfcafd7c39eaf7a400ac3baab02d357efbbdda7d1c515838b8c52b8180329a9a743f3065caa2d6358602af2865688ab51710c9 SHA512 3a61a61b893c4102dcc5440748f41678ad3dc3e1a3a314518237146128484e2252f1ebab82ae7cbee072b8917f68e439690a54502c5ee202ba612507e8aa7511
+EBUILD zstandard-0.22.0.ebuild 1687 BLAKE2B 3e0ced6f2ddf41ebc90f970af666874966b8471d275c87206236b7ba9050ab4532ea20ef96cc3f8cf11e4d6a8399688d730d22b69322a34a25d7f01720e5b4d3 SHA512 ee2ce980d8b6e8a29064c7af279fc615896c2f5fb7a3bd69878bff1036afe740bc46e0ea319f495aea9b6fcce693a0c36c8ca8b31570a41b2801bf92518b6ffa
MISC metadata.xml 378 BLAKE2B dd5834c84bb375812b3a3cfcc00d29aa43ac8954b044e188e8f38bdca93fdf1ce98fe78b78dbeccd935c83ca10f3ce18f893e5720dd8991118b6c69149a4ac61 SHA512 06554d973b525d53c680c3e43041f33125dad222339e645294fbc22670a7eadb0e9bf8a3b0771d2b2fb8f136d958eadb32c295179d1547c50ae26754360609f3
diff --git a/dev-python/zstandard/files/zstandard-0.22.0-build.patch b/dev-python/zstandard/files/zstandard-0.22.0-build.patch
new file mode 100644
index 000000000000..1a5ff9affeda
--- /dev/null
+++ b/dev-python/zstandard/files/zstandard-0.22.0-build.patch
@@ -0,0 +1,53 @@
+From d7cb41b4ec0239c82d77a6cd7f55b4c7e3fe0c8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 1 Nov 2023 16:17:13 +0100
+Subject: [PATCH] build: fix building with modern setuptools backend
+
+Set correct `sys.path` prior to importing `setup_zstd`, in order to fix
+building with the modern setuptools backend, i.e.:
+
+```
+* Getting build dependencies for wheel...
+<string>:37: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
+<string>:38: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
+Traceback (most recent call last):
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
+ main()
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
+ json_out['return_val'] = hook(**hook_input['kwargs'])
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
+ return hook(config_settings)
+ ^^^^^^^^^^^^^^^^^^^^^
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
+ return self._get_build_requires(config_settings, requirements=['wheel'])
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
+ self.run_setup()
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 341, in run_setup
+ exec(code, locals())
+ File "<string>", line 49, in <module>
+ModuleNotFoundError: No module named 'setup_zstd'
+
+ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
+```
+---
+ setup.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/setup.py b/setup.py
+index 7cc1f4f..2b2895b 100755
+--- a/setup.py
++++ b/setup.py
+@@ -46,6 +46,8 @@ try:
+ except ImportError:
+ cffi = None
+
++sys.path.insert(0, ".")
++
+ import setup_zstd
+
+ SUPPORT_LEGACY = False
+--
+2.42.0
+
diff --git a/dev-python/zstandard/zstandard-0.22.0.ebuild b/dev-python/zstandard/zstandard-0.22.0.ebuild
new file mode 100644
index 000000000000..d658852757c9
--- /dev/null
+++ b/dev-python/zstandard/zstandard-0.22.0.ebuild
@@ -0,0 +1,74 @@
+# 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} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-zstandard-${PV}
+DESCRIPTION="Zstandard Bindings for Python"
+HOMEPAGE="
+ https://github.com/indygreg/python-zstandard/
+ https://pypi.org/project/zstandard/
+"
+SRC_URI="
+ https://github.com/indygreg/python-zstandard/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0-r2:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+ )
+
+ # the C backend is repeatedly broken, so force CFFI instead
+ sed -e '/PYTHON_ZSTANDARD_IMPORT_POLICY/s:default:cffi:' \
+ -i zstandard/__init__.py || die
+ # unbundle zstd
+ : > zstd/zstdlib.c || die
+ # it does random preprocessing on that, so we can't use #include
+ cp "${ESYSROOT}/usr/include/zstd.h" zstd/zstd.h || die
+ sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die
+
+ distutils-r1_src_prepare
+
+ DISTUTILS_ARGS=(
+ --no-c-backend
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # unreliable, fails on x86
+ tests/test_data_structures.py::TestCompressionParameters::test_estimated_compression_context_size
+ )
+
+ rm -rf zstandard || die
+ epytest
+}