summary refs log tree commit diff
path: root/gnu/packages/firmware.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-12-17 20:06:46 +0100
committerMarius Bakke <marius@gnu.org>2022-12-19 23:08:20 +0100
commit6ea7d25396e51fcd8f2a54f1f7460efbf5f93dbd (patch)
treea8f80d6414188b8ee40dd6b504fa4e882640e007 /gnu/packages/firmware.scm
parentd241517d2cadac3122301b6260c0dfc9f3b383d6 (diff)
downloadguix-6ea7d25396e51fcd8f2a54f1f7460efbf5f93dbd.tar.gz
gnu: SeaBIOS: Use G-expression.
* gnu/packages/firmware.scm (seabios)[arguments]: Rewrite as gexp.
Diffstat (limited to 'gnu/packages/firmware.scm')
-rw-r--r--gnu/packages/firmware.scm119
1 files changed, 60 insertions, 59 deletions
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index a4e43e71ec..79e0577077 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -415,66 +415,67 @@ executing in M-mode.")
     (build-system gnu-build-system)
     (native-inputs (list python-wrapper))
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:make-flags '("EXTRAVERSION=-guix" ;upstream wants distros to set this
-                      "V=1")            ;build verbosely
-       #:modules (,@%gnu-build-system-modules
+     (list
+      #:tests? #f                       ;no tests
+      #:make-flags
+      #~'("EXTRAVERSION=-guix"          ;upstream wants distros to set this
+          "V=1")                        ;build verbosely
+      #:modules `(,@%gnu-build-system-modules
                   (ice-9 match))
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             ;; Create the ".version" file that is present in release tarballs.
-             ;; Otherwise this will be regarded as an "unclean" build, and the
-             ;; build system ends up encoding the build date in the binaries.
-             (call-with-output-file ".version"
-               (lambda (port)
-                 (format port ,(package-version this-package))))
-             (setenv "CC" "gcc")))
-         (add-after 'build 'build-vgabios
-           (lambda* (#:key (make-flags ''()) #:allow-other-keys)
-             (for-each
-              (match-lambda
-                ((target . config)
-                 (let* ((dot-config (string-append (getcwd) "/" target "/.config"))
-                        (flags (append make-flags
-                                      (list (string-append "KCONFIG_CONFIG="
-                                                           dot-config)
-                                            (string-append "OUT=" target "/")))))
-                   (mkdir target)
-                   (call-with-output-file dot-config
-                     (lambda (port)
-                       (for-each (lambda (entry)
-                                   (if (string-suffix? "=n" entry)
-                                       (format port "# CONFIG_~a is not set~%"
-                                               (string-drop-right entry 2))
-                                       (format port "CONFIG_~a~%" entry)))
-                                 (cons "BUILD_VGABIOS=y" config))))
-                   (apply invoke "make" "oldnoconfig" flags)
-                   (apply invoke "make" flags)
-                   (link (string-append target "/bios.bin")
-                         (string-append "out/" target ".bin")))))
-              ;; These tuples are modelled after Debians packaging:
-              ;; https://salsa.debian.org/qemu-team/seabios/-/blob/master/debian/rules
-              '(("ati"    . ("VGA_ATI=y" "VGA_PCI=y"))
-                ("bochs-display" . ("DISPLAY_BOCHS=y" "VGA_PCI=y"))
-                ("cirrus" . ("VGA_CIRRUS=y" "VGA_PCI=y"))
-                ("stdvga" . ("VGA_BOCHS=y" "VGA_PCI=y"))
-                ("virtio" . ("VGA_BOCHS_VIRTIO=y" "VGA_PCI=y"))
-                ("vmware" . ("VGA_BOCHS_VMWARE=y" "VGA_PCI=y"))
-                ("qxl"    . ("VGA_BOCHS_QXL=y" "VGA_PCI=y"))
-                ("isavga" . ("VGA_BOCHS=y" "VGA_PCI=n"))
-                ("ramfb"  . ("VGA_RAMFB=y" "VGA_PCI=n"))))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (fmw (string-append out "/share/firmware")))
-               (for-each (lambda (bios)
-                           (install-file bios fmw))
-                         (find-files "out" "\\.bin$"))
-               (with-directory-excursion fmw
-                 ;; QEMU 1.7 and later looks only for the latter.
-                 (symlink "bios.bin" "bios-256k.bin"))))))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda _
+              ;; Create the ".version" file that is present in release tarballs.
+              ;; Otherwise this will be regarded as an "unclean" build, and the
+              ;; build system ends up encoding the build date in the binaries.
+              (call-with-output-file ".version"
+                (lambda (port)
+                  (format port #$(package-version this-package))))
+              (setenv "CC" "gcc")))
+          (add-after 'build 'build-vgabios
+            (lambda* (#:key (make-flags #~'()) #:allow-other-keys)
+              (for-each
+               (match-lambda
+                 ((target . config)
+                  (let* ((dot-config (string-append (getcwd) "/" target "/.config"))
+                         (flags (append make-flags
+                                        (list (string-append "KCONFIG_CONFIG="
+                                                             dot-config)
+                                              (string-append "OUT=" target "/")))))
+                    (mkdir target)
+                    (call-with-output-file dot-config
+                      (lambda (port)
+                        (for-each (lambda (entry)
+                                    (if (string-suffix? "=n" entry)
+                                        (format port "# CONFIG_~a is not set~%"
+                                                (string-drop-right entry 2))
+                                        (format port "CONFIG_~a~%" entry)))
+                                  (cons "BUILD_VGABIOS=y" config))))
+                    (apply invoke "make" "oldnoconfig" flags)
+                    (apply invoke "make" flags)
+                    (link (string-append target "/bios.bin")
+                          (string-append "out/" target ".bin")))))
+               ;; These tuples are modelled after Debians packaging:
+               ;; https://salsa.debian.org/qemu-team/seabios/-/blob/master/debian/rules
+               '(("ati"    . ("VGA_ATI=y" "VGA_PCI=y"))
+                 ("bochs-display" . ("DISPLAY_BOCHS=y" "VGA_PCI=y"))
+                 ("cirrus" . ("VGA_CIRRUS=y" "VGA_PCI=y"))
+                 ("stdvga" . ("VGA_BOCHS=y" "VGA_PCI=y"))
+                 ("virtio" . ("VGA_BOCHS_VIRTIO=y" "VGA_PCI=y"))
+                 ("vmware" . ("VGA_BOCHS_VMWARE=y" "VGA_PCI=y"))
+                 ("qxl"    . ("VGA_BOCHS_QXL=y" "VGA_PCI=y"))
+                 ("isavga" . ("VGA_BOCHS=y" "VGA_PCI=n"))
+                 ("ramfb"  . ("VGA_RAMFB=y" "VGA_PCI=n"))))))
+          (replace 'install
+            (lambda _
+              (let ((fmw (string-append #$output "/share/firmware")))
+                (for-each (lambda (bios)
+                            (install-file bios fmw))
+                          (find-files "out" "\\.bin$"))
+                (with-directory-excursion fmw
+                  ;; QEMU 1.7 and later looks only for the latter.
+                  (symlink "bios.bin" "bios-256k.bin"))))))))
     (home-page "https://www.seabios.org/SeaBIOS")
     (synopsis "x86 BIOS implementation")
     (description "SeaBIOS is an implementation of a 16bit x86 BIOS.  SeaBIOS