summary refs log tree commit diff
path: root/gnu/packages/virtualization.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-12-22 16:00:56 +0100
committerMarius Bakke <marius@gnu.org>2022-12-22 16:50:47 +0100
commitc9392e6fc6d92f3df8642b6fa0197f62f7f4d7bd (patch)
treec2ae28548efc7469d142f2a35fdd5d4da4d5aeaf /gnu/packages/virtualization.scm
parent368e00cce0e843f483abb993e0b1cbc66ed97029 (diff)
downloadguix-c9392e6fc6d92f3df8642b6fa0197f62f7f4d7bd.tar.gz
gnu: QEMU: Unbundle SGABIOS.
* gnu/packages/virtualization.scm (qemu)[source]: Purge sgabios.
[arguments]: Replace bundled variant with the one from INPUTS.
[inputs]: Add SGABIOS.
Diffstat (limited to 'gnu/packages/virtualization.scm')
-rw-r--r--gnu/packages/virtualization.scm16
1 files changed, 13 insertions, 3 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9f1db849a3..945584bd0a 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -179,13 +179,16 @@
            (with-directory-excursion "pc-bios"
              ;; Delete firmwares provided by SeaBIOS.
              (for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
+             ;; Delete SGABIOS.
+             (delete-file "sgabios.bin")
              ;; Delete iPXE firmwares.
              (for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
            ;; Delete bundled code that we provide externally.
            (for-each delete-file-recursively
                      '("dtc" "meson"
                        "roms/ipxe"
-                       "roms/seabios"))))))
+                       "roms/seabios"
+                       "roms/sgabios"))))))
     (outputs '("out" "static" "doc"))   ;5.3 MiB of HTML docs
     (build-system gnu-build-system)
     (arguments
@@ -199,6 +202,8 @@
               (meson (search-input-file %build-inputs "bin/meson"))
               (seabios (search-input-file %build-inputs
                                           "share/qemu/bios.bin"))
+              (sgabios (search-input-file %build-inputs
+                                          "/share/qemu/sgabios.bin"))
               (ipxe (search-input-file %build-inputs
                                        "share/qemu/pxe-virtio.rom"))
               (out #$output))
@@ -212,7 +217,8 @@
                 "--enable-fdt=system"
                 (string-append "--firmwarepath=" out "/share/qemu:"
                                (dirname seabios) ":"
-                               (dirname ipxe))
+                               (dirname ipxe) ":"
+                               (dirname sgabios))
                 (string-append "--smbd=" out "/libexec/samba-wrapper")
                 "--disable-debug-info"  ;for space considerations
                 ;; The binaries need to be linked against -lrt.
@@ -233,6 +239,7 @@
               (let* ((seabios (dirname (search-input-file
                                         inputs "share/qemu/bios.bin")))
                      (seabios-firmwares (find-files seabios "\\.bin$"))
+                     (sgabios (search-input-file inputs "share/qemu/sgabios.bin"))
                      (ipxe (dirname (search-input-file
                                      inputs "share/qemu/pxe-virtio.rom")))
                      (ipxe-firmwares (find-files ipxe "\\.rom$"))
@@ -250,7 +257,8 @@
                 (with-directory-excursion "pc-bios"
                   (for-each (lambda (file)
                               (symlink file (basename file)))
-                            (append seabios-firmwares ipxe-firmwares)))
+                            (append seabios-firmwares ipxe-firmwares
+                                    (list sgabios))))
                 (for-each (lambda (file)
                             (format allowed-differences-whitelist
                                     "\"~a\",~%" file))
@@ -368,6 +376,7 @@
               (with-directory-excursion (string-append #$output "/share/qemu")
                 (for-each delete-file
                           (append
+                           '("sgabios.bin")
                            (find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
                            (find-files "." "^(efi|pxe)-.*\\.rom$"))))))
           ;; Create a wrapper for Samba. This allows QEMU to use Samba without
@@ -416,6 +425,7 @@ exec smbd $@")))
            pulseaudio
            sdl2
            seabios-qemu
+           sgabios
            spice
            usbredir
            util-linux