summary refs log tree commit diff
path: root/gnu/bootloader
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-07-02 22:45:33 +0200
committerLudovic Courtès <ludo@gnu.org>2017-07-02 22:52:30 +0200
commit1b0f266e40aead09be95a984bd9c6cec3dff397e (patch)
tree0076be5d4f4fc82114dc27deb5433f5587126266 /gnu/bootloader
parent61f81618a87ce4fc3b93c3ac3fa7aa2f148c1ed8 (diff)
downloadguix-1b0f266e40aead09be95a984bd9c6cec3dff397e.tar.gz
gnu: Switch guile-cairo and dependents to Guile 2.2 again.
Fixes <https://bugs.gnu.org/27551>.
Reported by Leo Famulari <leo@famulari.name>.

This reinstates the following commits:

  e3ddb1e83 * gnu: guile-cairo: Switch to Guile 2.2.
  ae5c6ef39 * gnu: guile-gnome: Update to 2.16.5.
  0fd8013fc * gnu: guile-rsvg: Update to commit 05c6a2fd.
  66b9183c4 * gnu: guile-lib: Switch to Guile 2.2.

and adds the following changes:

* gnu/bootloader/grub.scm (svg->png): Add 'package->derivation' call for
GUILE-2.2.  Pass #:guile-for-build to 'gexp->derivation'.
* gnu/build/svg.scm (svg->png): Add 'em' and 'ex' to the 'let-values'
form to account for all the values returned by
'rsvg-handle-get-dimensions', which Guile 2.2 does not truncate.
Diffstat (limited to 'gnu/bootloader')
-rw-r--r--gnu/bootloader/grub.scm35
1 files changed, 20 insertions, 15 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index f1cc3324db..880491c983 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -34,6 +34,7 @@
   #:autoload   (gnu packages bootloaders) (grub)
   #:autoload   (gnu packages compression) (gzip)
   #:autoload   (gnu packages gtk) (guile-cairo guile-rsvg)
+  #:autoload   (gnu packages guile) (guile-2.2)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
@@ -118,21 +119,25 @@ otherwise."
 
 (define* (svg->png svg #:key width height)
   "Build a PNG of HEIGHT x WIDTH from SVG."
-  (gexp->derivation "grub-image.png"
-                    (with-imported-modules '((gnu build svg))
-                      #~(begin
-                          ;; We need these two libraries.
-                          (add-to-load-path (string-append #+guile-rsvg
-                                                           "/share/guile/site/"
-                                                           (effective-version)))
-                          (add-to-load-path (string-append #+guile-cairo
-                                                           "/share/guile/site/"
-                                                           (effective-version)))
-
-                          (use-modules (gnu build svg))
-                          (svg->png #+svg #$output
-                                    #:width #$width
-                                    #:height #$height)))))
+  ;; Note: Guile-RSVG & co. are now built for Guile 2.2, so we use 2.2 here.
+  ;; TODO: Remove #:guile-for-build when 2.2 has become the default.
+  (mlet %store-monad ((guile (package->derivation guile-2.2 #:graft? #f)))
+    (gexp->derivation "grub-image.png"
+                      (with-imported-modules '((gnu build svg))
+                        #~(begin
+                            ;; We need these two libraries.
+                            (add-to-load-path (string-append #+guile-rsvg
+                                                             "/share/guile/site/"
+                                                             (effective-version)))
+                            (add-to-load-path (string-append #+guile-cairo
+                                                             "/share/guile/site/"
+                                                             (effective-version)))
+
+                            (use-modules (gnu build svg))
+                            (svg->png #+svg #$output
+                                      #:width #$width
+                                      #:height #$height)))
+                      #:guile-for-build guile)))
 
 (define* (grub-background-image config #:key (width 1024) (height 768))
   "Return the GRUB background image defined in CONFIG with a ratio of