(address . bug-guix@gnu.org)
The other day on IRC Ricardo and ??? noted that python-pillow
currently comes with a compressed egg. Because it is compressed, the
daemon’s conservative scanning fails to see what store items it refers
to; in particular Ricardo noted that on his machine, python-pillow
refers to a non-existent store item for OpenJPEG.
To fix that, python-build-system must be tweaked to ask for uncompressed
eggs. I tried the attached patch, which uses the ‘--always-unzip’
option of easyinstall.
Unfortunately, that option is unsupported by some setup.py, such as that
of setuptools itself.
What would be the right way to do that?
TIA. :-)
Ludo’.
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -60,14 +60,20 @@
#:allow-other-keys)
"Install a given Python package."
(let* ((out (assoc-ref outputs "out"))
- (params (append (list (string-append "--prefix=" out))
+ (params (cons* (string-append "--prefix=" out)
+
+ ;; Make sure the .egg files are kept unzipped,
+ ;; otherwise the daemon's conservative scanning may
+ ;; not find store references embedded in it.
+ "--always-unzip"
+
configure-flags))
(python-version (get-python-version (assoc-ref inputs "python")))
(old-path (getenv "PYTHONPATH"))
(add-path (string-append out "/lib/python" python-version
"/site-packages/")))
- ;; create the module installation directory and add it to PYTHONPATH
- ;; to make setuptools happy
+ ;; Create the module installation directory and add it to PYTHONPATH
+ ;; to make setuptools happy.
(mkdir-p add-path)
(setenv "PYTHONPATH"
(string-append (if old-path