summaryrefslogtreecommitdiff
path: root/guix/channels.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
commitfcc39864dba82e14895afbe841091091366c96bc (patch)
tree6e0f05495fd6512051224dc85fd3ab495cbf1a24 /guix/channels.scm
parent76fc36d0a7215979bb74c05840f5a4de4ab5ea93 (diff)
parent44f9432705d04c069a8acf9e37e3ad856ac0bf82 (diff)
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm
Diffstat (limited to 'guix/channels.scm')
-rw-r--r--guix/channels.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index b812c1b6e5..c40fc0c507 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -597,9 +597,24 @@ to '%package-module-path'."
(string-append #$output "/share/guile/site/"
(effective-version)))
+ (define optimizations-for-level
+ ;; Guile 3.0 provides this procedure but Guile 2.2 didn't.
+ ;; Since this code may be executed by either version, we can't
+ ;; rely on its availability.
+ (or (and=> (false-if-exception
+ (resolve-interface '(system base optimize)))
+ (lambda (iface)
+ (module-ref iface 'optimizations-for-level)))
+ (const '())))
+
+ (define -O1
+ ;; Optimize for package module compilation speed.
+ (optimizations-for-level 1))
+
(let* ((subdir #$directory)
(source (string-append #$source subdir)))
- (compile-files source go (find-files source "\\.scm$"))
+ (compile-files source go (find-files source "\\.scm$")
+ #:optimization-options (const -O1))
(mkdir-p (dirname scm))
(symlink (string-append #$source subdir) scm))