diff options
author | cherryblossom <31467609+cherryblossom000@users.noreply.github.com> | 2022-01-01 14:27:38 +1100 |
---|---|---|
committer | cherryblossom <31467609+cherryblossom000@users.noreply.github.com> | 2022-01-03 14:09:26 +1100 |
commit | 5773043ac1445a0e9904d6618d337b32891db210 (patch) | |
tree | 098247358f6daf31a99b6bb80ea8ba4932b94d5c | |
parent | e14a4826d2bb6ba031d7ec7a55e602ef462c4397 (diff) |
elvish: properly set buildinfo via `ldflags`
As of [this commit][1] (v0.16.0), the module path of Elvish changed from `github.com/elves/elvish` to `src.elv.sh`. This is also reflected in the updated [packaging instructions][2]. This commit updates the `ldflags` in the derivation to use the new module path so that `buildinfo.Reproducible` is correctly set to `true`. [1]: https://github.com/elves/elvish/commit/196eea21d4f185d6ac203e7f9a4fa9a9c4d680f4 [2]: https://github.com/elves/elvish/blob/master/PACKAGING.md
-rw-r--r-- | pkgs/shells/elvish/default.nix | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix index e94354d680452..66d14b9b9ff55 100644 --- a/pkgs/shells/elvish/default.nix +++ b/pkgs/shells/elvish/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, runCommand, elvish }: buildGoModule rec { pname = "elvish"; @@ -6,7 +6,7 @@ buildGoModule rec { subPackages = [ "cmd/elvish" ]; - ldflags = [ "-s" "-w" "-X github.com/elves/elvish/pkg/buildinfo.Version==${version}" "-X github.com/elves/elvish/pkg/buildinfo.Reproducible=true" ]; + ldflags = [ "-s" "-w" "-X src.elv.sh/pkg/buildinfo.Version==${version}" "-X src.elv.sh/pkg/buildinfo.Reproducible=true" ]; src = fetchFromGitHub { owner = "elves"; @@ -33,5 +33,20 @@ buildGoModule rec { passthru = { shellPath = "/bin/elvish"; + tests = runCommand "${pname}-buildinfo-test" {} '' + mkdir $out + + ${elvish}/bin/elvish -c " + fn expect {|key expected| + var actual = \$buildinfo[\$key] + if (not-eq \$actual \$expected) { + fail '\$buildinfo['\$key']: expected '(to-string \$expected)', got '(to-string \$actual) + } + } + + expect version ${version} + expect reproducible \$true + " + ''; }; } |