From ee19f3a3648a5b4248dce07bfc9d3258fd2d80d5 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 3 Dec 2024 17:18:36 +0900 Subject: [PATCH 1/6] lima: format with nixfmt-rfc-style --- .../virtualization/lima/default.nix | 58 ++++++++++--------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index 9878b425329b..cd6ed327fbc1 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, qemu -, sigtool -, makeWrapper -, nix-update-script -, apple-sdk_15 +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + qemu, + sigtool, + makeWrapper, + nix-update-script, + apple-sdk_15, }: buildGoModule rec { @@ -23,8 +24,10 @@ buildGoModule rec { vendorHash = "sha256-nNSBwvhKSWs6to37+RLziYQqVOYfvjYib3fRRALACho="; - nativeBuildInputs = [ makeWrapper installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ]; @@ -48,20 +51,23 @@ buildGoModule rec { export LIMA_HOME="$(mktemp -d)" ''; - installPhase = '' - runHook preInstall - mkdir -p $out - cp -r _output/* $out - wrapProgram $out/bin/limactl \ - --prefix PATH : ${lib.makeBinPath [ qemu ]} - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd limactl \ - --bash <($out/bin/limactl completion bash) \ - --fish <($out/bin/limactl completion fish) \ - --zsh <($out/bin/limactl completion zsh) - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + mkdir -p $out + cp -r _output/* $out + wrapProgram $out/bin/limactl \ + --prefix PATH : ${lib.makeBinPath [ qemu ]} + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd limactl \ + --bash <($out/bin/limactl completion bash) \ + --fish <($out/bin/limactl completion fish) \ + --zsh <($out/bin/limactl completion zsh) + '' + + '' + runHook postInstall + ''; doInstallCheck = true; installCheckPhase = '' From 2b5db6273584eba44a8b20783f4630c700aafbec Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 3 Dec 2024 17:23:10 +0900 Subject: [PATCH 2/6] lima: add passthru.tests.version --- pkgs/applications/virtualization/lima/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index cd6ed327fbc1..5869fa6bb3b5 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -7,8 +7,10 @@ qemu, sigtool, makeWrapper, + testers, nix-update-script, apple-sdk_15, + lima, }: buildGoModule rec { @@ -74,7 +76,10 @@ buildGoModule rec { USER=nix $out/bin/limactl validate templates/default.yaml ''; - passthru.updateScript = nix-update-script { }; + passthru = { + tests.version = testers.testVersion { package = lima; }; + updateScript = nix-update-script { }; + }; meta = with lib; { homepage = "https://github.com/lima-vm/lima"; From 3bef6979b2592cafd88b9b2de05fb62f3a55d978 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 3 Dec 2024 17:37:20 +0900 Subject: [PATCH 3/6] lima: 1.0.1 -> 1.0.2 Release: https://github.com/lima-vm/lima/releases/tag/v1.0.2 Diff: https://github.com/lima-vm/lima/compare/v1.0.1...v1.0.2 --- pkgs/applications/virtualization/lima/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index 5869fa6bb3b5..a9a297ced97d 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -15,16 +15,16 @@ buildGoModule rec { pname = "lima"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "lima-vm"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XYB8Nxbs76xmiiZ7IYfgn+UgUr6CLOalQrl6Ibo+DRc="; + sha256 = "sha256-LNsxMrbEgdosGDDUNvMZq/hpP5azNiIHjKTp0Iw/PC0="; }; - vendorHash = "sha256-nNSBwvhKSWs6to37+RLziYQqVOYfvjYib3fRRALACho="; + vendorHash = "sha256-taozyQBJvkCsJAaOHg1gFK4qOnepRbzIn4jHzxfAn6A="; nativeBuildInputs = [ makeWrapper From b994f1fa5aa1d6f1491c5d6fc436bf986b624204 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Fri, 6 Dec 2024 12:19:37 +0900 Subject: [PATCH 4/6] lima: make sure it does not use pname for reponame Co-authored-by: OTABI Tomoya --- pkgs/applications/virtualization/lima/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index a9a297ced97d..0460467ea204 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -19,7 +19,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "lima-vm"; - repo = pname; + repo = "lima"; rev = "v${version}"; sha256 = "sha256-LNsxMrbEgdosGDDUNvMZq/hpP5azNiIHjKTp0Iw/PC0="; }; From d90d79a605f255261c8c68ff92d34f64116cdddb Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Fri, 6 Dec 2024 12:20:43 +0900 Subject: [PATCH 5/6] lima: prefer hash rather than sha256 in fetchFromGitHub Co-authored-by: OTABI Tomoya --- pkgs/applications/virtualization/lima/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index 0460467ea204..8538104effab 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -21,7 +21,7 @@ buildGoModule rec { owner = "lima-vm"; repo = "lima"; rev = "v${version}"; - sha256 = "sha256-LNsxMrbEgdosGDDUNvMZq/hpP5azNiIHjKTp0Iw/PC0="; + hash = "sha256-LNsxMrbEgdosGDDUNvMZq/hpP5azNiIHjKTp0Iw/PC0="; }; vendorHash = "sha256-taozyQBJvkCsJAaOHg1gFK4qOnepRbzIn4jHzxfAn6A="; From f28ecbe89ad9011c0ab45a42a6ed361db2f084e9 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Fri, 6 Dec 2024 12:50:49 +0900 Subject: [PATCH 6/6] lima: prefer version testing in installCheckPhase rather than passthru.tests.version --- pkgs/applications/virtualization/lima/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index 8538104effab..74a75ce57871 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -7,7 +7,6 @@ qemu, sigtool, makeWrapper, - testers, nix-update-script, apple-sdk_15, lima, @@ -72,14 +71,19 @@ buildGoModule rec { ''; doInstallCheck = true; + # Workaround for: "panic: $HOME is not defined" at https://github.com/lima-vm/lima/blob/v1.0.2/pkg/limayaml/defaults.go#L52 + # Don't use versionCheckHook for this package. It cannot inject environment variables. installCheckPhase = '' + if [[ "$(HOME="$(mktemp -d)" "$out/bin/limactl" --version | cut -d ' ' -f 3)" == "${version}" ]]; then + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + return 1 + fi USER=nix $out/bin/limactl validate templates/default.yaml ''; - passthru = { - tests.version = testers.testVersion { package = lima; }; - updateScript = nix-update-script { }; - }; + passthru.updateScript = nix-update-script { }; meta = with lib; { homepage = "https://github.com/lima-vm/lima";