-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
executable file
·177 lines (159 loc) · 4.22 KB
/
shell.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# Copyright 2020, Arm Limited
# Copyright 2022, Kry10 Limited
#
# SPDX-License-Identifier: MIT
with import ./lib.nix;
let
pkgs = default_pkgs {};
legacy_pkgs = default_pkgs (legacy_pkgs_config pkgs);
in with pkgs; let
cross_tools = import ./cross-tools.nix;
# Adapted from https://gitlab.com/arm-research/security/icecap/icecap
python-with-my-packages = python3.withPackages (python-pkgs: with python-pkgs;
let
autopep8_1_4_3 = buildPythonPackage rec {
pname = "autopep8";
version = "1.4.3";
src = fetchPypi {
inherit pname version;
sha256 = "13140hs3kh5k13yrp1hjlyz2xad3xs1fjkw1811gn6kybcrbblik";
};
propagatedBuildInputs = [
pycodestyle
];
doCheck = false;
checkInputs = [ glibcLocales ];
LC_ALL = "en_US.UTF-8";
};
cmake-format = buildPythonPackage rec {
pname = "cmake_format";
version = "0.4.5";
src = fetchPypi {
inherit pname version;
sha256 = "0nl78yb6zdxawidp62w9wcvwkfid9kg86n52ryg9ikblqw428q0n";
};
propagatedBuildInputs = [
jinja2
pyyaml
];
doCheck = false;
};
guardonce = buildPythonPackage rec {
pname = "guardonce";
version = "2.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "0sr7c1f9mh2vp6pkw3bgpd7crldmaksjfafy8wp5vphxk98ix2f7";
};
buildInputs = [
nose
];
};
pyfdt = buildPythonPackage rec {
pname = "pyfdt";
version = "0.3";
src = fetchPypi {
inherit pname version;
sha256 = "1w7lp421pssfgv901103521qigwb12i6sk68lqjllfgz0lh1qq31";
};
};
sel4-deps = buildPythonPackage rec {
pname = "sel4-deps";
version = "0.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "09xjv4gc9cwanxdhpqg2sy2pfzn2rnrnxgjdw93nqxyrbpdagd5r";
};
postPatch = ''
substituteInPlace setup.py --replace bs4 beautifulsoup4
'';
propagatedBuildInputs = [
autopep8_1_4_3
beautifulsoup4
cmake-format
future
guardonce
jinja2
jsonschema
libarchive-c
lxml
pexpect
ply
psutil
pyaml
pyelftools
pyfdt
setuptools
six
sh
];
};
python-subunit = buildPythonPackage rec {
pname = "python-subunit";
version = "1.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-BCA5koEg+/OS6MmD1g89iuG4j5Cp+P1xiN3ZwmytHkg=";
};
propagatedBuildInputs = [
extras
testtools
];
};
concurrencytest = buildPythonPackage rec {
pname = "concurrencytest";
version = "0.1.2";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-ZKnFtc25lJo3X8xeEUqCGA9qB8waAm05ViMK7PmAwtg=";
};
propagatedBuildInputs = [
python-subunit
];
};
orderedset = buildPythonPackage rec {
pname = "orderedset";
version = "2.0.3";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-svXM+1qG57Oz3fGLKXecwYskZTq/nW2kvr7PM3gKbik=";
};
doCheck = false;
};
camkes-deps = buildPythonPackage rec {
pname = "camkes-deps";
version = "0.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-2Mfu3QLrzVjhvKM7P7T5br53xzeAG4H4uaY2dVtil4c=";
};
propagatedBuildInputs = [
aenum
concurrencytest
hypothesis
orderedset
plyplus
pycparser
sel4-deps
simpleeval
sortedcontainers
];
};
in [ camkes-deps ]);
# Checks don't work on macOS
dtc = pkgs.dtc.overrideAttrs (_: { doCheck = buildPlatform.isLinux; });
misc_tools = [
ninja
cmakeCurses
python-with-my-packages
libxml2
dtc
moreutils
cpio
strip-nondeterminism
clang.cc
legacy_pkgs.mlton
];
in mkShell {
packages = cross_tools ++ misc_tools;
}