parent
860cc90fec
commit
6659ba5248
@ -0,0 +1,58 @@ |
||||
{ buildGoModule |
||||
, fetchFromGitHub |
||||
, lib |
||||
, pomerium |
||||
}: |
||||
|
||||
let |
||||
inherit (lib) concatStringsSep concatMap id mapAttrsToList; |
||||
in |
||||
buildGoModule rec { |
||||
pname = "pomerium-cli"; |
||||
version = pomerium.version; |
||||
src = fetchFromGitHub { |
||||
owner = "pomerium"; |
||||
repo = "cli"; |
||||
rev = "v${version}"; |
||||
hash = "sha256:0230b22xjnpykj8bcdahzzlsvlrd63z2cmg6yb246c5ngjs835q1"; |
||||
}; |
||||
|
||||
vendorSha256 = "sha256:0xx22lmh6wip1d1bjrp4lgab3q9yilw54v4lg24lf3xhbsr5si9b"; |
||||
subPackages = [ |
||||
"cmd/pomerium-cli" |
||||
]; |
||||
|
||||
ldflags = let |
||||
# Set a variety of useful meta variables for stamping the build with. |
||||
setVars = { |
||||
"github.com/pomerium/cli/version" = { |
||||
Version = "v${version}"; |
||||
BuildMeta = "nixpkgs"; |
||||
ProjectName = "pomerium-cli"; |
||||
ProjectURL = "github.com/pomerium/cli"; |
||||
}; |
||||
}; |
||||
concatStringsSpace = list: concatStringsSep " " list; |
||||
mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); |
||||
varFlags = concatStringsSpace ( |
||||
mapAttrsToFlatList (package: packageVars: |
||||
mapAttrsToList (variable: value: |
||||
"-X ${package}.${variable}=${value}" |
||||
) packageVars |
||||
) setVars); |
||||
in [ |
||||
"${varFlags}" |
||||
]; |
||||
|
||||
installPhase = '' |
||||
install -Dm0755 $GOPATH/bin/pomerium-cli $out/bin/pomerium-cli |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://pomerium.io"; |
||||
description = "Client-side helper for Pomerium authenticating reverse proxy"; |
||||
license = licenses.asl20; |
||||
maintainers = with maintainers; [ lukegb ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
Loading…
Reference in new issue