From f3450e4220327610bfc9655cb927f3f6977d4d91 Mon Sep 17 00:00:00 2001 From: monyarm Date: Thu, 2 Feb 2023 14:32:09 +0200 Subject: [PATCH 1/3] zokrates initial commit --- packages/all-packages.nix | 4 ++++ packages/zokrates/default.nix | 19 +++++++++++++++++++ shell.nix | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 packages/zokrates/default.nix diff --git a/packages/all-packages.nix b/packages/all-packages.nix index 2740ffd3..b83672e4 100644 --- a/packages/all-packages.nix +++ b/packages/all-packages.nix @@ -103,6 +103,8 @@ }; polkadot = polkadot-generic {}; polkadot-fast = polkadot-generic {enableFastRuntime = true;}; + + zokrates = callPackage ./zokrates/default.nix {}; in { legacyPackages.metacraft-labs = rec { @@ -148,6 +150,8 @@ # Polkadot inherit polkadot polkadot-fast; + + inherit zokrates; } // lib.optionalAttrs hostPlatform.isLinux rec { wasmd = callPackage ./wasmd/default.nix {}; diff --git a/packages/zokrates/default.nix b/packages/zokrates/default.nix new file mode 100644 index 00000000..6285e8f4 --- /dev/null +++ b/packages/zokrates/default.nix @@ -0,0 +1,19 @@ +{ + lib, + fetchgit, + stdenv, + pkgs, +}: +stdenv.mkDerivation rec { + pname = "zokrates"; + version = "0.8.4"; + + src = fetchgit { + url = "https://github.com/Zokrates/ZoKrates.git"; + rev = "v${version}"; + sha256 = "sha256-DFfY6FVKvajqbS28xCvRh/Hf+Qi1cx2XZ34gboZG9XE="; + }; + + nativeBuildInputs = with pkgs; []; + buildInputs = with pkgs; []; +} diff --git a/shell.nix b/shell.nix index 8ac430f6..6f52e2d2 100644 --- a/shell.nix +++ b/shell.nix @@ -34,6 +34,8 @@ in metacraft-labs.polkadot metacraft-labs.polkadot-fast + + metacraft-labs.zokrates ] ++ lib.optionals (stdenv.hostPlatform.isx86) [ metacraft-labs.rapidsnark From c982bd3175e83713b966df3fdf885c0f78f53660 Mon Sep 17 00:00:00 2001 From: monyarm Date: Thu, 2 Feb 2023 15:02:47 +0200 Subject: [PATCH 2/3] zokrates working commit --- packages/zokrates/default.nix | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/zokrates/default.nix b/packages/zokrates/default.nix index 6285e8f4..73de63f3 100644 --- a/packages/zokrates/default.nix +++ b/packages/zokrates/default.nix @@ -1,19 +1,24 @@ { lib, fetchgit, - stdenv, pkgs, }: -stdenv.mkDerivation rec { - pname = "zokrates"; - version = "0.8.4"; +with pkgs; + rustPlatform.buildRustPackage rec { + pname = "zokrates"; + version = "0.8.4"; + cargoBuildFlags = "-p zokrates_cli"; - src = fetchgit { - url = "https://github.com/Zokrates/ZoKrates.git"; - rev = "v${version}"; - sha256 = "sha256-DFfY6FVKvajqbS28xCvRh/Hf+Qi1cx2XZ34gboZG9XE="; - }; + src = fetchgit { + url = "https://github.com/Zokrates/ZoKrates.git"; + rev = "${version}"; + sha256 = "sha256-++xQJjl1cK7PrqOJ8aiA8gmi+QSDB8jiKZ/bNbZnTyw="; + }; - nativeBuildInputs = with pkgs; []; - buildInputs = with pkgs; []; -} + cargoSha256 = "sha256-yXCgu07OCDbvatZlPdF2g3ek+0NxOmq31j8xFYbCmpI="; + + nativeBuildInputs = [pkg-config rust-bin.nightly."2022-07-01".default]; + PKG_CONFIG_PATH = "${openssl.dev}/lib/pkgconfig"; + + buildInputs = []; + } From d4449025098a52083e00438032bbd9a68eddc765 Mon Sep 17 00:00:00 2001 From: monyarm Date: Wed, 31 May 2023 16:14:34 +0300 Subject: [PATCH 3/3] update zokrates to 0.8.7; fix compilation --- packages/all-packages.nix | 3 ++- packages/default.nix | 22 +++++++++++++++++++++- packages/zokrates/default.nix | 17 ++++++++++++----- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/packages/all-packages.nix b/packages/all-packages.nix index b83672e4..3f1d51f5 100644 --- a/packages/all-packages.nix +++ b/packages/all-packages.nix @@ -9,6 +9,7 @@ inherit (self'.legacyPackages) rustPlatformStable + rustPlatformNightly craneLib-stable cardano-node cardano-cli @@ -104,7 +105,7 @@ polkadot = polkadot-generic {}; polkadot-fast = polkadot-generic {enableFastRuntime = true;}; - zokrates = callPackage ./zokrates/default.nix {}; + zokrates = callPackage ./zokrates/default.nix {rustPlatform = rustPlatformNightly."2022-07-01";}; in { legacyPackages.metacraft-labs = rec { diff --git a/packages/default.nix b/packages/default.nix index 9c9bee56..82be9143 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -13,6 +13,14 @@ extensions = ["rust-src"]; targets = ["wasm32-wasi" "wasm32-unknown-unknown"]; }; + rust-nightly = pkgs-extended.rust-bin.nightly.latest.default.override { + extensions = ["rust-src"]; + targets = ["wasm32-wasi" "wasm32-unknown-unknown"]; + }; + rust-nightly-2022-07-01 = pkgs-extended.rust-bin.nightly."2022-07-01".default.override { + extensions = ["rust-src"]; + targets = ["wasm32-wasi" "wasm32-unknown-unknown"]; + }; in { packages = self'.legacyPackages.metacraft-labs; @@ -24,12 +32,24 @@ nix2container = inputs'.nix2container.packages.nix2container; inherit (inputs'.cardano-node.packages) cardano-node cardano-cli; - inherit rust-stable craneLib-stable; + inherit rust-stable craneLib-stable rust-nightly; rustPlatformStable = pkgs.makeRustPlatform { rustc = rust-stable; cargo = rust-stable; }; + + rustPlatformNightly = + (pkgs.makeRustPlatform { + rustc = rust-nightly; + cargo = rust-nightly; + }) + // { + "2022-07-01" = pkgs.makeRustPlatform { + rustc = rust-nightly-2022-07-01; + cargo = rust-nightly-2022-07-01; + }; + }; }; }; } diff --git a/packages/zokrates/default.nix b/packages/zokrates/default.nix index 73de63f3..54114d1c 100644 --- a/packages/zokrates/default.nix +++ b/packages/zokrates/default.nix @@ -2,22 +2,29 @@ lib, fetchgit, pkgs, + rustPlatform, }: with pkgs; rustPlatform.buildRustPackage rec { pname = "zokrates"; - version = "0.8.4"; + version = "0.8.7"; cargoBuildFlags = "-p zokrates_cli"; src = fetchgit { url = "https://github.com/Zokrates/ZoKrates.git"; - rev = "${version}"; - sha256 = "sha256-++xQJjl1cK7PrqOJ8aiA8gmi+QSDB8jiKZ/bNbZnTyw="; + rev = "0.8.7"; + hash = "sha256-Ew7MYJg3Mxz05ngL0sZEuPijxzaHhliK9GIho1GTFr8="; }; - cargoSha256 = "sha256-yXCgu07OCDbvatZlPdF2g3ek+0NxOmq31j8xFYbCmpI="; + cargoLock = { + lockFile = "${src}/Cargo.lock"; + outputHashes = { + "ark-marlin-0.3.0" = "sha256-dc4StG8FEDrxVuo00M/uF6SRi5rpTx4I2PnmKtVJTLI="; + "phase2-0.2.2" = "sha256-eONGJEK6g2DN6dKL86vMVx/Md63u5E2Qzv4tpek0NzM="; + }; + }; - nativeBuildInputs = [pkg-config rust-bin.nightly."2022-07-01".default]; + nativeBuildInputs = [pkg-config]; PKG_CONFIG_PATH = "${openssl.dev}/lib/pkgconfig"; buildInputs = [];