{ lib, stdenv, fetchFromGitHub, cmake, gmp, coreutils }: stdenv.mkDerivation rec { pname = "lean"; version = "3.27.0"; src = fetchFromGitHub { owner = "leanprover-community"; repo = "lean"; rev = "v${version}"; sha256 = "sha256-DSIWuMlweu9dsah5EdVCNQ9ADjYoEZongfw/Yh7/N/A="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ gmp ]; cmakeDir = "../src"; # Running the tests is required to build the *.olean files for the core # library. doCheck = true; postPatch = "patchShebangs ."; postInstall = lib.optionalString stdenv.isDarwin '' substituteInPlace $out/bin/leanpkg \ --replace "greadlink" "${coreutils}/bin/readlink" ''; meta = with lib; { description = "Automatic and interactive theorem prover"; homepage = "https://leanprover.github.io/"; changelog = "https://github.com/leanprover-community/lean/blob/v${version}/doc/changes.md"; license = licenses.asl20; platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice gebner ]; }; }