forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathflake.nix
66 lines (60 loc) · 1.7 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
};
outputs =
{ self, nixpkgs }:
{
packages =
nixpkgs.lib.genAttrs
[
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
]
(
system:
let
pkgs = nixpkgs.legacyPackages.${system};
llvm = pkgs.llvmPackages_19;
in
{
default = pkgs.stdenvNoCC.mkDerivation {
pname = "linux";
version = "6.1.69-wasm";
src = ./.;
nativeBuildInputs = with pkgs; [
perl
bc
bison
flex
pkg-config
ncurses
dtc
llvm.clang-unwrapped
llvm.lld
llvm.libllvm
wabt
esbuild
typescript
just
miniserve
];
HOSTCC = "${llvm.clang}/bin/clang";
enableParallelBuilding = true;
configurePhase = "make HOSTCC=$HOSTCC -j$NIX_BUILD_CORES defconfig";
buildPhase = "
# this is a horrible dirty hack but there's some non-deterministic build failure
for i in $(seq 1 3); do
if make HOSTCC=$HOSTCC -j$NIX_BUILD_CORES -C tools/wasm; then
break
fi
done
";
installPhase = ''cp -r tools/wasm/dist $out'';
};
}
);
};
}