From 80e4a7cd8de40e749e98d6ea2c21a5fa4e1caedd Mon Sep 17 00:00:00 2001
From: Fabian Affolter <mail@fabian-affolter.ch>
Date: Sun, 5 May 2024 00:17:19 +0200
Subject: [PATCH] greenmask: init at 0.1.12

PostgreSQL database anonymization tool

https://github.com/GreenmaskIO/greenmask
---
 pkgs/by-name/gr/greenmask/package.nix | 50 +++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 pkgs/by-name/gr/greenmask/package.nix

diff --git a/pkgs/by-name/gr/greenmask/package.nix b/pkgs/by-name/gr/greenmask/package.nix
new file mode 100644
index 000000000000..3009c69f40c2
--- /dev/null
+++ b/pkgs/by-name/gr/greenmask/package.nix
@@ -0,0 +1,50 @@
+{
+  lib,
+  buildGoModule,
+  coreutils,
+  fetchFromGitHub,
+}:
+
+buildGoModule rec {
+  pname = "greenmask";
+  version = "0.1.12";
+
+  src = fetchFromGitHub {
+    owner = "GreenmaskIO";
+    repo = "greenmask";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-RotNZnmOYZfrukg0OPGnxCf0nbspqUdSJ53P9cmFlOA=";
+  };
+
+  vendorHash = "sha256-WCsZ5DU+mZk9M1lldBY4q2PXI8DDFytPojzGJ6wqXsg=";
+
+  subPackages = [ "cmd/greenmask/" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=github.com/greenmaskio/greenmask/cmd/greenmask/cmd.Version=${version}"
+  ];
+
+  nativeCheckInputs = [ coreutils ];
+
+  preCheck = ''
+    substituteInPlace internal/db/postgres/transformers/custom/dynamic_definition_test.go \
+      --replace-fail "/bin/echo" "${coreutils}/bin/echo"
+
+    substituteInPlace tests/integration/greenmask/main_test.go \
+      --replace-fail "TestTocLibrary" "SkipTestTocLibrary" \
+      --replace-fail "TestGreenmaskBackwardCompatibility" "SkipTestGreenmaskBackwardCompatibility"
+    substituteInPlace tests/integration/storages/main_test.go \
+      --replace-fail "TestS3Storage" "SkipTestS3Storage"
+  '';
+
+  meta = with lib; {
+    description = "PostgreSQL database anonymization tool";
+    homepage = "https://github.com/GreenmaskIO/greenmask";
+    changelog = "https://github.com/GreenmaskIO/greenmask/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "greenmask";
+  };
+}