diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-10-23 16:33:50 -0700 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-10-23 17:08:50 -0700 |
commit | ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8 (patch) | |
tree | 0d4a6d26272af375c8e85bcfc26503d5f33a56f0 | |
parent | 7a04dddd268c1395d5bfc45ab55071b6faf6de79 (diff) | |
download | guix-ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8.tar.gz |
pull: Add (guix build compile) to the mix.
Fixes <https://bugs.gnu.org/28956>. Reported by Leo Famulari <leo@famulari.name>. * build-aux/build-self.scm (build): Add (guix build compile) to #:modules. * guix/build/pull.scm (build-guix): Wrap 'compile-files' call in 'with-directory-excursion'. Strip "./" from FILES when passing it to 'compile-files'.
-rw-r--r-- | build-aux/build-self.scm | 1 | ||||
-rw-r--r-- | guix/build/pull.scm | 59 |
2 files changed, 35 insertions, 25 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 4933e02712..ed8ff5f4ce 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -245,6 +245,7 @@ Please upgrade to an intermediate version first, for instance with: (gexp->derivation "guix-latest" builder #:modules '((guix build pull) (guix build utils) + (guix build compile) ;; Closure of (guix modules). (guix modules) diff --git a/guix/build/pull.scm b/guix/build/pull.scm index 6f7aa27868..588b5feddf 100644 --- a/guix/build/pull.scm +++ b/guix/build/pull.scm @@ -121,31 +121,40 @@ containing the source code. Write any debugging output to DEBUG-PORT." ;; Compile the .scm files. Filter out files depending on Guile-SSH when ;; Guile-SSH is missing. - (let ((files (filter has-all-its-dependencies? - (all-scheme-files out)))) - (compile-files out out files - - #:workers (parallel-job-count) - - ;; Disable warnings. - #:warning-options '() - - #:report-load - (lambda (file total completed) - (display #\cr log-port) - (format log-port - "loading...\t~5,1f% of ~d files" ;FIXME: i18n - (* 100. (/ completed total)) total) - (force-output log-port) - (format debug-port "~%loading '~a'...~%" file)) - - #:report-compilation - (lambda (file total completed) - (display #\cr log-port) - (format log-port "compiling...\t~5,1f% of ~d files" ;FIXME: i18n - (* 100. (/ completed total)) total) - (force-output log-port) - (format debug-port "~%compiling '~a'...~%" file))))) + (with-directory-excursion out + (let ((files (filter has-all-its-dependencies? + (all-scheme-files ".")))) + (compile-files out out + + ;; XXX: 'compile-files' except ready-to-use relative + ;; file names. + (map (lambda (file) + (if (string-prefix? "./" file) + (string-drop file 2) + file)) + files) + + #:workers (parallel-job-count) + + ;; Disable warnings. + #:warning-options '() + + #:report-load + (lambda (file total completed) + (display #\cr log-port) + (format log-port + "loading...\t~5,1f% of ~d files" ;FIXME: i18n + (* 100. (/ completed total)) total) + (force-output log-port) + (format debug-port "~%loading '~a'...~%" file)) + + #:report-compilation + (lambda (file total completed) + (display #\cr log-port) + (format log-port "compiling...\t~5,1f% of ~d files" ;FIXME: i18n + (* 100. (/ completed total)) total) + (force-output log-port) + (format debug-port "~%compiling '~a'...~%" file)))))) (newline) #t) |