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
This commit is contained in:
cherryblossom
2022-01-03 14:09:26 +11:00
parent e14a4826d2
commit 5773043ac1
+17 -2
View File
@@ -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
"
'';
};
}