54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
{ lib
|
|
, buildGoModule
|
|
, fetchFromGitHub
|
|
}:
|
|
|
|
buildGoModule rec {
|
|
pname = "trickster";
|
|
version = "1.1.5";
|
|
rev = "4595bd6a1ae1165ef497251ad85c646dadc8a925";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "trickstercache";
|
|
repo = "trickster";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-BRD8IF3s9RaDorVtXRvbKLVVVXWiEQTQyKBR9jFo1eM=";
|
|
};
|
|
|
|
vendorSha256 = null;
|
|
|
|
subPackages = [ "cmd/trickster" ];
|
|
|
|
preBuild =
|
|
let
|
|
ldflags = with lib;
|
|
concatStringsSep " " (
|
|
[ "-extldflags '-static'" "-s" "-w" ] ++
|
|
(mapAttrsToList (n: v: "-X main.application${n}=${v}") {
|
|
BuildTime = "1970-01-01T00:00:00+0000";
|
|
GitCommitID = rev;
|
|
GoVersion = "$(go env GOVERSION)";
|
|
GoArch = "$(go env GOARCH)";
|
|
})
|
|
);
|
|
in
|
|
''
|
|
buildFlagsArray+=("-ldflags=${ldflags}")
|
|
'';
|
|
|
|
# Tests are broken.
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Reverse proxy cache and time series dashboard accelerator";
|
|
longDescription = ''
|
|
Trickster is a fully-featured HTTP Reverse Proxy Cache for HTTP
|
|
applications like static file servers and web APIs.
|
|
'';
|
|
homepage = "https://trickstercache.org/";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ _1000101 ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|