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
No known key found for this signature in database
GPG Key ID: 8D65584EF3DDF91B

View File

@ -1,36 +1,25 @@
{ stdenv, fetchFromGitHub, go, gox, removeReferencesTo }: { stdenv, fetchFromGitHub, buildGoModule }:
stdenv.mkDerivation rec { buildGoModule rec {
name = "vault-${version}"; name = "vault-${version}";
version = "1.1.3"; version = "1.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hashicorp"; owner = "hashicorp";
repo = "vault"; repo = "vault";
rev = "v${version}"; rev = "v${version}";
sha256 = "0dylwvs95crvn1p7pbyzib979rxzp4ivzvi5k4f5ivp4ygnp597s"; sha256 = "1xljm7xmb4ldg3wx8s9kw1spffg4ywk4r1jqfa743czd2xxmqavl";
}; };
nativeBuildInputs = [ go gox removeReferencesTo ]; modSha256 = "13pr3piv6hrsc562qagpn1h5wckiziyfqraj13172hdglz3n2i7q";
preBuild = '' buildFlagsArray = [
patchShebangs ./ "-tags='vault'"
substituteInPlace scripts/build.sh --replace 'git rev-parse HEAD' 'echo ${src.rev}' "-ldflags=\"-X github.com/hashicorp/vault/sdk/version.GitCommit='v${version}'\""
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} '{}' +
postInstall = ''
mkdir -p $out/share/bash-completion/completions
echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault
''; '';