at 24.11-pre 64 lines 1.6 kB view raw
1{ buildGoModule 2, fetchFromGitHub 3, lib 4}: 5 6let 7 inherit (lib) concatStringsSep concatMap id mapAttrsToList; 8in 9buildGoModule rec { 10 pname = "pomerium-cli"; 11 version = "0.23.0"; 12 13 src = fetchFromGitHub { 14 owner = "pomerium"; 15 repo = "cli"; 16 rev = "v${version}"; 17 sha256 = "sha256-2upvdL8kk0Kbll8UbviyzIX2jdK+tqcHvVlkpz5JjrA="; 18 }; 19 20 vendorHash = "sha256-aQo58i+XuCkdjIg/IPf7kNLXXA0NwZbQMhgWyMb45B4="; 21 22 subPackages = [ 23 "cmd/pomerium-cli" 24 ]; 25 26 ldflags = let 27 # Set a variety of useful meta variables for stamping the build with. 28 setVars = { 29 "github.com/pomerium/cli/version" = { 30 Version = "v${version}"; 31 BuildMeta = "nixpkgs"; 32 ProjectName = "pomerium-cli"; 33 ProjectURL = "github.com/pomerium/cli"; 34 }; 35 }; 36 concatStringsSpace = list: concatStringsSep " " list; 37 mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); 38 varFlags = concatStringsSpace ( 39 mapAttrsToFlatList (package: packageVars: 40 mapAttrsToList (variable: value: 41 "-X ${package}.${variable}=${value}" 42 ) packageVars 43 ) setVars); 44 in [ 45 "${varFlags}" 46 ]; 47 48 installPhase = '' 49 runHook preInstall 50 51 install -Dm0755 $GOPATH/bin/pomerium-cli $out/bin/pomerium-cli 52 53 runHook postInstall 54 ''; 55 56 meta = with lib; { 57 homepage = "https://pomerium.io"; 58 description = "Client-side helper for Pomerium authenticating reverse proxy"; 59 mainProgram = "pomerium-cli"; 60 license = licenses.asl20; 61 maintainers = with maintainers; [ lukegb ]; 62 platforms = platforms.unix; 63 }; 64}