feat: add package.nix
This commit is contained in:
parent
52a5e5f4ef
commit
e4691ff6cd
|
@ -0,0 +1,90 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, makeWrapper
|
||||
, qemu
|
||||
, curl
|
||||
, gnugrep
|
||||
, gnused
|
||||
, lsb-release
|
||||
, jq
|
||||
, procps
|
||||
, python3
|
||||
, cdrtools
|
||||
, usbutils
|
||||
, util-linux
|
||||
, socat
|
||||
, spice-gtk
|
||||
, swtpm
|
||||
, unzip
|
||||
, xdg-user-dirs
|
||||
, xrandr
|
||||
, zsync
|
||||
, OVMF
|
||||
, OVMFFull
|
||||
, quickemu
|
||||
, testers
|
||||
, installShellFiles
|
||||
}:
|
||||
let
|
||||
runtimePaths = [
|
||||
qemu
|
||||
curl
|
||||
gnugrep
|
||||
gnused
|
||||
jq
|
||||
lsb-release
|
||||
procps
|
||||
python3
|
||||
cdrtools
|
||||
usbutils
|
||||
util-linux
|
||||
unzip
|
||||
socat
|
||||
swtpm
|
||||
xdg-user-dirs
|
||||
xrandr
|
||||
zsync
|
||||
];
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
src = lib.cleanSource ./.;
|
||||
|
||||
postPatch = ''
|
||||
sed -i \
|
||||
-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 '/cp "''${VARS_IN}" "''${VARS_OUT}"/a chmod +w "''${VARS_OUT}"' \
|
||||
-e 's/Icon=.*qemu.svg/Icon=qemu/' \
|
||||
quickemu
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
installManPage docs/quickget.1 docs/quickemu.1 docs/quickemu_conf.1
|
||||
install -Dm755 -t "$out/bin" chunkcheck quickemu quickget windowskey
|
||||
|
||||
# spice-gtk needs to be put in suffix so that when virtualisation.spiceUSBRedirection
|
||||
# is enabled, the wrapped spice-client-glib-usb-acl-helper is used
|
||||
for f in chunkcheck quickget quickemu windowskey; do
|
||||
wrapProgram $out/bin/$f \
|
||||
--prefix PATH : "${lib.makeBinPath runtimePaths}" \
|
||||
--suffix PATH : "${lib.makeBinPath [ spice-gtk ]}"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = testers.testVersion { package = quickemu; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Quickly create and run optimised Windows, macOS and Linux desktop virtual machines";
|
||||
homepage = "https://github.com/quickemu-project/quickemu";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fedx-sudo flexiondotorg ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue