summaryrefslogtreecommitdiff
path: root/gnu/bootloader
diff options
context:
space:
mode:
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 f1cc3324db9..880491c9832 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -34,6 +34,7 @@
34 #:autoload (gnu packages bootloaders) (grub) 34 #:autoload (gnu packages bootloaders) (grub)
35 #:autoload (gnu packages compression) (gzip) 35 #:autoload (gnu packages compression) (gzip)
36 #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) 36 #:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
37 #:autoload (gnu packages guile) (guile-2.2)
37 #:use-module (ice-9 match) 38 #:use-module (ice-9 match)
38 #:use-module (ice-9 regex) 39 #:use-module (ice-9 regex)
39 #:use-module (srfi srfi-1) 40 #:use-module (srfi srfi-1)
@@ -118,21 +119,25 @@ otherwise."
118 119
119(define* (svg->png svg #:key width height) 120(define* (svg->png svg #:key width height)
120 "Build a PNG of HEIGHT x WIDTH from SVG." 121 "Build a PNG of HEIGHT x WIDTH from SVG."
121 (gexp->derivation "grub-image.png" 122 ;; Note: Guile-RSVG & co. are now built for Guile 2.2, so we use 2.2 here.
122 (with-imported-modules '((gnu build svg)) 123 ;; TODO: Remove #:guile-for-build when 2.2 has become the default.
123 #~(begin 124 (mlet %store-monad ((guile (package->derivation guile-2.2 #:graft? #f)))
124 ;; We need these two libraries. 125 (gexp->derivation "grub-image.png"
125 (add-to-load-path (string-append #+guile-rsvg 126 (with-imported-modules '((gnu build svg))
126 "/share/guile/site/" 127 #~(begin
127 (effective-version))) 128 ;; We need these two libraries.
128 (add-to-load-path (string-append #+guile-cairo 129 (add-to-load-path (string-append #+guile-rsvg
129 "/share/guile/site/" 130 "/share/guile/site/"
130 (effective-version))) 131 (effective-version)))
131 132 (add-to-load-path (string-append #+guile-cairo
132 (use-modules (gnu build svg)) 133 "/share/guile/site/"
133 (svg->png #+svg #$output 134 (effective-version)))
134 #:width #$width 135
135 #:height #$height))))) 136 (use-modules (gnu build svg))
137 (svg->png #+svg #$output
138 #:width #$width
139 #:height #$height)))
140 #:guile-for-build guile)))
136 141
137(define* (grub-background-image config #:key (width 1024) (height 768)) 142(define* (grub-background-image config #:key (width 1024) (height 768))
138 "Return the GRUB background image defined in CONFIG with a ratio of 143 "Return the GRUB background image defined in CONFIG with a ratio of