~ chicken-core (chicken-5) 22d19827878cd12a5ab600d523abf8fede673a73


commit 22d19827878cd12a5ab600d523abf8fede673a73
Author:     Kooda <kooda@upyum.com>
AuthorDate: Mon Jan 15 13:24:31 2018 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Jan 15 14:05:46 2018 +0100

    Make chicken-install work when the egg file is inside a chicken/ subdirectory.
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/egg-information.scm b/egg-information.scm
index e60756c7..20e4334e 100644
--- a/egg-information.scm
+++ b/egg-information.scm
@@ -27,7 +27,10 @@
 ;;; load egg-info from file and perform validation
 
 (define (load-egg-info fname)
-  (with-input-from-file fname read))
+  (let ((fname* (make-pathname (make-pathname (pathname-directory fname)
+                                              "chicken")
+                               (pathname-file fname) (pathname-extension fname))))
+    (with-input-from-file (if (file-exists? fname*) fname* fname) read)))
 
 
 ;;; lookup specific toplevel properties of egg-information
diff --git a/eval.scm b/eval.scm
index 0d577c0d..cc9de233 100644
--- a/eval.scm
+++ b/eval.scm
@@ -881,7 +881,6 @@
 	chicken.internal)
 
 (include "mini-srfi-1.scm")
-(include "egg-information.scm")
 
 ;;; Installation locations
 
diff --git a/rules.make b/rules.make
index ef162cf8..4d77d825 100644
--- a/rules.make
+++ b/rules.make
@@ -783,7 +783,7 @@ library.c: $(SRCDIR)library.scm
 	-emit-import-library chicken.time
 internal.c: $(SRCDIR)internal.scm $(SRCDIR)mini-srfi-1.scm
 	$(bootstrap-lib) -emit-import-library chicken.internal
-eval.c: $(SRCDIR)eval.scm $(SRCDIR)common-declarations.scm $(SRCDIR)mini-srfi-1.scm $(SRCDIR)egg-information.scm
+eval.c: $(SRCDIR)eval.scm $(SRCDIR)common-declarations.scm $(SRCDIR)mini-srfi-1.scm
 	$(bootstrap-lib) \
 	-emit-import-library chicken.eval \
 	-emit-import-library chicken.load
Trap