diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix index d2ebf8b8805f..da56409b46c4 100644 --- a/pkgs/development/ocaml-modules/facile/default.nix +++ b/pkgs/development/ocaml-modules/facile/default.nix @@ -1,30 +1,34 @@ { lib, fetchurl, + fetchpatch, buildDunePackage, - ocaml, + stdlib-shims, + }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "facile is not available for OCaml ≥ 5.0" +buildDunePackage (finalAttrs: { + pname = "facile"; + version = "1.1.4"; - buildDunePackage - rec { - pname = "facile"; - version = "1.1.4"; + src = fetchurl { + url = "https://github.com/Emmanuel-PLF/facile/releases/download/${finalAttrs.version}/facile-${finalAttrs.version}.tbz"; + sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; + }; - src = fetchurl { - url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz"; - sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; - }; + patches = fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/Emmanuel-PLF/facile/pull/4.patch"; + excludes = [ "Makefile" ]; + hash = "sha256-syZO3lzuHxE2Y4yUaS+XgAQUFtLrENy2MwyWzPygfdg="; + }; - doCheck = true; + propagatedBuildInputs = [ stdlib-shims ]; - duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; - postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; + doCheck = true; - meta = { - homepage = "http://opti.recherche.enac.fr/facile/"; - license = lib.licenses.lgpl21Plus; - description = "Functional Constraint Library"; - }; - } + meta = { + homepage = "http://opti.recherche.enac.fr/facile/"; + license = lib.licenses.lgpl21Plus; + description = "Functional Constraint Library"; + }; +})