From 607216fa1635ba696ebb0f6966d31e209de4bd63 Mon Sep 17 00:00:00 2001 From: Schahin Rouhanizadeh Date: Wed, 25 Feb 2026 19:28:04 +0100 Subject: [PATCH 1/2] flyctl: fix reproducibility by extracting VCS info in postCheckout --- pkgs/by-name/fl/flyctl/package.nix | 20 +++++++++++++------- pkgs/by-name/fl/flyctl/set-commit.patch | 10 ++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 pkgs/by-name/fl/flyctl/set-commit.patch diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix index 4f2e9b5b1446..f302dbac2dd3 100644 --- a/pkgs/by-name/fl/flyctl/package.nix +++ b/pkgs/by-name/fl/flyctl/package.nix @@ -17,12 +17,15 @@ buildGoModule rec { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - leaveDotGit = true; - hash = "sha256-hzKKCwGTaz1MFQ1+F9piNBnaEDZJwJqoerR1c/uzSsQ="; + postCheckout = '' + cd "$out" + git rev-parse HEAD > COMMIT + ''; + hash = "sha256-sH2owlQOB2rRLSKbj6LWwQeuYJUjdqiDxCRKMEBpUbU="; }; proxyVendor = true; - vendorHash = "sha256-ezGA1LGwQVFMzV/Ogj26pooD06O7FNTXMrYWkv6AwWM="; + vendorHash = "sha256-AaUscVllqhDivsAc5SDbfiXDWPs/x1f7kqdr6Qhf8mg="; subPackages = [ "." ]; @@ -39,12 +42,15 @@ buildGoModule rec { git ]; - patches = [ ./disable-auto-update.patch ]; + patches = [ + ./disable-auto-update.patch + ./set-commit.patch + ]; preBuild = '' - # Embed VCS Infos - export GOFLAGS="$GOFLAGS -buildvcs=true" - + export GOFLAGS="$GOFLAGS -buildvcs=false" + substituteInPlace internal/buildinfo/buildinfo.go \ + --replace '@commit@' "$(cat COMMIT)" GOOS= GOARCH= CGO_ENABLED=0 go generate ./... ''; diff --git a/pkgs/by-name/fl/flyctl/set-commit.patch b/pkgs/by-name/fl/flyctl/set-commit.patch new file mode 100644 index 000000000000..03d564f743d8 --- /dev/null +++ b/pkgs/by-name/fl/flyctl/set-commit.patch @@ -0,0 +1,10 @@ +--- a/internal/buildinfo/buildinfo.go ++++ b/internal/buildinfo/buildinfo.go +@@ -117,6 +117,7 @@ func UserAgent() string { + } + + func Commit() string { ++ return "@commit@" + info, _ := debug.ReadBuildInfo() + var rev = "" + var dirty = "" From 49229b4b762aab96cd65cf99cb319e0787715439 Mon Sep 17 00:00:00 2001 From: Schahin Rouhanizadeh Date: Fri, 27 Feb 2026 00:11:21 +0100 Subject: [PATCH 2/2] flyctl: 0.3.209 -> 0.4.15 --- pkgs/by-name/fl/flyctl/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix index f302dbac2dd3..519fc60b7e08 100644 --- a/pkgs/by-name/fl/flyctl/package.nix +++ b/pkgs/by-name/fl/flyctl/package.nix @@ -7,11 +7,12 @@ flyctl, installShellFiles, git, + rake, }: buildGoModule rec { pname = "flyctl"; - version = "0.3.209"; + version = "0.4.15"; src = fetchFromGitHub { owner = "superfly"; @@ -21,11 +22,11 @@ buildGoModule rec { cd "$out" git rev-parse HEAD > COMMIT ''; - hash = "sha256-sH2owlQOB2rRLSKbj6LWwQeuYJUjdqiDxCRKMEBpUbU="; + hash = "sha256-2xl4dAP+9kTPkhFfXLNw00krB7zC10em1vAULTBKqvQ="; }; proxyVendor = true; - vendorHash = "sha256-AaUscVllqhDivsAc5SDbfiXDWPs/x1f7kqdr6Qhf8mg="; + vendorHash = "sha256-xVRLH1H7HhxaR9L+N+qE4kwqjMyie+JjeXpXvwRKa5A="; subPackages = [ "." ]; @@ -54,6 +55,8 @@ buildGoModule rec { GOOS= GOARCH= CGO_ENABLED=0 go generate ./... ''; + nativeCheckInputs = [ rake ]; + preCheck = '' HOME=$(mktemp -d) '';