Skip to content

Commit c8d48f7

Browse files
owi: init at 0.2-unstable-2025-05-05
NLNet project: https://nlnet.nl/project/OWI/ Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
1 parent 87b8b72 commit c8d48f7

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

pkgs/by-name/ow/owi/package.nix

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
lib,
3+
ocaml-ng,
4+
fetchFromGitHub,
5+
llvmPackages,
6+
rustc,
7+
zig,
8+
makeWrapper,
9+
unstableGitUpdater,
10+
}:
11+
12+
let
13+
ocamlPackages = ocaml-ng.ocamlPackages_5_1;
14+
in
15+
ocamlPackages.buildDunePackage rec {
16+
pname = "owi";
17+
version = "0.2-unstable-2025-05-05";
18+
19+
src = fetchFromGitHub {
20+
owner = "ocamlpro";
21+
repo = "owi";
22+
rev = "e4c2e85f1364714a77a925ec29321cf9b8fe90f4";
23+
fetchSubmodules = true;
24+
hash = "sha256-ewaAkSyxtiiE8WcHusOyZDesqI61kCEN3pMb99R7Dkw=";
25+
};
26+
27+
nativeBuildInputs = with ocamlPackages; [
28+
findlib
29+
menhir
30+
# unwrapped because wrapped tries to enforce a target and the build
31+
# script wants to do its own thing
32+
llvmPackages.clang-unwrapped
33+
# lld + llc isn't included in unwrapped, so we pull it in here
34+
llvmPackages.bintools-unwrapped
35+
rustc
36+
zig
37+
makeWrapper
38+
];
39+
40+
buildInputs = with ocamlPackages; [
41+
bos
42+
cmdliner
43+
digestif
44+
dolmen_type
45+
dune-build-info
46+
dune-site
47+
hc
48+
integers
49+
menhir
50+
menhirLib
51+
ocaml_intrinsics
52+
patricia-tree
53+
prelude
54+
processor
55+
pyml
56+
re2
57+
scfg
58+
sedlex
59+
smtml
60+
uutf
61+
xmlm
62+
yojson
63+
z3
64+
zarith
65+
];
66+
67+
postInstall = ''
68+
wrapProgram $out/bin/owi \
69+
--prefix PATH : ${
70+
lib.makeBinPath [
71+
llvmPackages.bintools-unwrapped
72+
llvmPackages.clang-unwrapped
73+
rustc
74+
zig
75+
]
76+
}
77+
'';
78+
79+
doCheck = false;
80+
81+
passthru.updateScript = unstableGitUpdater { };
82+
83+
meta = {
84+
description = "Symbolic execution for Wasm, C, C++, Rust and Zig";
85+
homepage = "https://ocamlpro.github.io/owi/";
86+
downloadPage = "https://github.com/OCamlPro/owi";
87+
license = lib.licenses.agpl3Plus;
88+
maintainers = [ lib.maintainers.ethancedwards8 ];
89+
teams = with lib.teams; [ ngi ];
90+
mainProgram = "owi";
91+
};
92+
}

0 commit comments

Comments
 (0)