66 lines
1.6 KiB
Nix
66 lines
1.6 KiB
Nix
|
|
{
|
|||
|
|
lib,
|
|||
|
|
stdenv,
|
|||
|
|
fetchurl,
|
|||
|
|
ocaml,
|
|||
|
|
findlib,
|
|||
|
|
topkg,
|
|||
|
|
ocamlbuild,
|
|||
|
|
cmdliner,
|
|||
|
|
}:
|
|||
|
|
|
|||
|
|
let
|
|||
|
|
|
|||
|
|
in
|
|||
|
|
lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
|
|||
|
|
"b0 is not available for OCaml ${ocaml.version}"
|
|||
|
|
|
|||
|
|
stdenv.mkDerivation
|
|||
|
|
rec {
|
|||
|
|
|
|||
|
|
pname = "ocaml${ocaml.version}-b0";
|
|||
|
|
version = "0.0.5";
|
|||
|
|
|
|||
|
|
src = fetchurl {
|
|||
|
|
url = "${meta.homepage}/releases/b0-${version}.tbz";
|
|||
|
|
sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I=";
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
strictDeps = true;
|
|||
|
|
|
|||
|
|
nativeBuildInputs = [
|
|||
|
|
ocaml
|
|||
|
|
findlib
|
|||
|
|
ocamlbuild
|
|||
|
|
topkg
|
|||
|
|
];
|
|||
|
|
buildInputs = [
|
|||
|
|
topkg
|
|||
|
|
cmdliner
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
inherit (topkg) buildPhase installPhase;
|
|||
|
|
|
|||
|
|
meta = with lib; {
|
|||
|
|
description = "Software construction and deployment kit";
|
|||
|
|
longDescription = ''
|
|||
|
|
WARNING this package is unstable and work in progress, do not depend on
|
|||
|
|
it.
|
|||
|
|
B0 describes software construction and deployments using modular and
|
|||
|
|
customizable definitions written in OCaml. B0 describes:
|
|||
|
|
* Build environments.
|
|||
|
|
* Software configuration, build and testing.
|
|||
|
|
* Source and binary deployments.
|
|||
|
|
* Software life-cycle procedures.
|
|||
|
|
B0 also provides the B00 build library which provides abitrary build
|
|||
|
|
abstraction with reliable and efficient incremental rebuilds. The B00
|
|||
|
|
library can be – and has been – used on its own to devise domain specific
|
|||
|
|
build systems.
|
|||
|
|
'';
|
|||
|
|
homepage = "https://erratique.ch/software/b0";
|
|||
|
|
inherit (ocaml.meta) platforms;
|
|||
|
|
license = licenses.isc;
|
|||
|
|
maintainers = [ maintainers.Julow ];
|
|||
|
|
};
|
|||
|
|
}
|