nixpkgs/pkgs/development/tools/ocaml/dune/default.nix

35 lines
922 B
Nix

{ stdenv, fetchurl, ocaml, findlib, opaline }:
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "dune is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
pname = "dune";
version = "1.11.4";
src = fetchurl {
url = "https://github.com/ocaml/dune/releases/download/${version}/dune-build-info-${version}.tbz";
sha256 = "1rkc8lqw30ifjaz8d81la6i8j05ffd0whpxqsbg6dci16945zjvp";
};
buildInputs = [ ocaml findlib ];
buildFlags = [ "release" ];
dontAddPrefix = true;
installPhase = ''
runHook preInstall
${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
runHook postInstall
'';
meta = {
homepage = "https://dune.build/";
description = "A composable build system";
maintainers = [ stdenv.lib.maintainers.vbgl stdenv.lib.maintainers.marsam ];
license = stdenv.lib.licenses.mit;
inherit (ocaml.meta) platforms;
};
}