Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
310 changes: 101 additions & 209 deletions flake.lock

Large diffs are not rendered by default.

159 changes: 78 additions & 81 deletions packages/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -147,94 +147,91 @@
};
in
{
legacyPackages.metacraft-labs =
rec {
gaiad = callPackage ./gaiad { };
cosmos-theta-testnet = callPackage ./cosmos-theta-testnet { inherit gaiad; };
blst = callPackage ./blst { };

circom = callPackage ./circom/default.nix { craneLib = craneLib-fenix-stable; };
circ = callPackage ./circ/default.nix { craneLib = craneLib-fenix-stable; };

emscripten = pkgs.emscripten.overrideAttrs (_old: {
postInstall = ''
pushd $TMPDIR
echo 'int __main_argc_argv( int a, int b ) { return 42; }' >test.c
for MEM in "-s ALLOW_MEMORY_GROWTH" ""; do
for LTO in -flto ""; do
# FIXME: change to the following, once binaryen is updated to
# >= v119 in Nixpkgs:
# for OPT in "-O2" "-O3" "-Oz" "-Os"; do
for OPT in "-O2"; do
$out/bin/emcc $MEM $LTO $OPT -s WASM=1 -s STANDALONE_WASM test.c
done
legacyPackages.metacraft-labs = rec {
gaiad = callPackage ./gaiad { };
cosmos-theta-testnet = callPackage ./cosmos-theta-testnet { inherit gaiad; };
blst = callPackage ./blst { };

circom = callPackage ./circom/default.nix { craneLib = craneLib-fenix-stable; };
circ = callPackage ./circ/default.nix { craneLib = craneLib-fenix-stable; };

emscripten = pkgs.emscripten.overrideAttrs (_old: {
postInstall = ''
pushd $TMPDIR
echo 'int __main_argc_argv( int a, int b ) { return 42; }' >test.c
for MEM in "-s ALLOW_MEMORY_GROWTH" ""; do
for LTO in -flto ""; do
# FIXME: change to the following, once binaryen is updated to
# >= v119 in Nixpkgs:
# for OPT in "-O2" "-O3" "-Oz" "-Os"; do
for OPT in "-O2"; do
$out/bin/emcc $MEM $LTO $OPT -s WASM=1 -s STANDALONE_WASM test.c
done
done
'';
});

go-opera = callPackage ./go-opera/default.nix { };

circom_runtime = callPackage ./circom_runtime/default.nix { };

# Polkadot
inherit polkadot polkadot-fast;

avalanche-cli = callPackage ./avalanche-cli/default.nix {
inherit blst;
};

inherit corepack-shims;
done
'';
});

go-opera = callPackage ./go-opera/default.nix { };

circom_runtime = callPackage ./circom_runtime/default.nix { };

# Polkadot
inherit polkadot polkadot-fast;

inherit (inputs'.nixpkgs-unstable.legacyPackages) avalanchego;

inherit corepack-shims;

eradicate2 = callPackage ./eradicate2 { };
}
// lib.optionalAttrs hostPlatform.isLinux rec {
kurtosis = callPackage ./kurtosis/default.nix { };

wasmd = callPackage ./wasmd/default.nix { };

# Solana
# solana-validator = callPackage ./solana-validator {};

# inherit elrond-go elrond-proxy-go;

# EOS / Antelope
leap = callPackage ./leap/default.nix { };
eos-vm = callPackage ./eos-vm/default.nix { };
cdt = callPackage ./cdt/default.nix { };

zkwasm = callPackage ./zkwasm/default.nix args-zkVM;
jolt-guest-rust = callPackage ./jolt-guest-rust/default.nix args-zkVM-rust;
jolt = callPackage ./jolt/default.nix (args-zkVM // { inherit jolt-guest-rust; });
zkm-rust = callPackage ./zkm-rust/default.nix args-zkVM-rust;
zkm = callPackage ./zkm/default.nix (args-zkVM // { inherit zkm-rust; });
nexus = callPackage ./nexus/default.nix args-zkVM;
sp1-rust = callPackage ./sp1-rust/default.nix args-zkVM-rust;
sp1 = callPackage ./sp1/default.nix (args-zkVM // { inherit sp1-rust; });
risc0-rust = callPackage ./risc0-rust/default.nix args-zkVM-rust;
risc0 = callPackage ./risc0/default.nix (args-zkVM // { inherit risc0-rust; });
}
// lib.optionalAttrs hostPlatform.isx86 rec {
inherit
zqfield-bn254
ffiasm
ffiasm-src
rapidsnark
;

eradicate2 = callPackage ./eradicate2 { };
}
// lib.optionalAttrs hostPlatform.isLinux rec {
kurtosis = callPackage ./kurtosis/default.nix { };

wasmd = callPackage ./wasmd/default.nix { };

# Solana
# solana-validator = callPackage ./solana-validator {};

# inherit elrond-go elrond-proxy-go;

# EOS / Antelope
leap = callPackage ./leap/default.nix { };
eos-vm = callPackage ./eos-vm/default.nix { };
cdt = callPackage ./cdt/default.nix { };

zkwasm = callPackage ./zkwasm/default.nix args-zkVM;
jolt-guest-rust = callPackage ./jolt-guest-rust/default.nix args-zkVM-rust;
jolt = callPackage ./jolt/default.nix (args-zkVM // { inherit jolt-guest-rust; });
zkm-rust = callPackage ./zkm-rust/default.nix args-zkVM-rust;
zkm = callPackage ./zkm/default.nix (args-zkVM // { inherit zkm-rust; });
nexus = callPackage ./nexus/default.nix args-zkVM;
sp1-rust = callPackage ./sp1-rust/default.nix args-zkVM-rust;
sp1 = callPackage ./sp1/default.nix (args-zkVM // { inherit sp1-rust; });
risc0-rust = callPackage ./risc0-rust/default.nix args-zkVM-rust;
risc0 = callPackage ./risc0/default.nix (args-zkVM // { inherit risc0-rust; });
}
// lib.optionalAttrs hostPlatform.isx86 rec {
inherit cardano graphql;
}
// lib.optionalAttrs (hostPlatform.isx86 && hostPlatform.isLinux) rec {
pistache = callPackage ./pistache/default.nix { };
inherit zqfield-bn254 rapidsnark-gpu;
rapidsnark-server = callPackage ./rapidsnark-server/default.nix {
inherit
zqfield-bn254
ffiasm
ffiasm-src
zqfield-bn254
rapidsnark
pistache
;

inherit cardano graphql;
}
// lib.optionalAttrs (hostPlatform.isx86 && hostPlatform.isLinux) rec {
pistache = callPackage ./pistache/default.nix { };
inherit zqfield-bn254 rapidsnark-gpu;
rapidsnark-server = callPackage ./rapidsnark-server/default.nix {
inherit
ffiasm
zqfield-bn254
rapidsnark
pistache
;
};
};
};
};
}
40 changes: 0 additions & 40 deletions packages/avalanche-cli/default.nix

This file was deleted.

13 changes: 6 additions & 7 deletions packages/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,12 @@
cardano-node = builtins.getFlake "github:input-output-hk/cardano-node/f0b4ac897dcbefba9fa0d247b204a24543cf55f6";

reexportedPackages = {
ethereum_nix =
{
# geth = inputs'.ethereum_nix.packages.geth; # TODO: re-enable when flake show/check passes
}
// lib.optionalAttrs (pkgs.hostPlatform.isx86 && pkgs.hostPlatform.isLinux) {
# nimbus = inputs'.ethereum_nix.packages.nimbus-eth2; # TODO: re-enable when flake show/check passes
};
ethereum_nix = {
# geth = inputs'.ethereum_nix.packages.geth; # TODO: re-enable when flake show/check passes
}
// lib.optionalAttrs (pkgs.hostPlatform.isx86 && pkgs.hostPlatform.isLinux) {
# nimbus = inputs'.ethereum_nix.packages.nimbus-eth2; # TODO: re-enable when flake show/check passes
};
# noir = {
# nargo = inputs'.noir.packages.nargo;
# noirc_abi_wasm = inputs'.noir.packages.noirc_abi_wasm;
Expand Down
3 changes: 2 additions & 1 deletion packages/ffiasm/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ stdenv.mkDerivation rec {
gtest
gmp
zqfield-bn254
] ++ openmp;
]
++ openmp;
checkPhase = ''
function run_test {
echo -e "┌─── \033[1mstart \033[34m$1\033[0m ────╌╌╌"
Expand Down
3 changes: 2 additions & 1 deletion packages/rapidsnark-gpu/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
gmp
libsodium
cudaPackages.cudatoolkit
] ++ ffiasm.passthru.openmp;
]
++ ffiasm.passthru.openmp;

