about summary refs log tree commit diff
diff options
context:
space:
mode:
authorfigsoda <figsoda@pm.me>2022-11-22 13:16:07 -0500
committerfigsoda <figsoda@pm.me>2022-11-22 13:16:07 -0500
commitda31e2c1b725de78d5fcf4125962e595ce4e3b16 (patch)
tree57208f5b3204910759ecf10ddd76fe5cee8b5ed4
parentccbe8c8072be4d872a440e2db64b710eac2ad3ab (diff)
typeshare: init at 1.0.0
-rw-r--r--pkgs/development/tools/rust/typeshare/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix1
2 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/tools/rust/typeshare/default.nix b/pkgs/development/tools/rust/typeshare/default.nix
new file mode 100644
index 0000000000000..2dc405b85134e
--- /dev/null
+++ b/pkgs/development/tools/rust/typeshare/default.nix
@@ -0,0 +1,27 @@
+{ lib, rustPlatform, fetchCrate }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "typeshare";
+  version = "1.0.0";
+
+  src = fetchCrate {
+    inherit version;
+    pname = "typeshare-cli";
+    sha256 = "sha256-KDmE5f9B2lNVbjdF8d81NTJIwpvPhsoLMA8w7iYIIl8=";
+  };
+
+  cargoSha256 = "sha256-b983tSue9WHkPrcIhp5QSjwj+lESURUYueebjXUWMJY=";
+
+  buildFeatures = [ "go" ];
+
+  postInstall = ''
+    ln -s $out/bin/typeshare{-cli,}
+  '';
+
+  meta = with lib; {
+    description = "Command Line Tool for generating language files with typeshare";
+    homepage = "https://github.com/1password/typeshare";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 48a0ec0c45a60..925732c0a143f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15245,6 +15245,7 @@ with pkgs;
     openssl = openssl_1_1;
   };
   rusty-man = callPackage ../development/tools/rust/rusty-man { };
+  typeshare = callPackage ../development/tools/rust/typeshare { };
 
   sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {};