vault: 1.0.2 -> 1.2.2

This upgrades Vault to version 1.2.2. To accomplish this, we migrate to
using the `buildGoModule` helper, as since 1.0.2 the Vault build process
migrated to modules, and does not vendor its dependencies.

We also stop using the vault build script, and gox, as it only really
provides value for local development, where it configures GOOS/GOARCH
and installs into some convenient dev locations.
This commit is contained in:
Danielle Lancashire
2019-08-28 09:47:03 +02:00
parent f7387ad383
commit d95dca26ab

View File

@@ -1,36 +1,25 @@
{ stdenv, fetchFromGitHub, go, gox, removeReferencesTo }:
{ stdenv, fetchFromGitHub, buildGoModule }:
stdenv.mkDerivation rec {
buildGoModule rec {
name = "vault-${version}";
version = "1.1.3";
version = "1.2.2";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "vault";
rev = "v${version}";
sha256 = "0dylwvs95crvn1p7pbyzib979rxzp4ivzvi5k4f5ivp4ygnp597s";
sha256 = "1xljm7xmb4ldg3wx8s9kw1spffg4ywk4r1jqfa743czd2xxmqavl";
};
nativeBuildInputs = [ go gox removeReferencesTo ];
modSha256 = "13pr3piv6hrsc562qagpn1h5wckiziyfqraj13172hdglz3n2i7q";
preBuild = ''
patchShebangs ./
substituteInPlace scripts/build.sh --replace 'git rev-parse HEAD' 'echo ${src.rev}'
sed -i s/'^GIT_DIRTY=.*'/'GIT_DIRTY="+NixOS"'/ scripts/build.sh
mkdir -p .git/hooks src/github.com/hashicorp
ln -s $(pwd) src/github.com/hashicorp/vault
export GOPATH=$(pwd)
export GOCACHE="$TMPDIR/go-cache"
'';
installPhase = ''
mkdir -p $out/bin $out/share/bash-completion/completions
cp pkg/*/* $out/bin/
find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
buildFlagsArray = [
"-tags='vault'"
"-ldflags=\"-X github.com/hashicorp/vault/sdk/version.GitCommit='v${version}'\""
];
postInstall = ''
mkdir -p $out/share/bash-completion/completions
echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault
'';