From 6ac2b4a240387ea435022c11ad30d0010962fd3f Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 25 Dec 2024 15:58:03 +0900 Subject: [PATCH 1/8] pinact: prefer versionCheckHook rather than testers.testVersion https://github.com/NixOS/nixpkgs/blob/bd352cd67834c983d69adf4080d225dbe28f99ba/doc/stdenv/passthru.chapter.md?plain=1#L84 --- pkgs/by-name/pi/pinact/package.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 8e72aa925dc5..9ec8b7888ebc 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -2,9 +2,8 @@ lib, fetchFromGitHub, buildGoModule, - testers, + versionCheckHook, nix-update-script, - pinact, }: let @@ -16,6 +15,7 @@ let rev = "v${version}"; hash = "sha256-fOmQDfqG1aWzpL80Nc8JA6HWQR+z9mhqtwU4rC2g2Gg="; }; + mainProgram = "pinact"; in buildGoModule { inherit pname version src; @@ -24,11 +24,14 @@ buildGoModule { doCheck = true; - passthru = { - tests.version = testers.testVersion { - package = pinact; - }; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/${mainProgram}"; + versionCheckProgramArg = [ "version" ]; + passthru = { updateScript = nix-update-script { }; }; @@ -39,11 +42,11 @@ buildGoModule { ]; meta = with lib; { + inherit mainProgram; description = "Pin GitHub Actions versions"; homepage = "https://github.com/suzuki-shunsuke/pinact"; changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/${src.rev}"; license = licenses.mit; maintainers = [ maintainers.kachick ]; - mainProgram = "pinact"; }; } From c6a2750e4117341344cda6a82d228d77e82c9f91 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 25 Dec 2024 16:02:43 +0900 Subject: [PATCH 2/8] pinact: set CGO_ENABLED=0 Upstream sets 0 in the release https://github.com/suzuki-shunsuke/pinact/blob/v1.0.0/.goreleaser.yml#L13 nixpkgs sets 1 by default https://github.com/NixOS/nixpkgs/blob/471addceb995f4f9e84618c471d07c97597da2c5/doc/languages-frameworks/go.section.md?plain=1#L252 --- pkgs/by-name/pi/pinact/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 9ec8b7888ebc..55d97614e117 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -22,6 +22,8 @@ buildGoModule { vendorHash = "sha256-AFlkzs5mL/x9CwfF2apLcQbiu60GD33oFH6lQDHAL1M="; + env.CGO_ENABLED = 0; + doCheck = true; nativeInstallCheckInputs = [ From 1750892a928fe72f01c1cff33e051a8f1f39b0a8 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 25 Dec 2024 15:58:30 +0900 Subject: [PATCH 3/8] pinact: prefer tag rather than rev for fetchFromGitHub introduced in 7822cb34f86bcdd0b9f31f2955062216857a6757 --- pkgs/by-name/pi/pinact/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 55d97614e117..0c9e868185de 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -12,7 +12,7 @@ let src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-fOmQDfqG1aWzpL80Nc8JA6HWQR+z9mhqtwU4rC2g2Gg="; }; mainProgram = "pinact"; @@ -40,14 +40,14 @@ buildGoModule { ldflags = [ "-s" "-w" - "-X main.version=${version} -X main.commit=${src.rev}" + "-X main.version=${version} -X main.commit=v${version}" ]; meta = with lib; { inherit mainProgram; description = "Pin GitHub Actions versions"; homepage = "https://github.com/suzuki-shunsuke/pinact"; - changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/${src.rev}"; + changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/v${version}"; license = licenses.mit; maintainers = [ maintainers.kachick ]; }; From 5d50bc8e162d5a8172f9c10aa3cf27715d516e97 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 25 Dec 2024 16:37:56 +0900 Subject: [PATCH 4/8] pinact: reduce scope of with in meta e671d3bbbda9b2bec8fa119aa1ff46499118ef17 --- pkgs/by-name/pi/pinact/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 0c9e868185de..3f1a2f8f19b3 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -43,12 +43,12 @@ buildGoModule { "-X main.version=${version} -X main.commit=v${version}" ]; - meta = with lib; { + meta = { inherit mainProgram; description = "Pin GitHub Actions versions"; homepage = "https://github.com/suzuki-shunsuke/pinact"; changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/v${version}"; - license = licenses.mit; - maintainers = [ maintainers.kachick ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kachick ]; }; } From 3b8fc626560eb0cc2187436d1bdc932df170a62d Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sat, 28 Dec 2024 12:20:13 +0900 Subject: [PATCH 5/8] pinact: 1.0.0 -> 1.1.0 Diff: https://github.com/suzuki-shunsuke/pinact/compare/v1.0.0...v1.1.0 --- pkgs/by-name/pi/pinact/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 3f1a2f8f19b3..95718e5d4d25 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -8,19 +8,19 @@ let pname = "pinact"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; tag = "v${version}"; - hash = "sha256-fOmQDfqG1aWzpL80Nc8JA6HWQR+z9mhqtwU4rC2g2Gg="; + hash = "sha256-FOWlCKhMZhxWRb6079aSbTO3RR1Da7ZfjHb5N/ULl8o="; }; mainProgram = "pinact"; in buildGoModule { inherit pname version src; - vendorHash = "sha256-AFlkzs5mL/x9CwfF2apLcQbiu60GD33oFH6lQDHAL1M="; + vendorHash = "sha256-Cdo24F1ewrGhXHC+gOh/HNlCQhJfTYBMqLWoL8HedYE="; env.CGO_ENABLED = 0; From 2316da9798ef5eba2b2a494f95c507710489d661 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sat, 28 Dec 2024 18:20:08 +0900 Subject: [PATCH 6/8] pinact: 1.1.0 -> 1.1.1 Diff: https://github.com/suzuki-shunsuke/pinact/compare/v1.1.0...v1.1.1 --- pkgs/by-name/pi/pinact/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 95718e5d4d25..b2a7bbde40b1 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -8,12 +8,12 @@ let pname = "pinact"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; tag = "v${version}"; - hash = "sha256-FOWlCKhMZhxWRb6079aSbTO3RR1Da7ZfjHb5N/ULl8o="; + hash = "sha256-nreKo4tH5fidevuWH4LYg4c0uoeiEFPF0qSYouC5N5w="; }; mainProgram = "pinact"; in From d49a887c164a5754caf3d33773849eb62c5ac676 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Mon, 30 Dec 2024 10:30:44 +0900 Subject: [PATCH 7/8] pinact: 1.1.1 -> 1.1.2 Diff: https://github.com/suzuki-shunsuke/pinact/compare/v1.1.1...v1.1.2 --- pkgs/by-name/pi/pinact/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index b2a7bbde40b1..c310b752a0ee 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -8,19 +8,19 @@ let pname = "pinact"; - version = "1.1.1"; + version = "1.1.2"; src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; tag = "v${version}"; - hash = "sha256-nreKo4tH5fidevuWH4LYg4c0uoeiEFPF0qSYouC5N5w="; + hash = "sha256-QBWxs0YRTWItJ1aTG33Z6vK8/vaZBTuZAVPYqD6dIvE="; }; mainProgram = "pinact"; in buildGoModule { inherit pname version src; - vendorHash = "sha256-Cdo24F1ewrGhXHC+gOh/HNlCQhJfTYBMqLWoL8HedYE="; + vendorHash = "sha256-Y44nJv0eWM0xO+lB56OBcEe/CCipPj8Ptg7WuJ2Vszo="; env.CGO_ENABLED = 0; From b3ecbffa39c803992f68d0fd80106ba053390c01 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 8 Jan 2025 19:22:59 +0900 Subject: [PATCH 8/8] pinact: exclude bin/gen-jsonschema Which was introduced in version 1.1.2 However it looks like a project internal tool For example, homebrew did not include it https://github.com/Homebrew/homebrew-core/blob/2e88df3e7a7a39f4d0cd462a0f46d73861d7af8d/Formula/p/pinact.rb#L20-L28 --- pkgs/by-name/pi/pinact/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index c310b752a0ee..f09487dcc088 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -43,6 +43,10 @@ buildGoModule { "-X main.version=${version} -X main.commit=v${version}" ]; + subPackages = [ + "cmd/pinact" + ]; + meta = { inherit mainProgram; description = "Pin GitHub Actions versions";