forked from mirrors/nixpkgs
c9baba9212
(My OCD kicked in today...) Remove repeated package names, capitalize first word, remove trailing periods and move overlong descriptions to longDescription. I also simplified some descriptions as well, when they were particularly long or technical, often based on Arch Linux' package descriptions. I've tried to stay away from generated expressions (and I think I succeeded). Some specifics worth mentioning: * cron, has "Vixie Cron" in its description. The "Vixie" part is not mentioned anywhere else. I kept it in a parenthesis at the end of the description. * ctags description started with "Exuberant Ctags ...", and the "exuberant" part is not mentioned elsewhere. Kept it in a parenthesis at the end of description. * nix has the description "The Nix Deployment System". Since that doesn't really say much what it is/does (especially after removing the package name!), I changed that to "Powerful package manager that makes package management reliable and reproducible" (borrowed from nixos.org). * Tons of "GNU Foo, Foo is a [the important bits]" descriptions is changed to just [the important bits]. If the package name doesn't contain GNU I don't think it's needed to say it in the description either.
56 lines
1.9 KiB
Nix
56 lines
1.9 KiB
Nix
{ fetchurl, stdenv, gmpxx, perl, gnum4 }:
|
|
|
|
let version = "1.0"; in
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "ppl-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2";
|
|
sha256 = "0m0b6dzablci8mlavpsmn5w1v3r46li0wpjwvsybgxx0p1ifjsf1";
|
|
};
|
|
|
|
nativeBuildInputs = [ perl gnum4 ];
|
|
propagatedBuildInputs = [ gmpxx ];
|
|
|
|
configureFlags = [ "--disable-watchdog" ] ++
|
|
stdenv.lib.optionals stdenv.isDarwin [
|
|
"CPPFLAGS=-fexceptions"
|
|
"--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips"
|
|
];
|
|
|
|
patches = [ ./upstream-based.patch ];
|
|
|
|
# Beware! It took ~6 hours to compile PPL and run its tests on a 1.2 GHz
|
|
# x86_64 box. Nevertheless, being a dependency of GCC, it probably ought
|
|
# to be tested.
|
|
doCheck = false;
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
description = "The Parma Polyhedra Library";
|
|
|
|
longDescription = ''
|
|
The Parma Polyhedra Library (PPL) provides numerical abstractions
|
|
especially targeted at applications in the field of analysis and
|
|
verification of complex systems. These abstractions include convex
|
|
polyhedra, defined as the intersection of a finite number of (open or
|
|
closed) halfspaces, each described by a linear inequality (strict or
|
|
non-strict) with rational coefficients; some special classes of
|
|
polyhedra shapes that offer interesting complexity/precision tradeoffs;
|
|
and grids which represent regularly spaced points that satisfy a set of
|
|
linear congruence relations. The library also supports finite
|
|
powersets and products of (any kind of) polyhedra and grids and a mixed
|
|
integer linear programming problem solver using an exact-arithmetic
|
|
version of the simplex algorithm.
|
|
'';
|
|
|
|
homepage = http://bugseng.com/products/ppl/;
|
|
|
|
license = stdenv.lib.licenses.gpl3Plus;
|
|
|
|
maintainers = [ ];
|
|
};
|
|
}
|