buildDunePackage: new support function; use it to refactor some OCaml derivations
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, dune
|
||||
{ stdenv, fetchFromGitHub, buildDunePackage
|
||||
, ppx_fields_conv, ppx_sexp_conv, ppx_deriving
|
||||
, base64, fieldslib, jsonm, re, stringext, uri
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
buildDunePackage rec {
|
||||
pname = "cohttp";
|
||||
version = "1.1.1";
|
||||
name = "ocaml${ocaml.version}-cohttp-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mirage";
|
||||
@@ -14,19 +14,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1dzd6vy43b7p9xplzg2whylz5br59zxaqywa14b4l377f31gnwq1";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib dune jsonm ppx_fields_conv ppx_sexp_conv ];
|
||||
buildInputs = [ jsonm ppx_fields_conv ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [ ppx_deriving base64 fieldslib re stringext uri ];
|
||||
|
||||
buildPhase = "dune build -p cohttp";
|
||||
|
||||
inherit (dune) installPhase;
|
||||
|
||||
meta = {
|
||||
description = "HTTP(S) library for Lwt, Async and Mirage";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (src.meta) homepage;
|
||||
inherit (ocaml.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, ocaml, findlib, dune, cohttp-lwt
|
||||
{ stdenv, buildDunePackage, cohttp-lwt
|
||||
, conduit-lwt-unix, ppx_sexp_conv
|
||||
, cmdliner, fmt, magic-mime
|
||||
}:
|
||||
@@ -7,13 +7,11 @@ if !stdenv.lib.versionAtLeast cohttp-lwt.version "0.99"
|
||||
then cohttp-lwt
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-cohttp-lwt-unix-${version}";
|
||||
inherit (cohttp-lwt) version src installPhase meta;
|
||||
buildDunePackage rec {
|
||||
pname = "cohttp-lwt-unix";
|
||||
inherit (cohttp-lwt) version src meta;
|
||||
|
||||
buildInputs = [ ocaml findlib dune cmdliner ppx_sexp_conv ];
|
||||
buildInputs = [ cmdliner ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [ cohttp-lwt conduit-lwt-unix fmt magic-mime ];
|
||||
|
||||
buildPhase = "dune build -p cohttp-lwt-unix";
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
{ stdenv, ocaml, findlib, dune, cohttp, ocaml_lwt, uri, ppx_sexp_conv }:
|
||||
{ stdenv, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv }:
|
||||
|
||||
if !stdenv.lib.versionAtLeast cohttp.version "0.99"
|
||||
then cohttp
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-cohttp-lwt-${version}";
|
||||
inherit (cohttp) version src installPhase meta;
|
||||
buildDunePackage rec {
|
||||
pname = "cohttp-lwt";
|
||||
inherit (cohttp) version src meta;
|
||||
|
||||
buildInputs = [ ocaml findlib dune uri ppx_sexp_conv ];
|
||||
buildInputs = [ uri ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [ cohttp ocaml_lwt ];
|
||||
|
||||
buildPhase = "dune build -p cohttp-lwt";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user