public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
+}


             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