linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / ppl / default.nix
bloba94cf9e38d0ef30957f50cd32e3cdeace798479d
1 { fetchurl, fetchpatch, lib, stdenv, gmpxx, perl, gnum4 }:
3 let version = "1.2"; in
5 stdenv.mkDerivation {
6   pname = "ppl";
7   inherit version;
9   src = fetchurl {
10     url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2";
11     sha256 = "1wgxcbgmijgk11df43aiqfzv31r3bkxmgb4yl68g21194q60nird";
12   };
14   patches = [(fetchpatch {
15     name = "clang5-support.patch";
16     url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ppl/patches/clang5-support.patch?h=9.2";
17     sha256 = "1zj90hm25pkgvk4jlkfzh18ak9b98217gbidl3731fdccbw6hr87";
18   })];
20   nativeBuildInputs = [ perl gnum4 ];
21   propagatedBuildInputs = [ gmpxx ];
23   configureFlags = [ "--disable-watchdog" ] ++
24     lib.optionals stdenv.isDarwin [
25       "CPPFLAGS=-fexceptions"
26       "--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips"
27     ];
29   # Beware!  It took ~6 hours to compile PPL and run its tests on a 1.2 GHz
30   # x86_64 box.  Nevertheless, being a dependency of GCC, it probably ought
31   # to be tested.
32   doCheck = false;
34   enableParallelBuilding = true;
36   meta = {
37     description = "The Parma Polyhedra Library";
39     longDescription = ''
40       The Parma Polyhedra Library (PPL) provides numerical abstractions
41       especially targeted at applications in the field of analysis and
42       verification of complex systems.  These abstractions include convex
43       polyhedra, defined as the intersection of a finite number of (open or
44       closed) halfspaces, each described by a linear inequality (strict or
45       non-strict) with rational coefficients; some special classes of
46       polyhedra shapes that offer interesting complexity/precision tradeoffs;
47       and grids which represent regularly spaced points that satisfy a set of
48       linear congruence relations.  The library also supports finite
49       powersets and products of (any kind of) polyhedra and grids and a mixed
50       integer linear programming problem solver using an exact-arithmetic
51       version of the simplex algorithm.
52     '';
54     homepage = "http://bugseng.com/products/ppl/";
56     license = lib.licenses.gpl3Plus;
58     maintainers = [ ];
59     platforms = lib.platforms.unix;
60   };