build(packaging): sync Nix flakes, devshell and Debian packaging

- Update flake.nix and package.nix to refresh package definitions and
pins
- Refresh devshell.nix to include updated development dependencies
- Adjust debian/control metadata to match packaging and dependency
changes
- Align packaging metadata between Nix and Debian to improve
reproducibility

Signed-off-by: Martin Wimpress <martin@wimpress.org>
This commit is contained in:
Martin Wimpress 2026-01-25 01:47:58 +00:00 committed by Martin Wimpress
parent e7b49430cf
commit 0742312aa5
4 changed files with 13 additions and 10 deletions

2
debian/control vendored
View File

@ -15,9 +15,11 @@ Architecture: all
Depends: Depends:
coreutils, coreutils,
curl, curl,
gdisk,
genisoimage, genisoimage,
jq, jq,
mesa-utils, mesa-utils,
mtools,
pciutils, pciutils,
procps, procps,
python3-minimal, python3-minimal,

View File

@ -32,7 +32,7 @@ mkShell {
xorg.xrandr xorg.xrandr
zsync zsync
] ]
++ lib.optionals stdenv.isLinux [ ++ lib.optionals stdenv.hostPlatform.isLinux [
mesa-demos mesa-demos
usbutils usbutils
xdg-user-dirs xdg-user-dirs
@ -57,7 +57,7 @@ mkShell {
-e '/OVMF_CODE_4M.secboot.fd/s|ovmfs=(|ovmfs=("${OVMFFull.firmware}","${OVMFFull.variables}" |' \ -e '/OVMF_CODE_4M.secboot.fd/s|ovmfs=(|ovmfs=("${OVMFFull.firmware}","${OVMFFull.variables}" |' \
-e '/OVMF_CODE_4M.fd/s|ovmfs=(|ovmfs=("${OVMF.firmware}","${OVMF.variables}" |' \ -e '/OVMF_CODE_4M.fd/s|ovmfs=(|ovmfs=("${OVMF.firmware}","${OVMF.variables}" |' \
'' ''
}${lib.optionalString stdenv.isDarwin '' }${lib.optionalString stdenv.hostPlatform.isDarwin ''
-e 's|ovmfs=("[$][{]SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-x86_64-secure-code.fd","${pkgs.qemu_full}/share/qemu/edk2-i386-vars.fd" "''${SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd"|' \ -e 's|ovmfs=("[$][{]SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-x86_64-secure-code.fd","${pkgs.qemu_full}/share/qemu/edk2-i386-vars.fd" "''${SHARE_PATH}/OVMF/OVMF_CODE_4M.secboot.fd"|' \
-e 's|ovmfs=("[$][{]SHARE_PATH}/OVMF/OVMF_CODE_4M.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-x86_64-code.fd","${pkgs.qemu_full}/share/qemu/edk2-i386-vars.fd" "''${SHARE_PATH}/OVMF/OVMF_CODE_4M.fd"|' \ -e 's|ovmfs=("[$][{]SHARE_PATH}/OVMF/OVMF_CODE_4M.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-x86_64-code.fd","${pkgs.qemu_full}/share/qemu/edk2-i386-vars.fd" "''${SHARE_PATH}/OVMF/OVMF_CODE_4M.fd"|' \
-e 's|ovmfs=("/usr/share/AAVMF/AAVMF_CODE.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-aarch64-code.fd","${pkgs.qemu_full}/share/qemu/edk2-arm-vars.fd" "/usr/share/AAVMF/AAVMF_CODE.fd"|' \ -e 's|ovmfs=("/usr/share/AAVMF/AAVMF_CODE.fd"|ovmfs=("${pkgs.qemu_full}/share/qemu/edk2-aarch64-code.fd","${pkgs.qemu_full}/share/qemu/edk2-arm-vars.fd" "/usr/share/AAVMF/AAVMF_CODE.fd"|' \

View File

@ -41,7 +41,7 @@
let let
# OVMF is only available/needed on Linux # OVMF is only available/needed on Linux
ovmfArgs = ovmfArgs =
if final.stdenv.isLinux then if final.stdenv.hostPlatform.isLinux then
{ } { }
else else
{ {
@ -60,7 +60,7 @@
let let
# OVMF is only available/needed on Linux # OVMF is only available/needed on Linux
ovmfArgs = ovmfArgs =
if pkgs.stdenv.isLinux then if pkgs.stdenv.hostPlatform.isLinux then
{ } { }
else else
{ {
@ -80,7 +80,7 @@
let let
# OVMF is only available/needed on Linux # OVMF is only available/needed on Linux
ovmfArgs = ovmfArgs =
if pkgs.stdenv.isLinux then if pkgs.stdenv.hostPlatform.isLinux then
{ } { }
else else
{ {

View File

@ -30,7 +30,6 @@
zsync, zsync,
OVMF ? null, OVMF ? null,
OVMFFull ? null, OVMFFull ? null,
quickemu,
}: }:
let let
runtimePaths = [ runtimePaths = [
@ -54,7 +53,7 @@ let
xrandr xrandr
zsync zsync
] ]
++ lib.optionals stdenv.isLinux [ ++ lib.optionals stdenv.hostPlatform.isLinux [
mesa-demos mesa-demos
OVMF OVMF
OVMFFull OVMFFull
@ -67,7 +66,7 @@ let
.* .*
'' (builtins.readFile ./quickemu); '' (builtins.readFile ./quickemu);
in in
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "quickemu"; pname = "quickemu";
version = builtins.concatStringsSep "" versionMatches; version = builtins.concatStringsSep "" versionMatches;
src = lib.cleanSource ./.; src = lib.cleanSource ./.;
@ -81,6 +80,7 @@ stdenv.mkDerivation rec {
'' ''
} \ } \
-e '/cp "''${VARS_IN}" "''${VARS_OUT}"/a chmod +w "''${VARS_OUT}"' \ -e '/cp "''${VARS_IN}" "''${VARS_OUT}"/a chmod +w "''${VARS_OUT}"' \
-e 's/Icon=.*qemu.svg/Icon=qemu/' \
-e 's,\$(command -v smbd),${samba}/bin/smbd,' \ -e 's,\$(command -v smbd),${samba}/bin/smbd,' \
quickemu quickemu
''; '';
@ -107,11 +107,12 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
passthru.tests = testers.testVersion { package = quickemu; }; passthru.tests = testers.testVersion { package = finalAttrs.finalPackage; };
meta = { meta = {
description = "Quickly create and run optimised Windows, macOS and Linux virtual machines"; description = "Quickly create and run optimised Windows, macOS and Linux virtual machines";
homepage = "https://github.com/quickemu-project/quickemu"; homepage = "https://github.com/quickemu-project/quickemu";
changelog = "https://github.com/quickemu-project/quickemu/releases/tag/${finalAttrs.version}";
mainProgram = "quickemu"; mainProgram = "quickemu";
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [ maintainers = with lib.maintainers; [
@ -119,4 +120,4 @@ stdenv.mkDerivation rec {
flexiondotorg flexiondotorg
]; ];
}; };
} })