Distro for Linux for WebAssembly
at main 52 lines 1.2 kB view raw
1{ 2 fetch, 3 run, 4 lib, 5 config, 6 clang, 7 sysroot, 8 gnumake, 9 lld, 10 llvm, 11 clang-host, 12}: 13 14let 15 archiveVersion = 16 version: 17 let 18 fragments = lib.splitVersion version; 19 major = lib.head fragments; 20 minor = lib.concatMapStrings (lib.fixedWidthNumber 2) (lib.tail fragments); 21 in 22 major + minor + "00"; 23in 24 25run 26 rec { 27 name = "sqlite3"; 28 version = "3.51.0"; 29 30 src = fetch.tar { 31 url = "https://sqlite.org/2025/sqlite-autoconf-${archiveVersion version}.tar.gz"; 32 hash = "sha256-QuJt/dlqouaxsb5ciLCIf5lZCT9lDWk8sC65w20UbKU="; 33 }; 34 35 path = [ 36 clang 37 gnumake 38 lld 39 llvm 40 ]; 41 } 42 '' 43 export CC_FOR_BUILD=${clang-host}/bin/clang 44 export CC=${clang}/bin/clang 45 export CFLAGS="--target=wasm32-unknown-linux-musl --sysroot=${sysroot} ${lib.optionalString config.debug "-g"} -matomics -mbulk-memory -DSQLITE_OMIT_WAL=1 -DSQLITE_MAX_MMAP_SIZE=0" 46 export LD=wasm-ld 47 export LDFLAGS="--target=wasm32-unknown-linux-musl --sysroot=${sysroot} -fuse-ld=lld" 48 export AR=llvm-ar 49 50 ./configure --host=wasm32-unknown-linux-musl --prefix=$out 51 make -j$NIX_BUILD_CORES install 52 ''