-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathoverlay.nix
More file actions
88 lines (77 loc) · 2.64 KB
/
overlay.nix
File metadata and controls
88 lines (77 loc) · 2.64 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
final: prev: {
# generated using
#
# nix run nixpkgs#cabal2nix -- --maintainer wucke13 --subpath capDL-tool --dont-fetch-submodules https://github.com/seL4/capdl.git > pkgs/capdl.nix
capDL-tool =
let
hsPkgs = final.haskell.packages.ghc94.override {
overrides = final': prev': {
MissingH = final'.callHackage "MissingH" "1.5.0.1" { };
network = final'.callHackage "network" "3.1.4.0" { };
base-compat = final'.callHackage "base-compat" "0.12.3" { };
};
};
in
hsPkgs.callPackage pkgs/capDL-tool.nix { };
# Fetcher that uses Google's repo tool. Kinf of cursed, had some issues with determinism.
# Hopefully now it's fully deterministic.
# https://android.googlesource.com/tools/repo
fetchGoogleRepoTool = prev.callPackage pkgs/fetch-google-repo-tool.nix { };
# microkit
microkit-sdk = prev.callPackage pkgs/microkit-sdk.nix { };
# overlay python packages
pythonPackagesOverlays = (prev.pythonPackagesOverlays or [ ]) ++ [
(python-final: python-prev: {
guardonce = python-final.callPackage pkgs/guardonce.nix { };
pyfdt = python-final.callPackage pkgs/pyfdt.nix { };
concurrencytest = python-final.callPackage pkgs/concurrencytest.nix { };
seL4-deps = python-final.callPackage pkgs/seL4-deps.nix {
inherit (python-final) guardonce pyfdt;
};
camkes-deps = python-final.callPackage pkgs/camkes-deps.nix {
inherit (python-final) pyfdt seL4-deps concurrencytest;
};
})
];
# FIXME: Fixes i686 embedded compilation of newlib
# https://github.com/NixOS/nixpkgs/issues/404741
# https://github.com/NixOS/nixpkgs/issues/424403
# https://github.com/NixOS/nixpkgs/pull/442561
newlib = prev.newlib.overrideAttrs (
final': prev': {
patches =
prev'.patches
++ final.lib.lists.optional final.stdenv.targetPlatform.isx86_32 ./patches/0002-newlib-Fix-i386-libgloss-support.patch;
}
);
python3 =
let
self = prev.python3.override {
inherit self;
packageOverrides = prev.lib.composeManyExtensions final.pythonPackagesOverlays;
};
in
self;
python3Packages = final.python3.pkgs;
buildSeL4Kernel = final.lib.makeOverridable (
{
verifiedConfig ? null,
extraVerifiedConfigs ? [ ],
extraCmakeFlags ? [ ],
...
}@args:
(final.callPackage pkgs/seL4-kernel.nix {
inherit verifiedConfig;
inherit extraVerifiedConfigs;
inherit extraCmakeFlags;
}).overrideAttrs
(
old:
removeAttrs args [
"verifiedConfig"
"extraVerifiedConfigs"
"extraCmakeFlags"
]
)
);
}