-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathshell.nix
More file actions
108 lines (106 loc) · 2.33 KB
/
shell.nix
File metadata and controls
108 lines (106 loc) · 2.33 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{ pkgs ? import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/master.tar.gz";
}) {}
}:
let
ocamlPackages = pkgs.ocamlPackages.overrideScope (self: super: {
ocaml = (super.ocaml.overrideAttrs {
doCheck = false;
}).override {
#aflSupport = true;
#flambdaSupport = true;
#framePointerSupport = true;
#spaceTimeSupport = true;
};
landmarks = super.landmarks.overrideAttrs (old: {
src = fetchGit {
url = "https://github.com/hra687261/landmarks";
rev = "17be3567a63650090f9cf94654fcc8d99f946e27";
};
});
landmarks-ppx = super.landmarks-ppx.overrideAttrs (old: {
src = fetchGit {
url = "https://github.com/hra687261/landmarks";
rev = "17be3567a63650090f9cf94654fcc8d99f946e27";
};
meta.broken = false;
});
smtml = super.smtml.overrideAttrs (old: {
src = fetchGit {
url = "https://github.com/formalsec/smtml";
rev = "3d19685d6859df7695eb697571b2a8ec41638068";
};
});
});
tinygo = pkgs.tinygo.overrideAttrs (old: {
doCheck = false;
});
in
pkgs.mkShell {
name = "owi-dev-shell";
dontDetectOcamlConflicts = true;
nativeBuildInputs = with ocamlPackages; [
dune_3
findlib
bisect_ppx
pkgs.framac
# landmarks
# landmarks-ppx
pkgs.mdbook
pkgs.mdbook-plugins
mdx
menhir
merlin
ocaml
ocamlformat
#ocaml-lsp
ocp-browser
ocp-index
ocb
odoc
sedlex
# unwrapped because wrapped tries to enforce a target and the build script wants to do its own thing
pkgs.llvmPackages.clang-unwrapped
# lld + llc isn't included in unwrapped, so we pull it in here
pkgs.llvmPackages.bintools-unwrapped
tinygo
pkgs.rustc
pkgs.zig
pkgs.makeWrapper
];
buildInputs = with ocamlPackages; [
bos
cmdliner
crowbar
digestif
dolmen_type
domainpc
dune-build-info
dune-site
hc
integers
menhirLib
ocamlgraph
ocaml_intrinsics
patricia-tree
prelude
processor
scfg
smtml
symex
synchronizer
uutf
xmlm
yojson
z3
zarith
];
shellHook = ''
export PATH=$PATH:${pkgs.lib.makeBinPath [
pkgs.llvmPackages.bintools-unwrapped
pkgs.llvmPackages.clang-unwrapped
pkgs.rustc
pkgs.zig
]}
'';
}