vault: build as Makefile project, not as Go package

Volth ca16df17 2056c7e3

Changed files
+15 -10
pkgs
tools
security
vault
+15 -10
pkgs/tools/security/vault/default.nix
···
-
{ stdenv, buildGoPackage, fetchFromGitHub }:
+
{ stdenv, fetchFromGitHub, go, gox }:
let
vaultBashCompletions = fetchFromGitHub {
···
rev = "e2f59b64be1fa5430fa05c91b6274284de4ea77c";
sha256 = "10m75rp3hy71wlmnd88grmpjhqy0pwb9m8wm19l0f463xla54frd";
};
-
in buildGoPackage rec {
+
in stdenv.mkDerivation rec {
name = "vault-${version}";
version = "0.7.3";
-
goPackagePath = "github.com/hashicorp/vault";
-
src = fetchFromGitHub {
owner = "hashicorp";
repo = "vault";
···
sha256 = "15wj1pfgzwzjfrqy7b5bx4y9f0hbpqlfif58l5xamwm88229qk4m";
};
-
buildFlagsArray = ''
-
-ldflags=
-
-X github.com/hashicorp/vault/version.GitCommit=${version}
+
nativeBuildInputs = [ go gox ];
+
+
buildPhase = ''
+
substituteInPlace scripts/build.sh --replace 'git rev-parse HEAD' 'echo ${src.rev}'
+
+
mkdir -p src/github.com/hashicorp
+
ln -s $(pwd) src/github.com/hashicorp/vault
+
+
GOPATH=$(pwd) make
'';
-
postInstall = ''
-
mkdir -p $bin/share/bash-completion/completions/
-
cp ${vaultBashCompletions}/vault-bash-completion.sh $bin/share/bash-completion/completions/vault
+
installPhase = ''
+
mkdir -p $out/bin $out/share/bash-completion/completions
+
cp pkg/*/* $out/bin/
+
cp ${vaultBashCompletions}/vault-bash-completion.sh $out/share/bash-completion/completions/vault
'';
meta = with stdenv.lib; {