ocamlPackages.cstruct: 2.3.2 -> 3.0.2

This commit is contained in:
Vincent Laporte 2017-11-27 19:08:40 +00:00
parent e7f4979270
commit bfc0959511
No known key found for this signature in database
GPG Key ID: EBD582ADDDB1F81F
10 changed files with 115 additions and 45 deletions

View File

@ -0,0 +1,36 @@
{ stdenv, writeText, fetchFromGitHub, ocaml, ocamlbuild, ocplib-endian, sexplib, findlib, ppx_tools
, async ? null, lwt ? null
}:
assert stdenv.lib.versionAtLeast ocaml.version "4.01";
let version = "1.9.0"; in
let opt = b: "--${if b != null then "en" else "dis"}able"; in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-cstruct-${version}";
src = fetchFromGitHub {
owner = "mirage";
repo = "ocaml-cstruct";
rev = "v${version}";
sha256 = "1c1j21zgmxi9spq23imy7byn50qr7hlds1cfpzxlsx9dp309jngy";
};
configureFlags = [ "${opt lwt}-lwt" "${opt async}-async" "${opt ppx_tools}-ppx" ];
buildInputs = [ ocaml findlib ocamlbuild ppx_tools lwt async ];
propagatedBuildInputs = [ ocplib-endian sexplib ];
createFindlibDestdir = true;
dontStrip = true;
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-cstruct;
description = "Map OCaml arrays onto C-like structs";
license = stdenv.lib.licenses.isc;
maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
platforms = ocaml.meta.platforms or [];
};
}

View File

@ -1,40 +1,28 @@
{ stdenv, writeText, fetchFromGitHub, ocaml, ocamlbuild, ocplib-endian, sexplib, findlib, ppx_tools
, async ? null, lwt ? null
}:
{ stdenv, fetchurl, ocaml, jbuilder, findlib, sexplib, ocplib-endian }:
assert stdenv.lib.versionAtLeast ocaml.version "4.01";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-cstruct-${version}";
version = "3.0.2";
src = fetchurl {
url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
sha256 = "03caxcyzfjmbnnwa15zy9s1ckkl4sc834d1qkgi4jcs3zqchvd8z";
};
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02"
then { version = "2.3.2"; sha256 = "1fykack86hvvqhwngddyxxqlwm3xjljfaszsjbdrvjlrd1nlg079"; }
else { version = "1.9.0"; sha256 = "1c1j21zgmxi9spq23imy7byn50qr7hlds1cfpzxlsx9dp309jngy"; };
in
unpackCmd = "tar -xjf $curSrc";
let opt = b: "--${if b != null then "en" else "dis"}able"; in
buildInputs = [ ocaml jbuilder findlib ];
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-cstruct-${param.version}";
propagatedBuildInputs = [ sexplib ocplib-endian ];
src = fetchFromGitHub {
owner = "mirage";
repo = "ocaml-cstruct";
rev = "v${param.version}";
inherit (param) sha256;
};
buildPhase = "jbuilder build -p cstruct";
configureFlags = [ "${opt lwt}-lwt" "${opt async}-async" "${opt ppx_tools}-ppx" ];
inherit (jbuilder) installPhase;
buildInputs = [ ocaml findlib ocamlbuild ppx_tools lwt async ];
propagatedBuildInputs = [ ocplib-endian sexplib ];
createFindlibDestdir = true;
dontStrip = true;
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-cstruct;
description = "Map OCaml arrays onto C-like structs";
license = stdenv.lib.licenses.isc;
maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
platforms = ocaml.meta.platforms or [];
};
meta = {
description = "Access C-like structures directly from OCaml";
license = stdenv.lib.licenses.isc;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (src.meta) homepage;
inherit (ocaml.meta) platforms;
};
}

View File

@ -0,0 +1,12 @@
{ stdenv, ocaml, cstruct, lwt }:
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-cstruct-lwt-${version}";
inherit (cstruct) version src unpackCmd buildInputs installPhase meta;
propagatedBuildInputs = [ cstruct lwt ];
buildPhase = "${cstruct.buildPhase}-lwt";
}

