at 23.11-beta 49 lines 1.3 kB view raw
1{ stdenv, lib, fetchurl, ocamlPackages, mpfr, ppl }: 2 3stdenv.mkDerivation rec { 4 pname = "jasmin-compiler"; 5 version = "2023.06.1"; 6 7 src = fetchurl { 8 url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2"; 9 hash = "sha256-3+eIR8wkBlcUQVDsugHo/rHNHbE2vpE9gutp55kRY4Y="; 10 }; 11 12 sourceRoot = "jasmin-compiler-v${version}/compiler"; 13 14 nativeBuildInputs = with ocamlPackages; [ ocaml findlib dune_3 menhir camlidl cmdliner ]; 15 16 buildInputs = [ 17 mpfr 18 ppl 19 ] ++ (with ocamlPackages; [ 20 apron 21 yojson 22 ]); 23 24 propagatedBuildInputs = with ocamlPackages; [ 25 batteries 26 menhirLib 27 zarith 28 ]; 29 30 outputs = [ "bin" "lib" "out" ]; 31 32 installPhase = '' 33 runHook preInstall 34 dune build @install 35 dune install --prefix=$bin --libdir=$out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib 36 mkdir -p $lib/lib/jasmin/easycrypt 37 cp ../eclib/*.ec $lib/lib/jasmin/easycrypt 38 runHook postInstall 39 ''; 40 41 meta = { 42 description = "A workbench for high-assurance and high-speed cryptography"; 43 homepage = "https://github.com/jasmin-lang/jasmin/"; 44 license = lib.licenses.mit; 45 maintainers = [ lib.maintainers.vbgl ]; 46 mainProgram = "jasminc"; 47 platforms = lib.platforms.all; 48 }; 49}