about summary refs log tree commit diff
path: root/pkgs/by-name/r0
diff options
context:
space:
mode:
authorMarijan Petričević <marijan.petricevic94@gmail.com>2024-05-23 11:03:07 +0200
committerMarijan Petričević <marijan.petricevic94@gmail.com>2024-05-23 12:02:48 +0200
commit86f240d2a5327152b5b27fc61a76b2633eeb35ac (patch)
tree333d7108aafe1ba8318a7e39d884bfeb6fa5b98e /pkgs/by-name/r0
parent3305b2b25e4ae4baee872346eae133cf6f611783 (diff)
r0vm: init at 0.21.0
Diffstat (limited to 'pkgs/by-name/r0')
-rw-r--r--pkgs/by-name/r0/r0vm/package.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/by-name/r0/r0vm/package.nix b/pkgs/by-name/r0/r0vm/package.nix
new file mode 100644
index 0000000000000..caca6c16df07d
--- /dev/null
+++ b/pkgs/by-name/r0/r0vm/package.nix
@@ -0,0 +1,59 @@
+{ rustPlatform
+, stdenv
+, fetchFromGitHub
+, fetchurl
+, pkg-config
+, perl
+, openssl
+, lib
+, darwin
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "r0vm";
+  version = "0.21.0";
+  src = fetchFromGitHub {
+    owner = "risc0";
+    repo = "risc0";
+    rev = "v${version}";
+    sha256 = "sha256-BIQd6yX453v4w8aU+2awcngOE6t4oIf7BseVLgPG4Bw=";
+  };
+
+  buildAndTestSubdir = "risc0/r0vm";
+
+  nativeBuildInputs = [
+    pkg-config
+    perl
+  ];
+
+  buildInputs = [
+    openssl.dev
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  doCheck = false;
+
+  cargoHash = "sha256-OsxCIFgJiHfx52nRYRNLTB501RGKSBPQs2MQAs/BFfc=";
+
+  postPatch =
+    let
+      # see https://github.com/risc0/risc0/blob/v0.21.0/risc0/circuit/recursion/build.rs
+      sha256Hash = "3504a2542626acb974dea1ae5542c90c032c4ef42f230977f40f245442a1ec23";
+      recursionZkr = fetchurl {
+        name = "recursion_zkr.zip";
+        url = "https://risc0-artifacts.s3.us-west-2.amazonaws.com/zkr/${sha256Hash}.zip";
+        sha256 = "sha256:08zcl515890gyivhj8rgyi72q0qcr515bbm1vrsbkb164raa411m";
+      };
+    in
+    ''
+      ln -sf ${recursionZkr} ./risc0/circuit/recursion/src/recursion_zkr.zip
+    '';
+
+  meta = with lib; {
+    description = "RISC Zero zero-knowledge VM";
+    homepage = "https://github.com/risc0/risc0";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marijanp ];
+    mainProgram = "r0vm";
+  };
+}