lol
1{ lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config
2, optint
3, fmt, rresult, bos, fpath, astring, alcotest
4, withFreestanding ? false
5, ocaml-freestanding
6}:
7
8buildDunePackage rec {
9 version = "0.4.0";
10 pname = "checkseum";
11
12 minimalOCamlVersion = "4.07";
13
14 src = fetchurl {
15 url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-${version}.tbz";
16 sha256 = "sha256-K6QPMts5+hxH2a+WQ1N0lwMBoshG2T0bSozNgzRvAlo=";
17 };
18
19 buildInputs = [ dune-configurator ];
20 nativeBuildInputs = [ pkg-config ];
21 propagatedBuildInputs = [
22 optint
23 ] ++ lib.optionals withFreestanding [
24 ocaml-freestanding
25 ];
26
27 checkInputs = [
28 alcotest
29 bos
30 astring
31 fmt
32 fpath
33 rresult
34 ];
35
36 doCheck = lib.versionAtLeast ocaml.version "4.08";
37
38 meta = {
39 description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
40 homepage = "https://github.com/mirage/checkseum";
41 license = lib.licenses.mit;
42 maintainers = [ lib.maintainers.vbgl ];
43 mainProgram = "checkseum.checkseum";
44 };
45}