diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index b260d946ce1e..c09b5a828f92 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -1,20 +1,24 @@ { lib, stdenv, fetchFromGitHub , ocaml, findlib, pkg-config , gmp +, version ? if lib.versionAtLeast ocaml.version "4.08" then "1.14" else "1.13" }: if lib.versionOlder ocaml.version "4.04" then throw "zarith is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-zarith"; - version = "1.13"; + inherit version; src = fetchFromGitHub { owner = "ocaml"; repo = "Zarith"; rev = "release-${version}"; - sha256 = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; + hash = { + "1.13" = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; + "1.14" = "sha256-xUrBDr+M8uW2KOy7DZieO/vDgsSOnyBnpOzQDlXJ0oE="; + }."${finalAttrs.version}"; }; nativeBuildInputs = [ pkg-config ocaml findlib ]; @@ -31,9 +35,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fast, arbitrary precision OCaml integers"; homepage = "https://github.com/ocaml/Zarith"; - changelog = "https://github.com/ocaml/Zarith/raw/${src.rev}/Changes"; + changelog = "https://github.com/ocaml/Zarith/raw/${finalAttrs.src.rev}/Changes"; license = licenses.lgpl2; inherit (ocaml.meta) platforms; maintainers = with maintainers; [ thoughtpolice vbgl ]; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 27412bbac617..ddc797d4386c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9525,7 +9525,9 @@ with pkgs; last-resort = callPackage ../data/fonts/last-resort { }; ligo = - let ocaml_p = ocaml-ng.ocamlPackages_4_14; in + let ocaml_p = ocaml-ng.ocamlPackages_4_14.overrideScope (self: super: { + zarith = super.zarith.override { version = "1.13"; }; + }); in callPackage ../development/compilers/ligo { coq = coq_8_13.override { customOCamlPackages = ocaml_p;