buildDunePackage: new support function; use it to refactor some OCaml derivations

This commit is contained in:
Théo Zimmermann
2018-11-07 10:08:03 +01:00
parent 5fc73fd52e
commit 794158fcd5
64 changed files with 506 additions and 828 deletions
+6 -15
View File
@@ -1,34 +1,25 @@
{ stdenv, fetchurl, ocaml, findlib, dune, cstruct }:
{ stdenv, fetchurl, buildDunePackage, cstruct }:
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "hex is not available for OCaml ${ocaml.version}"
else
buildDunePackage rec {
pname = "hex";
version = "1.2.0";
let version = "1.2.0"; in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-hex-${version}";
minimumOCamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/mirage/ocaml-hex/releases/download/v1.2.0/hex-1.2.0.tbz";
url = "https://github.com/mirage/ocaml-${pname}/releases/download/v${version}/hex-${version}.tbz";
sha256 = "17hqf7z5afp2z2c55fk5myxkm7cm74259rqm94hcxkqlpdaqhm8h";
};
unpackCmd = "tar -xjf $curSrc";
buildInputs = [ ocaml findlib dune ];
propagatedBuildInputs = [ cstruct ];
buildPhase = "dune build -p hex";
doCheck = true;
checkPhase = "jbuilder runtest";
inherit (dune) installPhase;
meta = {
description = "Mininal OCaml library providing hexadecimal converters";
homepage = https://github.com/mirage/ocaml-hex;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
platforms = ocaml.meta.platforms or [];
};
}