Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 fetchpatch,
6 autoreconfHook,
7 texinfo,
8 mpfr,
9}:
10stdenv.mkDerivation rec {
11 pname = "mpfi";
12 version = "1.5.4";
13
14 src = fetchFromGitLab {
15 domain = "gitlab.inria.fr";
16 owner = "mpfi";
17 repo = "mpfi";
18
19 # Apparently there is an upstream off-by-one-commit error in tagging
20 # Conditional to allow auto-updaters to try new releases
21 # TODO: remove the conditional after an upstream update
22 # rev = version;
23 rev = if version == "1.5.4" then "feab26bc54529417af983950ddbffb3a4c334d4f" else version;
24
25 sha256 = "sha256-aj/QmJ38ifsW36JFQcbp55aIQRvOpiqLHwEh/aFXsgo=";
26 };
27
28 sourceRoot = "${src.name}/mpfi";
29
30 patches = [
31 (fetchpatch {
32 name = "incorrect-types-corrected.patch";
33 url = "https://gitlab.inria.fr/mpfi/mpfi/-/commit/a02e3f9cc10767cc4284a2ef6554f6df85e41982.patch";
34 relative = "mpfi";
35 hash = "sha256-ogUoZbQMkZMF8chSGdDymH/ewzjKSSc7GAMK2Wp58uo=";
36 })
37 ];
38
39 nativeBuildInputs = [
40 autoreconfHook
41 texinfo
42 ];
43 buildInputs = [ mpfr ];
44
45 meta = {
46 description = "Multiple precision interval arithmetic library based on MPFR";
47 homepage = "http://perso.ens-lyon.fr/nathalie.revol/software.html";
48 license = lib.licenses.lgpl21Plus;
49 maintainers = [ lib.maintainers.raskin ];
50 platforms = lib.platforms.unix;
51 };
52}