about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/tezos-rust-libs
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tezos-rust-libs')
-rw-r--r--nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix60
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";
 }