guix: switch to upstream python-lief package
What changed, and why it matters
This commit removes a custom-built copy of the python-lief package from Bitcoin Core's Guix build manifest and switches to using the upstream Guix package instead. It is a build-system maintenance change that reduces custom code. There is no indication of a security vulnerability being fixed.
No security action required. Treat as routine build-system maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch deletes the local python-lief package definition in contrib/guix/manifest.scm, which previously fetched LIEF from GitHub, applied a local patch, and built it with scikit-build-core and pydantic. The manifest now imports python-lief directly from the upstream Guix module gnu packages python-xyz. This is a dependency-management simplification, not a code-level security fix.
Changed components
contrib/guix/manifest.scmInspect captured patch +1 / −44
diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index 4e029113..048dc2de 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -17,8 +17,7 @@
((gnu packages python) #:select (python-minimal))
((gnu packages python-build) #:select (python-poetry-core))
((gnu packages python-crypto) #:select (python-asn1crypto))
- ((gnu packages python-science) #:select (python-scikit-build-core))
- ((gnu packages python-xyz) #:select (python-pydantic))
+ ((gnu packages python-xyz) #:select (python-lief))
((gnu packages tls) #:select (openssl))
((gnu packages version-control) #:select (git-minimal))
(guix build-system cmake)
@@ -153,48 +152,6 @@ chain for " target " development."))
(home-page (package-home-page pthreads-xgcc))
(license (package-license pthreads-xgcc)))))
-;; While LIEF is packaged in Guix, we maintain our own package,
-;; to simplify building, and more easily apply updates.
-;; Moreover, the Guix's package uses cmake, which caused build
-;; failure; see https://github.com/bitcoin/bitcoin/pull/27296.
-(define-public python-lief
- (package
- (name "python-lief")
- (version "0.16.6")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lief-project/LIEF")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1pq9nagrnkl1x943bqnpiyxmkd9vk99znfxiwqp6vf012b50bz2a"))
- (patches (search-our-patches "lief-scikit-0-9.patch"))))
- (build-system pyproject-build-system)
- (native-inputs (list cmake-minimal
- ninja
- python-scikit-build-core
- python-pydantic))
- (arguments
- (list
- #:tests? #f ;needs network
- #:phases #~(modify-phases %standard-phases
- (add-before 'build 'set-pythonpath
- (lambda _
- (setenv "PYTHONPATH"
- (string-append (string-append (getcwd) "/api/python/backend")
- ":" (or (getenv "PYTHONPATH") "")))))
- (add-after 'set-pythonpath 'change-directory
- (lambda _
- (chdir "api/python"))))))
- (home-page "https://github.com/lief-project/LIEF")
- (synopsis "Library to instrument executable formats")
- (description
- "@code{python-lief} is a cross platform library which can parse, modify
-and abstract ELF, PE and MachO formats.")
- (license license:asl2.0)))
-
(define-public python-elfesteem
(let ((commit "2eb1e5384ff7a220fd1afacd4a0170acff54fe56"))
(package
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.