···176176 '';
177177 type = types.listOf overlayType;
178178 description = lib.mdDoc ''
179179- List of overlays to use with the Nix Packages collection.
180180- (For details, see the Nixpkgs documentation.) It allows
181181- you to override packages globally. Each function in the list
182182- takes as an argument the *original* Nixpkgs.
183183- The first argument should be used for finding dependencies, and
184184- the second should be used for overriding recipes.
179179+ List of overlays to apply to Nixpkgs.
180180+ This option allows modifying the Nixpkgs package set accessed through the `pkgs` module argument.
185181186186- If `nixpkgs.pkgs` is set, overlays specified here
187187- will be applied after the overlays that were already present
188188- in `nixpkgs.pkgs`.
182182+ For details, see the [Overlays chapter in the Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#chap-overlays).
183183+184184+ If the {option}`nixpkgs.pkgs` option is set, overlays specified using `nixpkgs.overlays` will be applied after the overlays that were already included in `nixpkgs.pkgs`.
189185 '';
190186 };
191187
···11+{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, cmdliner }:
22+33+let
44+55+in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
66+"b0 is not available for OCaml ${ocaml.version}"
77+88+stdenv.mkDerivation rec {
99+1010+ pname = "ocaml${ocaml.version}-b0";
1111+ version = "0.0.5";
1212+1313+ src = fetchurl {
1414+ url = "${meta.homepage}/releases/b0-${version}.tbz";
1515+ sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I=";
1616+ };
1717+1818+ strictDeps = true;
1919+2020+ nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
2121+ buildInputs = [ topkg cmdliner ];
2222+2323+ inherit (topkg) buildPhase installPhase;
2424+2525+ meta = with lib; {
2626+ description = "Software construction and deployment kit";
2727+ longDescription = ''
2828+ WARNING this package is unstable and work in progress, do not depend on
2929+ it.
3030+ B0 describes software construction and deployments using modular and
3131+ customizable definitions written in OCaml. B0 describes:
3232+ * Build environments.
3333+ * Software configuration, build and testing.
3434+ * Source and binary deployments.
3535+ * Software life-cycle procedures.
3636+ B0 also provides the B00 build library which provides abitrary build
3737+ abstraction with reliable and efficient incremental rebuilds. The B00
3838+ library can be – and has been – used on its own to devise domain specific
3939+ build systems.
4040+ '';
4141+ homepage = "https://erratique.ch/software/b0";
4242+ inherit (ocaml.meta) platforms;
4343+ license = licenses.isc;
4444+ maintainers = [ maintainers.Julow ];
4545+ };
4646+}
+25
pkgs/development/ocaml-modules/odig/default.nix
···11+{ lib, stdenv, fetchurl, buildTopkgPackage, cmdliner, odoc, b0 }:
22+33+buildTopkgPackage rec {
44+ pname = "odig";
55+ version = "0.0.9";
66+77+ src = fetchurl {
88+ url = "${meta.homepage}/releases/odig-${version}.tbz";
99+ sha256 = "sha256-sYKvGYkxeF5FmrNQdOyMAtlsJqhlmUESi9SkPn/cjM4=";
1010+ };
1111+1212+ buildInputs = [ cmdliner odoc b0 ];
1313+1414+ meta = with lib; {
1515+ description = "Lookup documentation of installed OCaml packages";
1616+ longDescription = ''
1717+ odig is a command line tool to lookup documentation of installed OCaml
1818+ packages. It shows package metadata, readmes, change logs, licenses,
1919+ cross-referenced `odoc` API documentation and manuals.
2020+ '';
2121+ homepage = "https://erratique.ch/software/odig";
2222+ license = licenses.isc;
2323+ maintainers = [ maintainers.Julow ];
2424+ };
2525+}