16 src = fetchFromGitHub {
20 hash = "sha256-EVFNUOvczsgU0t2hOfl4e5bFH4ByxmRsIk2idI+uquQ=";
23 vendorHash = "sha256-eJT3ROX/cAslWMNUdlFU6eQE8o2GlAFKrBaT//Pde1o=";
27 subPackages = [ "cmd/werf" ];
29 nativeBuildInputs = [ installShellFiles ];
32 lib.optionals stdenv.hostPlatform.isLinux [ btrfs-progs ]
33 ++ lib.optionals stdenv.hostPlatform.isGnu [ stdenv.cc.libc.static ];
35 CGO_ENABLED = if stdenv.hostPlatform.isLinux then 1 else 0;
41 "-X github.com/werf/werf/v2/pkg/werf.Version=v${version}"
43 ++ lib.optionals (CGO_ENABLED == 1) [
50 "containers_image_openpgp"
56 ++ lib.optionals (CGO_ENABLED == 1) [
58 "exclude_graphdriver_devicemapper"
70 # Remove tests that require external services.
73 pkg/true_git/*test.go \
76 + lib.optionalString (CGO_ENABLED == 0) ''
77 # A workaround for osusergo.
82 installShellCompletion --cmd werf \
83 --bash <($out/bin/werf completion --shell=bash) \
84 --zsh <($out/bin/werf completion --shell=zsh)
87 passthru.tests.version = testers.testVersion {
89 command = "werf version";
94 description = "GitOps delivery tool";
97 The CLI tool gluing Git, Docker, Helm & Kubernetes with any CI system to
98 implement CI/CD and Giterminism.
100 homepage = "https://werf.io";
101 changelog = "https://github.com/werf/werf/releases/tag/${src.rev}";
102 license = licenses.asl20;
103 maintainers = with maintainers; [ azahi ];