From 667b990475903154fa0559730ce5d55e1a0dbf69 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 12 Sep 2023 22:23:24 +0200 Subject: [PATCH] mpfi: switch source to INRIA GitLab --- pkgs/development/libraries/mpfi/default.nix | 27 ++++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/mpfi/default.nix b/pkgs/development/libraries/mpfi/default.nix index 152c35e6e6f0..4bc568523c9f 100644 --- a/pkgs/development/libraries/mpfi/default.nix +++ b/pkgs/development/libraries/mpfi/default.nix @@ -1,23 +1,32 @@ -{lib, stdenv, fetchurl, autoreconfHook, texinfo, mpfr}: +{lib, stdenv, fetchFromGitLab, autoreconfHook, texinfo, mpfr}: stdenv.mkDerivation rec { pname = "mpfi"; version = "1.5.4"; - file_nr = "38111"; - src = fetchurl { - # NOTE: the file_nr is whats important here. The actual package name (including the version) - # is ignored. To find out the correct file_nr, go to https://gforge.inria.fr/projects/mpfi/ - # and click on Download in the section "Latest File Releases". - url = "https://gforge.inria.fr/frs/download.php/file/${file_nr}/mpfi-${version}.tgz"; - sha256 = "sha256-Ozk4WV1yCvF5c96vcnz8DdQcixbCCtwQOpcPSkOuOlY="; + src = fetchFromGitLab { + domain = "gitlab.inria.fr"; + owner = "mpfi"; + repo = "mpfi"; + + # Apparently there is an upstream off-by-one-commit error in tagging + # Conditional to allow auto-updaters to try new releases + # TODO: remove the conditional after an upstream update + # rev = version; + rev = if version == "1.5.4" then + "feab26bc54529417af983950ddbffb3a4c334d4f" + else version; + + sha256 = "sha256-aj/QmJ38ifsW36JFQcbp55aIQRvOpiqLHwEh/aFXsgo="; }; + sourceRoot = "source/mpfi"; + nativeBuildInputs = [ autoreconfHook texinfo ]; buildInputs = [ mpfr ]; meta = { description = "A multiple precision interval arithmetic library based on MPFR"; - homepage = "https://gforge.inria.fr/projects/mpfi/"; + homepage = "http://perso.ens-lyon.fr/nathalie.revol/software.html"; license = lib.licenses.lgpl21Plus; maintainers = [lib.maintainers.raskin]; platforms = lib.platforms.unix;