From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/zstandard/files/, dev-python/zstandard/
Date: Wed, 1 Nov 2023 16:05:25 +0000 (UTC) [thread overview]
Message-ID: <1698854718.fe486203c31bc14bdf6b0f656621cfd33be34d56.mgorny@gentoo> (raw)
commit: fe486203c31bc14bdf6b0f656621cfd33be34d56
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 1 15:26:51 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 1 16:05:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe486203
dev-python/zstandard: Bump to 0.22.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/zstandard/Manifest | 1 +
.../zstandard/files/zstandard-0.22.0-build.patch | 53 ++++++++++++++++
dev-python/zstandard/zstandard-0.22.0.ebuild | 74 ++++++++++++++++++++++
3 files changed, 128 insertions(+)
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
index 9423adad5833..3d90d71df78d 100644
--- a/dev-python/zstandard/Manifest
+++ b/dev-python/zstandard/Manifest
@@ -1 +1,2 @@
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
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
+}
next reply other threads:[~2023-11-01 16:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-01 16:05 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-02 7:09 [gentoo-commits] repo/gentoo:master commit in: dev-python/zstandard/files/, dev-python/zstandard/ Michał Górny
2020-05-17 7:55 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1698854718.fe486203c31bc14bdf6b0f656621cfd33be34d56.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox