gnu: python-pyzstd: Unbundle and dynamically link Zstd.

* gnu/packages/python-compression.scm (python-pyzstd)[source]:
Delete bundled Zstd.
[arguments]: Add "--dynamic-link-zstd" configure flag, and honour it.
[inputs]: Add zstd.
This commit is contained in:
Tobias Geerinckx-Rice 2023-07-16 02:00:07 +02:00
parent 2cce0f10de
commit e0fbbaf84c
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@ -568,8 +568,32 @@ (define-public python-pyzstd
(method url-fetch)
(uri (pypi-uri "pyzstd" version))
(sha256
(base32 "1iycfmif15v1jhv0gsza1hyd1hn3sz0vn9s1y79abzv8axndxzfb"))))
(base32 "1iycfmif15v1jhv0gsza1hyd1hn3sz0vn9s1y79abzv8axndxzfb"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove a bundled copy of the zstd sources.
(delete-file-recursively "zstd")))))
(build-system python-build-system)
(arguments
(list
#:configure-flags
#~(list "--dynamic-link-zstd")
#:phases
#~(modify-phases %standard-phases
(replace 'build
;; The python-build-system's phase doesn't honour configure-flags.
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "python" "./setup.py" "build"
configure-flags)))
(replace 'check
;; The python-build-system's phase doesn't honour configure-flags.
(lambda* (#:key tests? test-target configure-flags
#:allow-other-keys)
(when tests?
(apply invoke "python" "./setup.py" test-target
configure-flags)))))))
(inputs (list `(,zstd "lib")))
(home-page "https://github.com/animalize/pyzstd")
(synopsis "Zstandard bindings for Python")
(description "This package provides Python bindings to the Zstandard (zstd)