diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix | 60 |
1 files changed, 37 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix b/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix index 67826f07a433..e59e5858eaac 100644 --- a/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix +++ b/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix @@ -1,37 +1,51 @@ -{ lib, fetchFromGitLab, rustPlatform }: +{ lib, fetchFromGitLab, stdenv, llvmPackages_12, cargo, libiconv }: -rustPlatform.buildRustPackage rec { +stdenv.mkDerivation rec { + version = "1.5"; pname = "tezos-rust-libs"; - version = "1.0"; - src = fetchFromGitLab { owner = "tezos"; repo = "tezos-rust-libs"; rev = "v${version}"; - sha256 = "1ffkzbvb0ls4wk9205g3xh2c26cmwnl68x43gh6dm9z4xsic94v5"; + sha256 = "sha256-SuCqDZDXmWdGI/GN+3nYcUk66jnW5FQQaeTB76/rvaw="; }; - cargoSha256 = "0dgyqfr3dvvdwdi1wvpd7v9j21740jy4zwrwiwknw7csb4bq9wfx"; + nativeBuildInputs = [ llvmPackages_12.llvm cargo ]; + propagatedBuildDeps = [ llvmPackages_12.libllvm ]; + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; - preBuild = '' - mkdir .cargo - mv cargo-config .cargo/config - ''; + buildPhase = '' + runHook preBuild + + cargo build \ + --target-dir target-librustzcash \ + --package librustzcash \ + --release + + cargo build \ + --target-dir target-wasmer \ + --package wasmer-c-api \ + --no-default-features \ + --features singlepass,cranelift,wat,middlewares,universal \ + --release - postInstall = '' - cp -r rustc-bls12-381/include $out/include - cp -r librustzcash/include $out - cp -r $out/lib $out/tmp - mkdir $out/lib/tezos-rust-libs - mv $out/tmp/ $out/lib/tezos-rust-libs/ + runHook postBuild ''; - doCheck = true; + installPhase = '' + runHook preInstall - meta = { - homepage = "https://gitlab.com/tezos/tezos-rust-libs"; - description = "Tezos: all rust dependencies and their dependencies"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.ulrikstrid ]; - }; + mkdir -p $out/lib/tezos-rust-libs/rust + cp "librustzcash/include/librustzcash.h" \ + "target-librustzcash/release/librustzcash.a" \ + "wasmer-2.3.0/lib/c-api/wasm.h" \ + "wasmer-2.3.0/lib/c-api/wasmer.h" \ + "target-wasmer/release/libwasmer.a" \ + "$out/lib/tezos-rust-libs" + cp -r "librustzcash/include/rust" "$out/lib/tezos-rust-libs" + + runHook postInstall + ''; + + cargoVendorDir = "./vendor"; } |