Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
I have noticed that the bump to python from #36233 breaks manifest_codesign.scm. The issue is that we use python-build-system without explicitly declaring setuptools, as python 3.12 no longer includes setuptools.
in patching I noticed a second issue with imp, which fanquake points as being fixed upstream already. I think this would fix the imp part, but not setuptools.
I'm wondering if anyone here wanted to double check this. I was using this command to build codesigning packages:
HOST=x86_64-apple-darwin guix time-machine --url=https://codeberg.org/guix/guix.git --commit=60f6956aeffa7f30285745bd0ea615e9acfc74f8 -- build --manifest=contrib/guix/manifest_codesign.scm --keep-failed
The combined patchset needed to fix both is:
diff --git a/contrib/guix/manifest_codesign.scm b/contrib/guix/manifest_codesign.scm
index a29f5cc2dc7..5ea6f4efe21 100644
--- a/contrib/guix/manifest_codesign.scm
+++ b/contrib/guix/manifest_codesign.scm
@@ -2,7 +2,7 @@
((gnu packages compression) #:select (gzip zip))
((gnu packages crypto) #:select (osslsigncode))
((gnu packages nss) #:select (nss-certs))
- ((gnu packages python-build) #:select (python-poetry-core))
+ ((gnu packages python-build) #:select (python-poetry-core python-setuptools))
((gnu packages python-crypto) #:select (python-asn1crypto python-oscrypto))
((gnu packages tls) #:select (openssl))
((gnu packages version-control) #:select (git-minimal))
@@ -28,6 +28,7 @@
(base32
"07x6p8clh11z8s1n2kdxrqwqm2almgc5qpkcr9ckb6y5ivjdr5r6"))))
(build-system python-build-system)
+ (native-inputs (list python-setuptools))
;; There are no tests, but attempting to run python setup.py test leads to
;; PYTHONPATH problems, just disable the test
(arguments '(#:tests? #f))
@@ -66,6 +67,7 @@
(base32
"1qw2k7xis53179lpqdqyylbcmp76lj7sagp883wmxg5i7chhc96k"))))
(build-system python-build-system)
+ (native-inputs (list python-setuptools))
(propagated-inputs
(list openssl
python-asn1crypto
@@ -109,7 +111,10 @@
#t))
(replace 'check
(lambda _
- (invoke "python" "run.py" "tests")
+ ;; Bypass the custom test loader, which uses the removed imp module.
+ (substitute* "tests/__init__.py"
+ (("^import imp") ""))
+ (invoke "python" "-m" "unittest" "discover" "-s" "tests" "-t" ".")
#t)))))
(home-page "https://github.com/wbond/certvalidator")
(synopsis "Python library for validating X.509 certificates and paths")
Expected behaviour
codesigning packages should be able to be materialised
Steps to reproduce
HOST=x86_64-apple-darwin guix time-machine --url=https://codeberg.org/guix/guix.git --commit=60f6956aeffa7f30285745bd0ea615e9acfc74f8 -- build --manifest=contrib/guix/manifest_codesign.scm --keep-failed
Relevant log output
ModuleNotFoundError: No module named 'setuptools'
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
master
Operating system and version
nixos-unstable
Machine specifications
No response