{ lib , stdenv , fetchurl , gmp , writeScript }: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or # cgit) that are needed here should be included directly in Nixpkgs as # files. stdenv.mkDerivation rec { version = "4.1.1"; pname = "mpfr"; src = fetchurl { urls = [ "https://www.mpfr.org/${pname}-${version}/${pname}-${version}.tar.xz" "mirror://gnu/mpfr/${pname}-${version}.tar.xz" ]; hash = "sha256-/9GVvVZ9uv/DuYsj/QCq0FN2gMmJYXHkT+P/eeKKwz0="; }; patches = [ (fetchurl { # https://gitlab.inria.fr/mpfr/mpfr/-/issues/1 url = "https://www.mpfr.org/mpfr-4.1.1/patch01"; hash = "sha256-gKPCcJviGsqsEqnMmYiNY6APp3+3VXbyBf6LoZhP9Eo="; }) ]; outputs = [ "out" "dev" "doc" "info" ]; strictDeps = true; # mpfr.h requires gmp.h propagatedBuildInputs = [ gmp ]; configureFlags = lib.optional stdenv.hostPlatform.isSunOS "--disable-thread-safe" ++ lib.optional stdenv.hostPlatform.is64bit "--with-pic"; doCheck = true; # not cross; enableParallelBuilding = true; passthru = { updateScript = writeScript "update-mpfr" '' #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl pcre common-updater-scripts set -eu -o pipefail # Expect the text in format of '