View File

@ -0,0 +1,13 @@
{ stdenv, ocaml, cstruct, ppx_tools_versioned }:
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-ppx_cstruct-${version}";
inherit (cstruct) version src unpackCmd installPhase meta;
buildInputs = cstruct.buildInputs ++ [ ppx_tools_versioned ];
propagatedBuildInputs = [ cstruct ];
buildPhase = "jbuilder build -p ppx_cstruct";
}

View File

@ -0,0 +1,12 @@
{ stdenv, ocaml, cstruct }:
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-cstruct-unix-${version}";
inherit (cstruct) version src unpackCmd buildInputs installPhase meta;
propagatedBuildInputs = [ cstruct ];
buildPhase = "${cstruct.buildPhase}-unix";
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg
, cpuid, ocb-stubblr
, cstruct, zarith, ppx_sexp_conv, sexplib
, lwt ? null
, cstruct-lwt ? null
}:
with stdenv.lib;
let withLwt = lwt != null; in
let withLwt = cstruct-lwt != null; in
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-nocrypto-${version}";
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr
ppx_sexp_conv ];
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt lwt;
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
buildPhase = ''
LD_LIBRARY_PATH=${cpuid}/lib/ocaml/${ocaml.version}/site-lib/stubslibs/ \

View File

@ -1,5 +1,5 @@
{stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam,
ppx_tools, ppx_sexp_conv, cstruct, sexplib, result, nocrypto, astring}:
ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring}:
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
@ -16,7 +16,7 @@ buildOcaml rec {
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
};
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ];
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ppx_cstruct ];
propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
buildPhase = ''

View File

@ -1,5 +1,5 @@
{ stdenv, buildOcaml, fetchFromGitHub, findlib, ocamlbuild, ocaml_oasis
, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ounit
, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ppx_cstruct, cstruct-unix, ounit
, lwt ? null}:
with stdenv.lib;
@ -19,7 +19,7 @@ buildOcaml rec {
sha256 = "19q2hzxiasz9pzczgb63kikg0mc9mw98dfvch5falf2rincycj24";
};
buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ];
buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++
optional withLwt lwt;

View File

@ -1,4 +1,6 @@
{stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto, ounit, ocaml_oasis, ppx_sexp_conv}:
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto
, ounit, ocaml_oasis, ppx_sexp_conv, cstruct-unix
}:
buildOcaml rec {
name = "x509";
@ -13,7 +15,7 @@ buildOcaml rec {
sha256 = "07cc3z6h87460z3f4vz8nlczw5jkc4vjhix413z9x6nral876rn7";
};
buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv ];
buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators nocrypto ];
configureFlags = "--enable-tests";

View File

@ -176,10 +176,17 @@ let
cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
cstruct = callPackage ../development/ocaml-modules/cstruct {
cstruct =
if lib.versionAtLeast ocaml.version "4.2"
then callPackage ../development/ocaml-modules/cstruct {}
else callPackage ../development/ocaml-modules/cstruct/1.9.0.nix { lwt = ocaml_lwt; };
cstruct-lwt = callPackage ../development/ocaml-modules/cstruct/lwt.nix {
lwt = ocaml_lwt;
};
cstruct-unix = callPackage ../development/ocaml-modules/cstruct/unix.nix {};
csv =
if lib.versionAtLeast ocaml.version "4.2"
then callPackage ../development/ocaml-modules/csv { }
@ -380,9 +387,7 @@ let
mtime = callPackage ../development/ocaml-modules/mtime { };
nocrypto = callPackage ../development/ocaml-modules/nocrypto {
lwt = ocaml_lwt;
};
nocrypto = callPackage ../development/ocaml-modules/nocrypto { };
notty = callPackage ../development/ocaml-modules/notty {
lwt = ocaml_lwt;
@ -570,6 +575,8 @@ let
then callPackage ../development/ocaml-modules/ppx_blob {}
else null;
ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix {};
ppx_derivers = callPackage ../development/ocaml-modules/ppx_derivers {};
ppx_deriving =