gnu: QEMU: Unbundle SGABIOS.
* gnu/packages/virtualization.scm (qemu)[source]: Purge sgabios. [arguments]: Replace bundled variant with the one from INPUTS. [inputs]: Add SGABIOS.
This commit is contained in:
		
							parent
							
								
									368e00cce0
								
							
						
					
					
						commit
						c9392e6fc6
					
				
					 1 changed files with 13 additions and 3 deletions
				
			
		| 
						 | 
					@ -179,13 +179,16 @@
 | 
				
			||||||
           (with-directory-excursion "pc-bios"
 | 
					           (with-directory-excursion "pc-bios"
 | 
				
			||||||
             ;; Delete firmwares provided by SeaBIOS.
 | 
					             ;; Delete firmwares provided by SeaBIOS.
 | 
				
			||||||
             (for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
 | 
					             (for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
 | 
				
			||||||
 | 
					             ;; Delete SGABIOS.
 | 
				
			||||||
 | 
					             (delete-file "sgabios.bin")
 | 
				
			||||||
             ;; Delete iPXE firmwares.
 | 
					             ;; Delete iPXE firmwares.
 | 
				
			||||||
             (for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
 | 
					             (for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
 | 
				
			||||||
           ;; Delete bundled code that we provide externally.
 | 
					           ;; Delete bundled code that we provide externally.
 | 
				
			||||||
           (for-each delete-file-recursively
 | 
					           (for-each delete-file-recursively
 | 
				
			||||||
                     '("dtc" "meson"
 | 
					                     '("dtc" "meson"
 | 
				
			||||||
                       "roms/ipxe"
 | 
					                       "roms/ipxe"
 | 
				
			||||||
                       "roms/seabios"))))))
 | 
					                       "roms/seabios"
 | 
				
			||||||
 | 
					                       "roms/sgabios"))))))
 | 
				
			||||||
    (outputs '("out" "static" "doc"))   ;5.3 MiB of HTML docs
 | 
					    (outputs '("out" "static" "doc"))   ;5.3 MiB of HTML docs
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -199,6 +202,8 @@
 | 
				
			||||||
              (meson (search-input-file %build-inputs "bin/meson"))
 | 
					              (meson (search-input-file %build-inputs "bin/meson"))
 | 
				
			||||||
              (seabios (search-input-file %build-inputs
 | 
					              (seabios (search-input-file %build-inputs
 | 
				
			||||||
                                          "share/qemu/bios.bin"))
 | 
					                                          "share/qemu/bios.bin"))
 | 
				
			||||||
 | 
					              (sgabios (search-input-file %build-inputs
 | 
				
			||||||
 | 
					                                          "/share/qemu/sgabios.bin"))
 | 
				
			||||||
              (ipxe (search-input-file %build-inputs
 | 
					              (ipxe (search-input-file %build-inputs
 | 
				
			||||||
                                       "share/qemu/pxe-virtio.rom"))
 | 
					                                       "share/qemu/pxe-virtio.rom"))
 | 
				
			||||||
              (out #$output))
 | 
					              (out #$output))
 | 
				
			||||||
| 
						 | 
					@ -212,7 +217,8 @@
 | 
				
			||||||
                "--enable-fdt=system"
 | 
					                "--enable-fdt=system"
 | 
				
			||||||
                (string-append "--firmwarepath=" out "/share/qemu:"
 | 
					                (string-append "--firmwarepath=" out "/share/qemu:"
 | 
				
			||||||
                               (dirname seabios) ":"
 | 
					                               (dirname seabios) ":"
 | 
				
			||||||
                               (dirname ipxe))
 | 
					                               (dirname ipxe) ":"
 | 
				
			||||||
 | 
					                               (dirname sgabios))
 | 
				
			||||||
                (string-append "--smbd=" out "/libexec/samba-wrapper")
 | 
					                (string-append "--smbd=" out "/libexec/samba-wrapper")
 | 
				
			||||||
                "--disable-debug-info"  ;for space considerations
 | 
					                "--disable-debug-info"  ;for space considerations
 | 
				
			||||||
                ;; The binaries need to be linked against -lrt.
 | 
					                ;; The binaries need to be linked against -lrt.
 | 
				
			||||||
| 
						 | 
					@ -233,6 +239,7 @@
 | 
				
			||||||
              (let* ((seabios (dirname (search-input-file
 | 
					              (let* ((seabios (dirname (search-input-file
 | 
				
			||||||
                                        inputs "share/qemu/bios.bin")))
 | 
					                                        inputs "share/qemu/bios.bin")))
 | 
				
			||||||
                     (seabios-firmwares (find-files seabios "\\.bin$"))
 | 
					                     (seabios-firmwares (find-files seabios "\\.bin$"))
 | 
				
			||||||
 | 
					                     (sgabios (search-input-file inputs "share/qemu/sgabios.bin"))
 | 
				
			||||||
                     (ipxe (dirname (search-input-file
 | 
					                     (ipxe (dirname (search-input-file
 | 
				
			||||||
                                     inputs "share/qemu/pxe-virtio.rom")))
 | 
					                                     inputs "share/qemu/pxe-virtio.rom")))
 | 
				
			||||||
                     (ipxe-firmwares (find-files ipxe "\\.rom$"))
 | 
					                     (ipxe-firmwares (find-files ipxe "\\.rom$"))
 | 
				
			||||||
| 
						 | 
					@ -250,7 +257,8 @@
 | 
				
			||||||
                (with-directory-excursion "pc-bios"
 | 
					                (with-directory-excursion "pc-bios"
 | 
				
			||||||
                  (for-each (lambda (file)
 | 
					                  (for-each (lambda (file)
 | 
				
			||||||
                              (symlink file (basename file)))
 | 
					                              (symlink file (basename file)))
 | 
				
			||||||
                            (append seabios-firmwares ipxe-firmwares)))
 | 
					                            (append seabios-firmwares ipxe-firmwares
 | 
				
			||||||
 | 
					                                    (list sgabios))))
 | 
				
			||||||
                (for-each (lambda (file)
 | 
					                (for-each (lambda (file)
 | 
				
			||||||
                            (format allowed-differences-whitelist
 | 
					                            (format allowed-differences-whitelist
 | 
				
			||||||
                                    "\"~a\",~%" file))
 | 
					                                    "\"~a\",~%" file))
 | 
				
			||||||
| 
						 | 
					@ -368,6 +376,7 @@
 | 
				
			||||||
              (with-directory-excursion (string-append #$output "/share/qemu")
 | 
					              (with-directory-excursion (string-append #$output "/share/qemu")
 | 
				
			||||||
                (for-each delete-file
 | 
					                (for-each delete-file
 | 
				
			||||||
                          (append
 | 
					                          (append
 | 
				
			||||||
 | 
					                           '("sgabios.bin")
 | 
				
			||||||
                           (find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
 | 
					                           (find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
 | 
				
			||||||
                           (find-files "." "^(efi|pxe)-.*\\.rom$"))))))
 | 
					                           (find-files "." "^(efi|pxe)-.*\\.rom$"))))))
 | 
				
			||||||
          ;; Create a wrapper for Samba. This allows QEMU to use Samba without
 | 
					          ;; Create a wrapper for Samba. This allows QEMU to use Samba without
 | 
				
			||||||
| 
						 | 
					@ -416,6 +425,7 @@ exec smbd $@")))
 | 
				
			||||||
           pulseaudio
 | 
					           pulseaudio
 | 
				
			||||||
           sdl2
 | 
					           sdl2
 | 
				
			||||||
           seabios-qemu
 | 
					           seabios-qemu
 | 
				
			||||||
 | 
					           sgabios
 | 
				
			||||||
           spice
 | 
					           spice
 | 
				
			||||||
           usbredir
 | 
					           usbredir
 | 
				
			||||||
           util-linux
 | 
					           util-linux
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue