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.
This commit is contained in:
Matthew Bauer
2019-04-23 21:48:57 -04:00
parent 6088a4793f
commit 9abff4af4f
19 changed files with 126 additions and 19 deletions
@@ -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 ];
};
}