depot/third_party/nixpkgs/pkgs/tools/misc/trdl-client/default.nix
Default email eaf6957cd3 Project import generated by Copybara.
GitOrigin-RevId: 4bb072f0a8b267613c127684e099a70e1f6ff106
2023-03-27 12:17:25 -07:00

70 lines
1.7 KiB
Nix

{ 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";
};
}