about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/compression/orz/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/compression/orz/default.nix b/pkgs/tools/compression/orz/default.nix
new file mode 100644
index 0000000000000..a0c9a4653ca52
--- /dev/null
+++ b/pkgs/tools/compression/orz/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, rust-cbindgen
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "orz";
+  version = "1.6.2";
+
+  src = fetchFromGitHub {
+    owner = "richox";
+    repo = "orz";
+    rev = "v${version}";
+    hash = "sha256-Yro+iXlg18Pj/AkU4IjvgA88xctK65yStfTilz+IRs0=";
+  };
+
+  cargoHash = "sha256-aUsRbIajBP6esjW7Wj7mqIkbYUCbZ2GgxjRXMPTnHYg=";
+
+  outputs = [ "out" "dev" "lib" ];
+
+  nativeBuildInputs = [
+    rust-cbindgen
+  ];
+
+  postInstall = ''
+    cbindgen -o $dev/include/orz.h
+
+    mkdir -p $lib
+    mv $out/lib "$lib"
+  '';
+
+  meta = with lib; {
+    description = "A high performance, general purpose data compressor written in rust";
+    homepage = "https://github.com/richox/orz";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ee5053358d9b4..31c1d04b44178 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10752,6 +10752,8 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  orz = callPackage ../tools/compression/orz { };
+
   os-prober = callPackage ../tools/misc/os-prober { };
 
   oshka = callPackage ../development/tools/oshka { };