nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix
sternenseemann 336ac16838 ocamlPackages.janePackage: don't delete meta set in args
A bit of a pitfall of // is that it doesn't merge recursively which
often leads to unintended deletion in meta sets: If meta is in args it
is also present in the set right of the // operator which means the
right value is used to replace the left value completely. This throws
away anything extra we've set in the meta set in args.

This is fixed by this comment, allowing the descriptions and broken =
true; set in janestreet/old.nix to propagate to the output meta sets.
2021-03-10 16:12:03 +01:00

30 lines
536 B
Nix

{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.14.0" }:
{ pname
, version ? defaultVersion
, hash
, minimumOCamlVersion ? "4.08"
, doCheck ? true
, ...}@args:
buildDunePackage (args // {
useDune2 = true;
inherit version;
inherit minimumOCamlVersion;
src = fetchFromGitHub {
owner = "janestreet";
repo = pname;
rev = "v${version}";
sha256 = hash;
};
inherit doCheck;
meta = {
license = lib.licenses.mit;
homepage = "https://github.com/janestreet/${pname}";
} // args.meta;
})