diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2018-06-02 13:44:43 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2018-06-02 13:44:43 +0200 |
commit | e0f897035779f3344dc2553aa10f3a4465d290e3 (patch) | |
tree | ab39d10c892b627b8e057110f16d0f8c7ad83727 /guix | |
parent | a13c1bf4ca0b15fa53235c2bd6aa53e4a75c7d0f (diff) | |
parent | 92963798a6b81989c52bc199ef224605d9b90063 (diff) | |
download | gnu-guix-e0f897035779f3344dc2553aa10f3a4465d290e3.tar gnu-guix-e0f897035779f3344dc2553aa10f3a4465d290e3.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'guix')
-rw-r--r-- | guix/import/cran.scm | 4 | ||||
-rw-r--r-- | guix/self.scm | 44 |
2 files changed, 30 insertions, 18 deletions
diff --git a/guix/import/cran.scm b/guix/import/cran.scm index ec2b7e6029..49e5d2d358 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -128,9 +128,9 @@ package definition." (define %cran-url "http://cran.r-project.org/web/packages/") (define %bioconductor-url "https://bioconductor.org/packages/") -;; The latest Bioconductor release is 3.6. Bioconductor packages should be +;; The latest Bioconductor release is 3.7. Bioconductor packages should be ;; updated together. -(define %bioconductor-version "3.6") +(define %bioconductor-version "3.7") (define %bioconductor-packages-list-url (string-append "https://bioconductor.org/packages/" diff --git a/guix/self.scm b/guix/self.scm index 3503fbda43..a24e9c6147 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -171,7 +171,8 @@ must be present in the search path." (source (imported-files (string-append name "-source") (append module-files extra-files)))) (node name modules source dependencies - (compiled-modules name source modules + (compiled-modules name source + (map car module-files) (map node-source dependencies) (map node-compiled dependencies) #:extensions extensions @@ -313,7 +314,12 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." *extra-modules* *core-modules*) #:extensions dependencies #:extra-files - (file-imports source "gnu/system/examples" (const #t)) + (append (file-imports source "gnu/system/examples" + (const #t)) + + ;; Build-side code that we don't build. Some of + ;; these depend on guile-rsvg, the Shepherd, etc. + (file-imports source "gnu/build" (const #t))) #:guile-for-build guile-for-build)) @@ -481,6 +487,11 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." (define (imported-files name files) ;; This is a non-monadic, simplified version of 'imported-files' from (guix ;; gexp). + (define same-target? + (match-lambda* + (((file1 . _) (file2 . _)) + (string=? file1 file2)))) + (define build (with-imported-modules (source-module-closure '((guix build utils))) @@ -497,14 +508,15 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." ;; symlinks, as this makes a difference for ;; 'add-to-store'. (copy-file store-path final-path))) - '#$files)))) + '#$(delete-duplicates files same-target?))))) ;; We're just copying files around, no need to substitute or offload it. (computed-file name build #:options '(#:local-build? #t - #:substitutable? #f))) + #:substitutable? #f + #:env-vars (("COLUMNS" . "200"))))) -(define* (compiled-modules name module-tree modules +(define* (compiled-modules name module-tree module-files #:optional (dependencies '()) (dependencies-compiled '()) @@ -512,6 +524,9 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." (extensions '()) ;full-blown Guile packages parallel? guile-for-build) + "Build all the MODULE-FILES from MODULE-TREE. MODULE-FILES must be a list +like '(\"guix/foo.scm\" \"gnu/bar.scm\") and MODULE-TREE is the directory +containing MODULE-FILES and possibly other files as well." ;; This is a non-monadic, enhanced version of 'compiled-file' from (guix ;; gexp). (define build @@ -542,16 +557,13 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." (* 100. (/ completed total)) total) (force-output)) - (define (process-directory directory output) - (let ((files (find-files directory "\\.scm$")) - (prefix (+ 1 (string-length directory)))) - ;; Hide compilation warnings. - (parameterize ((current-warning-port (%make-void-port "w"))) - (compile-files directory #$output - (map (cut string-drop <> prefix) files) - #:workers (parallel-job-count) - #:report-load report-load - #:report-compilation report-compilation)))) + (define (process-directory directory files output) + ;; Hide compilation warnings. + (parameterize ((current-warning-port (%make-void-port "w"))) + (compile-files directory #$output files + #:workers (parallel-job-count) + #:report-load report-load + #:report-compilation report-compilation))) (setvbuf (current-output-port) _IONBF) (setvbuf (current-error-port) _IONBF) @@ -579,7 +591,7 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." (mkdir #$output) (chdir #+module-tree) - (process-directory "." #$output) + (process-directory "." '#+module-files #$output) (newline)))) (computed-file name build |