From 6dc4cc15d2de584c2eff24c4e8db855d8cdf1142 Mon Sep 17 00:00:00 2001 From: Michael Franzl Date: Sat, 19 Jul 2025 19:24:02 +0200 Subject: [PATCH] fix: For compatibilty with WebAssembly/wasi-sdk, adapt sysroot path --- wasi-libc.nix | 14 +++++++++++--- wasm-libcxx.nix | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/wasi-libc.nix b/wasi-libc.nix index 7bb75ce..771d611 100644 --- a/wasi-libc.nix +++ b/wasi-libc.nix @@ -1,8 +1,16 @@ { pkgs }: +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 with pkgs; stdenv.mkDerivation rec { name = "wasi-libc"; version = "21"; + src = fetchFromGitHub { owner = "WebAssembly"; repo = "wasi-libc"; @@ -25,8 +33,8 @@ stdenv.mkDerivation rec { "CC=${wasm-llvm}/bin/clang" "NM=${wasm-llvm}/bin/nm" "AR=${wasm-llvm}/bin/ar" - "SYSROOT_LIB=${builtins.placeholder "out"}/lib" - "SYSROOT_INC=${builtins.placeholder "dev"}/include" - "SYSROOT_SHARE=${builtins.placeholder "share"}/share" + "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}" ]; } diff --git a/wasm-libcxx.nix b/wasm-libcxx.nix index 3d010dc..1d56d9a 100644 --- a/wasm-libcxx.nix +++ b/wasm-libcxx.nix @@ -52,8 +52,8 @@ stdenv.mkDerivation rec { -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \ -DUNIX:BOOL=ON \ --debug-trycompile \ - -DCMAKE_SYSROOT_COMPILE=${wasi-libc.dev} \ - -DCMAKE_SYSROOT_LINK=${wasi-libc} \ + -DCMAKE_SYSROOT_COMPILE=${wasi-libc.dev}/share/wasi-sysroot/ \ + -DCMAKE_SYSROOT_LINK=${wasi-libc}/share/wasi-sysroot \ -DCMAKE_CXX_FLAGS="-fno-exceptions" \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ ${src}/runtimes