~ chicken-core (chicken-5) 4f2cb99854a09cfab298563fc04ec1c72e14d047


commit 4f2cb99854a09cfab298563fc04ec1c72e14d047
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Jun 22 11:21:36 2018 +0200
Commit:     Kooda <kooda@upyum.com>
CommitDate: Fri Jun 22 16:51:27 2018 +0200

    ensure version from egg download is injected into egg-info file
    
    Signed-off-by: Kooda <kooda@upyum.com>

diff --git a/chicken-install.scm b/chicken-install.scm
index cc7bb33a..80c990bb 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -800,12 +800,16 @@
       (let* ((name (car egg))
              (dir (cadr egg))
              (eggfile (make-pathname dir name +egg-extension+))
-             (info (load-egg-info eggfile)))
+             (info (load-egg-info eggfile))
+             (vfile (make-pathname dir +version-file+))
+             (ver (and (file-exists? vfile)
+                       (with-input-from-file vfile read))))
         (when (or host-extension 
                   (and (not target-extension)
                        (not host-extension)))
           (let-values (((build install info) (compile-egg-info eggfile 
                                                                info
+                                                               ver
                                                                platform
                                                                'host)))
             (check-installed-files name info)                         
@@ -835,6 +839,7 @@
         (when target-extension
           (let-values (((build install info) (compile-egg-info eggfile
                                                                info
+                                                               ver
                                                                platform
                                                                'target)))
             (let ((bscript (make-pathname dir name 
diff --git a/egg-compile.scm b/egg-compile.scm
index f5996a68..06b715b3 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -120,7 +120,7 @@
 
 ;;; compile an egg-information tree into abstract build/install operations
 
-(define (compile-egg-info eggfile info platform mode)
+(define (compile-egg-info eggfile info version platform mode)
   (let ((exts '())
         (prgs '())
         (data '())
@@ -448,7 +448,9 @@
           (map (lambda (cinc) (apply install-c-include cinc)) cinc)
           (map (lambda (scminc) (apply install-data scminc)) scminc))
         ;; augmented egg-info
-        (cons `(installed-files ,@ifiles) info)))))
+        (cons* `(installed-files ,@ifiles)
+               `(version ,version)
+               info)))))
 
 
 ;;; shell code generation - build operations
Trap