336ac16838
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.
21 lines
447 B
Nix
21 lines
447 B
Nix
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
|
|
|
|
{ pname, version ? defaultVersion, hash, ...}@args:
|
|
|
|
buildDunePackage (args // {
|
|
inherit version;
|
|
|
|
minimumOCamlVersion = "4.07";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "janestreet";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = hash;
|
|
};
|
|
|
|
meta = {
|
|
license = lib.licenses.mit;
|
|
homepage = "https://github.com/janestreet/${pname}";
|
|
} // args.meta;
|
|
})
|