GNU bug report logs -
#55920
[PATCH] build-system: chicken: Added insert-missing-version phase
Previous Next
Reported by: Michal Atlas <michal_atlas <at> posteo.net>
Date: Sun, 12 Jun 2022 07:55:01 UTC
Severity: normal
Tags: moreinfo, patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* guix/build/chicken-build-system.scm (stamp-egg-version): New phase
Compiled eggs will now always contain some version,
falling back to the guix package version if none is provided by the egg.
(%standard-phases): Inserted the new phase
---
Many .egg files don't contain version information,
this causes `chicken-install` to label them as "unknown",
which causes it to fail compilations whenever a
dependency is tagged with a minimum-version.
I am unaware of a way to disable the version check
and the version information should be included anyway,
so this patch should fix the problem.
---
guix/build/chicken-build-system.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/guix/build/chicken-build-system.scm b/guix/build/chicken-build-system.scm
index 5db9906acf..c0a4986032 100644
--- a/guix/build/chicken-build-system.scm
+++ b/guix/build/chicken-build-system.scm
@@ -112,6 +112,17 @@ (define* (check #:key egg-name tests? #:allow-other-keys)
(when tests?
(invoke "chicken-install" "-cached" "-test" "-no-install" egg-name)))
+(define* (stamp-egg-version #:key egg-name name #:allow-other-keys)
+ "Inserts version information into the .egg file if it isn't contained already"
+ (let* ((filename (string-append egg-name "/" egg-name ".egg"))
+ (egg-info (call-with-input-file filename read))
+ (ver? (find (lambda (i) (eqv? (car i) 'version)) egg-info))
+ (ver (substring name (1+ (string-rindex name #\-)))))
+ (when (not ver?)
+ (make-file-writable filename)
+ (call-with-output-file filename
+ (lambda (f) (write (cons `(version ,ver) egg-info) f))))))
+
;; It doesn't look like Chicken generates any unnecessary references.
;; So we don't have to remove them either. Nice.
@@ -122,6 +133,7 @@ (define %standard-phases
(delete 'configure)
(delete 'patch-generated-file-shebangs)
(add-before 'unpack 'setup-chicken-environment setup-chicken-environment)
+ (add-before 'build 'stamp-egg-version stamp-egg-version)
(replace 'build build)
(delete 'check)
(replace 'install install)
--
2.36.1
---
Hopefully I understood your comments well.
> Note that 'insert-missing-version will always be logged
I was aware of that but
didn't find anything about making a phase optional,
good thing it has a more sensible name now.
Cheers
This bug report was last modified 2 years and 337 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.