python313Packages.traits: fix build (#373698)
[NixPkgs.git] / pkgs / development / interpreters / wasmer / default.nix
blob8c593d09cf35a2609ac8e58cdcf4e0a4983cf8b1
2   lib,
3   rustPlatform,
4   fetchFromGitHub,
5   llvmPackages,
6   libffi,
7   libxml2,
8   withLLVM ? true,
9   withSinglepass ? true,
12 rustPlatform.buildRustPackage rec {
13   pname = "wasmer";
14   version = "5.0.4";
16   src = fetchFromGitHub {
17     owner = "wasmerio";
18     repo = pname;
19     tag = "v${version}";
20     hash = "sha256-rP0qvSb9PxsTMAq0hpB+zdSTHvridyCVdukLUYxdao8=";
21   };
23   cargoHash = "sha256-6UwFfTHhAr56K7kDAp0dCSoCjZuCHdgw2bpOD1WdvYU=";
25   nativeBuildInputs = [
26     rustPlatform.bindgenHook
27   ];
29   buildInputs = lib.optionals withLLVM [
30     llvmPackages.llvm
31     libffi
32     libxml2
33   ];
35   # check references to `compiler_features` in Makefile on update
36   buildFeatures =
37     [
38       "cranelift"
39       "wasmer-artifact-create"
40       "static-artifact-create"
41       "wasmer-artifact-load"
42       "static-artifact-load"
43     ]
44     ++ lib.optional withLLVM "llvm"
45     ++ lib.optional withSinglepass "singlepass";
47   cargoBuildFlags = [
48     "--manifest-path"
49     "lib/cli/Cargo.toml"
50     "--bin"
51     "wasmer"
52   ];
54   env.LLVM_SYS_180_PREFIX = lib.optionalString withLLVM llvmPackages.llvm.dev;
56   # Tests are failing due to `Cannot allocate memory` and other reasons
57   doCheck = false;
59   meta = {
60     description = "Universal WebAssembly Runtime";
61     mainProgram = "wasmer";
62     longDescription = ''
63       Wasmer is a standalone WebAssembly runtime for running WebAssembly outside
64       of the browser, supporting WASI and Emscripten. Wasmer can be used
65       standalone (via the CLI) and embedded in different languages, running in
66       x86 and ARM devices.
67     '';
68     homepage = "https://wasmer.io/";
69     license = lib.licenses.mit;
70     platforms = with lib.platforms; linux ++ darwin;
71     maintainers = with lib.maintainers; [
72       Br1ght0ne
73       shamilton
74       nickcao
75     ];
76   };