diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/trdl-client/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/trdl-client/default.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/trdl-client/default.nix b/nixpkgs/pkgs/tools/misc/trdl-client/default.nix new file mode 100644 index 000000000000..b5f4405e64df --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/trdl-client/default.nix @@ -0,0 +1,70 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, testers +, trdl-client +}: + +buildGoModule rec { + pname = "trdl-client"; + version = "0.6.5"; + + src = fetchFromGitHub { + owner = "werf"; + repo = "trdl"; + rev = "v${version}"; + hash = "sha256-jJwRIfxmjlhfS/0+IN2IdQPlO9FkTb64PWUiLwkarfM="; + }; + + sourceRoot = "source/client"; + + vendorHash = "sha256-f7FPeR+us3WvwqzcSQLbkKv905CCIAAm+HNV2FFF8OY="; + + subPackages = [ "cmd/trdl" ]; + + CGO_ENABLED = 0; + + ldflags = [ + "-s" + "-w" + "-X github.com/werf/trdl/client/pkg/trdl.Version=${src.rev}" + ]; + + tags = [ + "dfrunmount" + "dfssh" + ]; + + # There are no tests for cmd/trdl. + doCheck = false; + + passthru.tests.version = testers.testVersion { + package = trdl-client; + command = "trdl version"; + version = "v${version}"; + }; + + meta = with lib; { + description = '' + The universal solution for delivering your software updates securely from + a trusted The Update Framework (TUF) repository + ''; + longDescription = '' + trdl is an Open Source solution providing a secure channel for delivering + updates from the Git repository to the end user. + + The project team releases new versions of the software and switches them + in the release channels. Git acts as the single source of truth while + Vault is used as a tool to verify operations as well as populate and + maintain the TUF repository. + + The user selects a release channel, continuously receives the latest + software version from the TUF repository, and uses it. + ''; + homepage = "https://trdl.dev"; + changelog = "https://github.com/werf/trdl/releases/tag/${src.rev}"; + license = licenses.asl20; + maintainers = with maintainers; [ azahi ]; + mainProgram = "trdl"; + }; +} |