This repository has no description
1{
2 fetch,
3 run,
4 config,
5 lib,
6
7 bc,
8 bison,
9 clang-host ? clang,
10 clang,
11 esbuild,
12 findutils,
13 flex,
14 gnumake,
15 lld,
16 llvm,
17 perl,
18 rsync,
19 wabt,
20}:
21
22run
23 {
24 name = "linux";
25 src = fetch.github {
26 owner = "tombl";
27 repo = "linux";
28 rev = "refs/heads/wasm";
29 hash = "sha256-enDcZb3V22I8JQVw6HPioo0Yzj6zScaQFagARDxy42k=";
30 };
31 path = [
32 bc
33 bison
34 clang
35 esbuild
36 findutils
37 flex
38 gnumake
39 lld
40 llvm
41 perl
42 rsync
43 wabt
44 ];
45 outputs = [
46 "out"
47 "site"
48 "headers"
49 ];
50 }
51 ''
52 mkdir -p $site
53 cp -r tools/wasm/{run.js,public/*,src} $site
54 ln -sf $out $site/dist
55
56 make() {
57 command make -j$NIX_BUILD_CORES HOSTCC=${clang-host}/bin/clang TSC=true "$@"
58 }
59
60 test -f .config || make defconfig ${lib.optionalString config.debug "debug.config"}
61
62 # this is a horrible dirty hack but there's some non-deterministic build failure
63 for i in $(seq 1 3); do
64 if make -C tools/wasm; then
65 break
66 fi
67 done
68
69 cp -r tools/wasm/dist $out
70
71 make headers_install INSTALL_HDR_PATH=$headers
72 ''