ocamlPackages.checkseum: 0.0.3 → 0.1.1

This fixes the “decompress” library on non-x86_64 platforms
wip/yesman
Vincent Laporte 5 years ago committed by Vincent Laporte
parent c855dceacf
commit 8632698b06
  1. 45
      pkgs/development/ocaml-modules/checkseum/default.nix
  2. 1
      pkgs/development/ocaml-modules/decompress/default.nix

@ -1,41 +1,28 @@
{ stdenv, fetchurl, ocaml, findlib, dune, alcotest, cmdliner, fmt, optint, rresult }:
{ lib, fetchurl, buildDunePackage
, bigarray-compat, optint
, cmdliner, fmt, rresult
, alcotest
}:
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "checkseum is not available for OCaml ${ocaml.version}"
else
buildDunePackage rec {
version = "0.1.1";
pname = "checkseum";
# The C implementation is not portable: x86 only
let hasC = stdenv.isi686 || stdenv.isx86_64; in
stdenv.mkDerivation rec {
version = "0.0.3";
name = "ocaml${ocaml.version}-checkseum-${version}";
src = fetchurl {
url = "https://github.com/mirage/checkseum/releases/download/v0.0.3/checkseum-v0.0.3.tbz";
sha256 = "12j45zsvil1ynwx1x8fbddhqacc8r1zf7f6h576y3f3yvbg7l1fm";
url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
sha256 = "0aa2r1l65a5hcgciw6n8r5ij4gpgg0cf9k24isybxiaiz63k94d3";
};
postPatch = stdenv.lib.optionalString (!hasC) ''
rm -r bin src-c
'';
buildInputs = [ ocaml findlib dune alcotest cmdliner fmt rresult ];
propagatedBuildInputs = [ optint ];
buildPhase = "dune build";
doCheck = hasC;
checkPhase = "dune runtest";
inherit (dune) installPhase;
buildInputs = [ cmdliner fmt rresult ];
propagatedBuildInputs = [ bigarray-compat optint ];
checkInputs = lib.optionals doCheck [ alcotest ];
passthru = { inherit hasC; };
doCheck = true;
meta = {
homepage = "https://github.com/mirage/checkseum";
description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
}

@ -22,6 +22,5 @@ buildDunePackage rec {
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
homepage = "https://github.com/mirage/decompress";
broken = !checkseum.hasC;
};
}

Loading…
Cancel
Save