summary refs log tree commit diff
path: root/pkgs/tools/security/sequoia-tool/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/security/sequoia-tool/default.nix')
-rw-r--r--pkgs/tools/security/sequoia-tool/default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/tools/security/sequoia-tool/default.nix b/pkgs/tools/security/sequoia-tool/default.nix
new file mode 100644
index 00000000000..00472c1a3aa
--- /dev/null
+++ b/pkgs/tools/security/sequoia-tool/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitLab, rustPlatform, darwin
+, pkgconfig, capnproto, clang, libclang, nettle, openssl, sqlite }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sequoia-tool";
+  version = "0.9.0";
+
+  src = fetchFromGitLab {
+    owner = "sequoia-pgp";
+    repo = "sequoia";
+    rev = "v${version}";
+    sha256 = "13dzwdzz33dy2lgnznsv8wqnw2501f2ggrkfwpqy5x6d1kgms8rj";
+  };
+
+  nativeBuildInputs = [ pkgconfig clang libclang ];
+  buildInputs = [ capnproto nettle openssl sqlite ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+
+  LIBCLANG_PATH = libclang + "/lib";
+
+  cargoBuildFlags = [ "--package=sequoia-tool" ];
+
+  cargoSha256 = "1zcnkpzcar3a2fk2rn3i3nb70b59ds9fpfa44f15r3aaxajsdhdi";
+
+  meta = with stdenv.lib; {
+    description = "A command-line frontend for Sequoia, an implementation of OpenPGP";
+    homepage = https://sequoia-pgp.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ minijackson ];
+    platforms = platforms.all;
+  };
+}