2024-05-02 17:38:17 +02:00
|
|
|
{ pkgs }:
|
2025-07-19 19:24:02 +02:00
|
|
|
let
|
|
|
|
|
# https://github.com/WebAssembly/wasi-sdk/blob/wasi-sdk-26/cmake/wasi-sdk-sysroot.cmake#L29
|
|
|
|
|
sysroot_path = "share/wasi-sysroot";
|
|
|
|
|
|
|
|
|
|
# https://github.com/WebAssembly/wasi-sdk/blob/wasi-sdk-26/wasi-sdk.cmake#L10
|
|
|
|
|
triple = "wasm32-wasi";
|
|
|
|
|
in
|
2024-05-02 17:38:17 +02:00
|
|
|
with pkgs;
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
|
name = "wasi-libc";
|
|
|
|
|
version = "21";
|
2025-07-19 19:24:02 +02:00
|
|
|
|
2024-05-02 17:38:17 +02:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
|
owner = "WebAssembly";
|
|
|
|
|
repo = "wasi-libc";
|
|
|
|
|
rev = "refs/tags/wasi-sdk-21";
|
|
|
|
|
hash = "sha256-mQp54JYb3bsmyQy5SByPFu9uxhKDy/XXF7lF9bEUfOo=";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
wasm-llvm = import ./wasm-llvm.nix { inherit pkgs; };
|
|
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
|
"out"
|
|
|
|
|
"dev"
|
|
|
|
|
"share"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
dontInstall = true;
|
|
|
|
|
dontFixup = true;
|
|
|
|
|
|
|
|
|
|
makeFlags = [
|
|
|
|
|
"CC=${wasm-llvm}/bin/clang"
|
|
|
|
|
"NM=${wasm-llvm}/bin/nm"
|
|
|
|
|
"AR=${wasm-llvm}/bin/ar"
|
2025-07-19 19:24:02 +02:00
|
|
|
"SYSROOT_LIB=${builtins.placeholder "out"}/${sysroot_path}/lib/${triple}"
|
|
|
|
|
"SYSROOT_INC=${builtins.placeholder "dev"}/${sysroot_path}/include/${triple}"
|
|
|
|
|
"SYSROOT_SHARE=${builtins.placeholder "share"}/${sysroot_path}/share/${triple}"
|
2024-05-02 17:38:17 +02:00
|
|
|
];
|
|
|
|
|
}
|