rosenthal: Add ukify.

* modules/rosenthal/packages/bootloaders.scm (ukify): New variable.
This commit is contained in:
Hilton Chain 2025-09-27 23:21:08 +08:00
parent cd0f3117a0
commit 1bb06a779b
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292

View File

@ -126,3 +126,34 @@
supporting data to their proper locations, before chainloading to the kernel.
Supports measured and/or verified boot environments.")
(license license:lgpl2.1+)))
(define-public ukify
(package
(name "ukify")
(version systemd-version)
(source systemd-source)
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'check)
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(file (string-append bin "/ukify"))
(binutils (assoc-ref inputs "binutils"))
(sbsign (assoc-ref inputs "sbsigntools")))
(mkdir-p bin)
(copy-file "src/ukify/ukify.py" file)
(wrap-program file
`("PATH" ":" prefix
(,(string-append binutils "/bin")
,(string-append sbsign "/bin"))))))))))
(inputs (list binutils python-cryptography python-pefile sbsigntools))
(native-inputs (list python-setuptools))
(home-page "https://systemd.io")
(synopsis "Unified kernel image UEFI tool")
(description "@command{ukify} joins together a UKI stub, linux kernel, initrd,
kernel arguments, and optional secure boot signatures into a single, UEFI-bootable
image.")
(license license:lgpl2.1+)))