forked from pool/python-zstandard
Accepting request 1066378 from home:marxin:branches:devel:languages:python
- Enable --system-zstd so that we depend of a system shared library of zstd. - Add feature-detection.patch as feature detection test does not support --system-zstd (gh#indygreg/python-zstandard#191). OBS-URL: https://build.opensuse.org/request/show/1066378 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zstandard?expand=0&rev=18
This commit is contained in:
58
feature-detection.patch
Normal file
58
feature-detection.patch
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
diff --git a/c-ext/backend_c.c b/c-ext/backend_c.c
|
||||||
|
index e31dd15..a5d9dee 100644
|
||||||
|
--- a/c-ext/backend_c.c
|
||||||
|
+++ b/c-ext/backend_c.c
|
||||||
|
@@ -210,6 +210,20 @@ void zstd_module_init(PyObject *m) {
|
||||||
|
Py_DECREF(feature);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef SYSTEM_ZSTD
|
||||||
|
+ feature = PyUnicode_FromString("system_zstd");
|
||||||
|
+ if (NULL == feature) {
|
||||||
|
+ PyErr_SetString(PyExc_ImportError, "could not create feature string");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (PySet_Add(features, feature) == -1) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ Py_DECREF(feature);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
if (PyObject_SetAttrString(m, "backend_features", features) == -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
diff --git a/setup_zstd.py b/setup_zstd.py
|
||||||
|
index 399b129..d940c80 100644
|
||||||
|
--- a/setup_zstd.py
|
||||||
|
+++ b/setup_zstd.py
|
||||||
|
@@ -78,6 +78,7 @@ def get_c_extension(
|
||||||
|
|
||||||
|
if system_zstd:
|
||||||
|
extra_args.append("-DZSTD_MULTITHREAD")
|
||||||
|
+ extra_args.append("-DSYSTEM_ZSTD")
|
||||||
|
else:
|
||||||
|
extra_args.append("-DZSTD_SINGLE_FILE")
|
||||||
|
extra_args.append("-DZSTDLIB_VISIBILITY=")
|
||||||
|
diff --git a/tests/test_module_attributes.py b/tests/test_module_attributes.py
|
||||||
|
index d487aa8..15cda73 100644
|
||||||
|
--- a/tests/test_module_attributes.py
|
||||||
|
+++ b/tests/test_module_attributes.py
|
||||||
|
@@ -26,7 +26,15 @@ class TestModuleAttributes(unittest.TestCase):
|
||||||
|
},
|
||||||
|
}[zstd.backend]
|
||||||
|
|
||||||
|
- self.assertEqual(zstd.backend_features, expected)
|
||||||
|
+ # The following features are available only with
|
||||||
|
+ # statically linked version of the module.
|
||||||
|
+ available_features = set(zstd.backend_features)
|
||||||
|
+ if 'system_zstd' in available_features:
|
||||||
|
+ available_features.remove('system_zstd')
|
||||||
|
+ expected.discard('multi_compress_to_buffer')
|
||||||
|
+ expected.discard('multi_decompress_to_buffer')
|
||||||
|
+
|
||||||
|
+ self.assertEqual(available_features, expected)
|
||||||
|
|
||||||
|
def test_constants(self):
|
||||||
|
self.assertEqual(zstd.MAX_COMPRESSION_LEVEL, 22)
|
||||||
@@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 17 12:46:17 UTC 2023 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Enable --system-zstd so that we depend of a system shared library
|
||||||
|
of zstd.
|
||||||
|
- Add feature-detection.patch as feature detection test does not support
|
||||||
|
--system-zstd (gh#indygreg/python-zstandard#191).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Dec 5 18:21:01 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
Mon Dec 5 18:21:01 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-zstandard
|
# spec file for package python-zstandard
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 SUSE LLC
|
# Copyright (c) 2023 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -25,6 +25,7 @@ License: BSD-3-Clause
|
|||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/indygreg/python-zstandard
|
URL: https://github.com/indygreg/python-zstandard
|
||||||
Source: https://files.pythonhosted.org/packages/source/z/zstandard/zstandard-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/z/zstandard/zstandard-%{version}.tar.gz
|
||||||
|
Patch0: feature-detection.patch
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@@ -48,10 +49,11 @@ Zstandard bindings for Python
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n zstandard-%{version}
|
%setup -q -n zstandard-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS="%{optflags}"
|
export CFLAGS="%{optflags}"
|
||||||
%python_build
|
%python_build --system-zstd
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%python_install
|
||||||
|
|||||||
Reference in New Issue
Block a user