about summary refs log tree commit diff
path: root/pkgs/development/libraries/wasilibc
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-01-29 21:01:24 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2019-04-23 21:48:57 -0400
commit9abff4af4f07c16aecd89bf82051afbc3228d6fd (patch)
tree7a8d8fe316db1636819a43a28192da740ea835c8 /pkgs/development/libraries/wasilibc
parent6088a4793f2a83921b197a9185034934fcd96d02 (diff)
wasm: init cross target
Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
with a WebAssembly toolchain.

stdenv/cross: use static overlay on isWasm

isWasm doesn’t make sense dynamically linked.
Diffstat (limited to 'pkgs/development/libraries/wasilibc')
-rw-r--r--pkgs/development/libraries/wasilibc/default.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix
new file mode 100644
index 0000000000000..f783540797ce8
--- /dev/null
+++ b/pkgs/development/libraries/wasilibc/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation {
+  name = "wasilibc-20190413";
+  src = fetchFromGitHub {
+    owner = "CraneStation";
+    repo = "wasi-sysroot";
+    rev = "079d7bda78bc0ad8f69c1594444b54786545ce57";
+    sha256 = "09s906bc9485wzkgibnpfh0mii7jkldzr1a6g8k7ch0si8rshi5r";
+  };
+  makeFlags = [
+    "WASM_CC=${stdenv.cc.targetPrefix}cc"
+    "WASM_NM=${stdenv.cc.targetPrefix}nm"
+    "WASM_AR=${stdenv.cc.targetPrefix}ar"
+    "INSTALL_DIR=${placeholder "out"}"
+  ];
+
+  postInstall = ''
+    mv $out/lib/*/* $out/lib
+  '';
+
+  meta = {
+    description = "WASI libc implementation for WebAssembly";
+    homepage    = "https://wasi.dev";
+    platforms   = lib.platforms.wasi;
+    maintainers = [ lib.maintainers.matthewbauer ];
+  };
+}