buildPhase = ''
mkdir -p $out/bin
Expand Down
3 changes: 2 additions & 1 deletion packages/rapidsnark/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
nlohmann_json
gmp
libsodium
] ++ ffiasm.passthru.openmp;
]
++ ffiasm.passthru.openmp;

buildPhase = ''
mkdir -p $out/bin
Expand Down
18 changes: 9 additions & 9 deletions packages/risc0-rust/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@
}:
stdenv.mkDerivation rec {
name = "risc0-rust";
version = "1.81.0";
version = "1.88.0";

src = fetchGitHubReleaseAsset {
owner = "risc0";
repo = "rust";
tag = "r0.${version}";
asset = "rust-toolchain-x86_64-unknown-linux-gnu.tar.gz";
hash = "sha256-hyqx546hXs2bN5GYbPJfSr/paKopGDK6EmJZ1Fq7Y60=";
};

nativeBuildInputs = [
autoPatchelfHook
Expand All @@ -32,12 +40,4 @@ stdenv.mkDerivation rec {

runHook postInstall
'';

src = fetchGitHubReleaseAsset {
owner = "risc0";
repo = "rust";
tag = "r0.${version}";
asset = "rust-toolchain-x86_64-unknown-linux-gnu.tar.gz";
hash = "sha256-CzeZKT5Ubjk9nZZ2I12ak5Vnv2kFQNuueyzAF+blprU=";
};
}
53 changes: 36 additions & 17 deletions packages/risc0/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
lib,
risc0-rust,
rustFromToolchainFile,
craneLib,
Expand All @@ -16,16 +17,20 @@ let
# https://github.com/risc0/risc0/blob/main/risc0/circuit/recursion/build.rs
recursion-zkr =
let
hash' = "1b80b77894fbd489262e327478d02e83262c4bf189b0873fda3f0c85cdbfc8d1";
hash = "744b999f0a35b3c86753311c7efb2a0054be21727095cf105af6ee7d3f4d8849";
in
fetchurl rec {
url = "https://risc0-artifacts.s3.us-west-2.amazonaws.com/zkr/${hash'}.zip";
hash = "sha256-G4C3eJT71IkmLjJ0eNAugyYsS/GJsIc/2j8Mhc2/yNE=";
fetchurl {
url = "https://risc0-artifacts.s3.us-west-2.amazonaws.com/zkr/${hash}.zip";
hash = builtins.convertHash {
inherit hash;
toHashFormat = "sri";
hashAlgo = "sha256";
};
};

commonArgs = rec {
pname = "risc0";
version = "unstable-2025-03-12";
version = "3.0.3";

nativeBuildInputs = [
autoPatchelfHook
Expand All @@ -37,35 +42,49 @@ let
src = fetchFromGitHub {
owner = "risc0";
repo = "risc0";
rev = "2db67acadc4e1283f08993b5dcfcfc7afba6bbbd";
hash = "sha256-eMFoz821x2NjibbTPF/i6rqRbqZ4g6njVDHc/udIDnA=";
rev = "v${version}";
hash = "sha256-39vVvvGcWbQOBm8G08GvjpSklMCjcGNq2+UabfU1+gs=";
};
};

rust-toolchain = rustFromToolchainFile {
dir = commonArgs.src;
sha256 = "sha256-s1RPtyvDGJaX/BisLT+ifVfuhDT1nZkZ1NcK8sbwELM=";
sha256 = "sha256-+9FmLhAOezBZCOziO0Qct1NOrfpjNsXxc/8I0c7BdKE=";
};
crane = craneLib.overrideToolchain rust-toolchain;
cargoArtifacts = crane.buildDepsOnly commonArgs;
in
crane.buildPackage (
commonArgs
// (installSourceAndCargo rust-toolchain)
// rec {
// {
inherit cargoArtifacts;

postPatch = ''
# Replace usages of `Command::new("rustup")` with the correct value
# which should be used
sed -i '27d;28iPathBuf::from(r"${risc0-rust}")' rzup/src/paths.rs
# NOTE: leave ability to change comments without modifying the bash code, avoiding unneeded rebuilds
postPatch = lib.concatStringsSep "\n" [
# Replace references to the normal installations of `rustup` and `risc0`
# As per <https://github.com/risc0/risc0/blob/14b5d588dd01cf4f7ba804d8bb0a61264e6ae2c6/rzup/src/env.rs#L213>,
# used in places like <https://github.com/risc0/risc0/blob/14b5d588dd01cf4f7ba804d8bb0a61264e6ae2c6/rzup/src/components.rs#L139>
# bash
''
RISC0_PATHBUF='PathBuf::from(r#"'"${risc0-rust}"'"#)'
sed -i \
-e '215s|home_dir.join(".risc0")|'"$RISC0_PATHBUF"'|' \
-e '219s|home_dir.join(".rustup")|'"$RISC0_PATHBUF"'|' \
./rzup/src/env.rs
''

# Fix starter template
sed -i 's|{{ risc0_build }}|path = "'$out'"|' risc0/cargo-risczero/templates/rust-starter/methods/Cargo-toml
sed -i 's|{{ risc0_zkvm }}|path = "'$out'"|' risc0/cargo-risczero/templates/rust-starter/host/Cargo-toml
'';
# bash
''
sed -i 's|{{ risc0_build }}|path = "'$out'"|' ./risc0/cargo-risczero/templates/rust-starter/methods/Cargo-toml
sed -i 's|{{ risc0_zkvm }}|path = "'$out'"|' ./risc0/cargo-risczero/templates/rust-starter/host/Cargo-toml
''
];

preBuild = ''
export RECURSION_SRC_PATH="${recursion-zkr}" RUSTFLAGS="$RUSTFLAGS -A dead_code"
export RECURSION_SRC_PATH="${recursion-zkr}"
export RUSTFLAGS="$RUSTFLAGS -A dead_code"
'';

cargoBuildCommand = "cargo build --release -p risc0-zkvm -p risc0-build -p cargo-risczero --features unstable";
Expand Down
Loading