about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2022-01-01 15:10:32 +0100
committerGitHub <noreply@github.com>2022-01-01 15:10:32 +0100
commitdf2c21de512180f349fde25d938185cfbd02b2e6 (patch)
treefb718ac916ce297197344deea9ca82e5c157a097 /pkgs/applications/networking
parent8d93db29fec8ff448aa60e5b592e4f549b3beb97 (diff)
parentc830a37d102d4c4d160956a46ef8cea2b400fd57 (diff)
Merge pull request #142597 from azahi/werf
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
new file mode 100644
index 0000000000000..6883a33964c08
--- /dev/null
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, pkg-config
+, gpgme
+, glibc
+, lvm2
+, btrfs-progs
+}:
+
+buildGoModule rec {
+  pname = "werf";
+  version = "1.2.55";
+
+  src = fetchFromGitHub {
+    owner = "werf";
+    repo = "werf";
+    rev = "v${version}";
+    sha256 = "sha256-yLrCE0C8+LIXnBm4xG4q0vXtjTyau6mjkZ+/o/lbGhI=";
+  };
+  vendorSha256 = "sha256-xALB4QCIVpN0s1rR/fvHZFlFDf2trtG8yJKJLBRH4pw=";
+  proxyVendor = true;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ gpgme ]
+    ++ lib.optionals stdenv.isLinux [ glibc.static lvm2 btrfs-progs ];
+
+  # Flags are derived from
+  # https://github.com/werf/werf/blob/main/scripts/build_release_v3.sh
+  ldflags = [ "-s" "-w" "-X github.com/werf/werf/pkg/werf.Version=v${version}" ]
+    ++ lib.optionals stdenv.isLinux [
+    "-linkmode external"
+    "-extldflags=-static"
+  ];
+  tags = [ "dfrunmount" "dfssh" "containers_image_openpgp" ]
+    ++ lib.optionals stdenv.isLinux [
+    "exclude_graphdriver_devicemapper"
+    "netgo"
+    "no_devmapper"
+    "osusergo"
+    "static_build"
+  ];
+
+  subPackages = [ "cmd/werf" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/werf/werf";
+    description = "GitOps delivery tool";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ azahi ];
+  };
+}