* Streamline the stdenv bootstrap and resulting closure by removing

some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
  Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
This commit is contained in:
Eelco Dolstra
2011-12-14 14:31:56 +00:00
parent 9eb4c4ddef
commit cfde88976b
13 changed files with 94 additions and 198 deletions

View File

@@ -1,50 +0,0 @@
{ fetchurl, stdenv, gmpxx, perl, gnum4, static ? false }:
let
version = "0.11";
staticFlags = if static then " --enable-static --disable-shared --disable-watchdog" else "";
in
stdenv.mkDerivation rec {
name = "ppl-${version}";
src = fetchurl {
url = "mirror://gcc/infrastructure/ppl-${version}.tar.gz";
sha256 = "0xqwyaj232gi0pgm6z2rihk6p8l1rngbbibnhmcrbq4jq550clrl";
};
buildNativeInputs = [ perl gnum4 ];
propagatedBuildInputs = [ gmpxx ];
dontDisableStatic = if static then true else false;
configureFlags = staticFlags;
# 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;
meta = {
description = "PPL: 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://www.cs.unipr.it/ppl/;
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}

View File

@@ -1,50 +1,49 @@
{ fetchurl, stdenv, gmpxx, perl, gnum4, static ? false }:
{ fetchurl, stdenv, gmpxx, perl, gnum4 }:
let
version = "0.11";
staticFlags = if static then " --enable-static --disable-shared --disable-watchdog" else "";
in
stdenv.mkDerivation rec {
name = "ppl-${version}";
let version = "0.11.2"; in
src = fetchurl {
url = "mirror://gcc/infrastructure/ppl-${version}.tar.gz";
sha256 = "0xqwyaj232gi0pgm6z2rihk6p8l1rngbbibnhmcrbq4jq550clrl";
};
stdenv.mkDerivation rec {
name = "ppl-${version}";
buildNativeInputs = [ perl gnum4 ];
propagatedBuildInputs = [ gmpxx ];
src = fetchurl {
url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2";
sha256 = "1sxviip4yk6gp453pid5scy1ba66dzdpr02i1416yk7lkv0x3yz3";
};
dontDisableStatic = if static then true else false;
configureFlags = staticFlags;
buildNativeInputs = [ perl gnum4 ];
propagatedBuildInputs = [ gmpxx ];
# 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;
configureFlags = "--disable-watchdog";
meta = {
description = "PPL: The Parma Polyhedra Library";
# 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;
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.
'';
enableParallelBuilding = true;
homepage = http://www.cs.unipr.it/ppl/;
meta = {
description = "PPL: The Parma Polyhedra Library";
license = "GPLv3+";
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.
'';
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}
homepage = http://www.cs.unipr.it/ppl/;
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}