nixpkgs/pkgs/development/libraries/gmp/5.0.4.nix
Eelco Dolstra 29b0341589 * GMP updated to 5.0.4.
* By default, QEMU's CPUID identifies the CPU as GenuineIntel, family
  6, model 2.  Since there never was a physical 64-bit CPU like that,
  64-bit GMP calls abort().  This causes every program linked against
  libgmp to fail under QEMU (unless an appropriate -cpu or -M flag is
  used), which is rather bad, especially for users of hosting
  providers who cannot change QEMU's flags.  The patch causes GMP to
  be more liberal (i.e., use non-CPU-specific implementations).

svn path=/nixpkgs/branches/stdenv-updates/; revision=33531
2012-04-01 22:17:00 +00:00

56 lines
1.9 KiB
Nix

{ stdenv, fetchurl, m4, cxx ? true }:
stdenv.mkDerivation rec {
name = "gmp-5.0.4";
src = fetchurl {
url = "mirror://gnu/gmp/${name}.tar.bz2";
sha256 = "0vx0z5f1q8jjxjp8hcbcvzz8y41zs889nna4r4ahkpsb7vgamm1m";
};
patches = [ ./ignore-bad-cpuid.patch ];
buildNativeInputs = [ m4 ];
configureFlags =
# Build a "fat binary", with routines for several sub-architectures (x86).
[ "--enable-fat" ]
++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]);
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "GMP, the GNU multiple precision arithmetic library";
longDescription =
'' GMP is a free library for arbitrary precision arithmetic, operating
on signed integers, rational numbers, and floating point numbers.
There is no practical limit to the precision except the ones implied
by the available memory in the machine GMP runs on. GMP has a rich
set of functions, and the functions have a regular interface.
The main target applications for GMP are cryptography applications
and research, Internet security applications, algebra systems,
computational algebra research, etc.
GMP is carefully designed to be as fast as possible, both for small
operands and for huge operands. The speed is achieved by using
fullwords as the basic arithmetic type, by using fast algorithms,
with highly optimised assembly code for the most common inner loops
for a lot of CPUs, and by a general emphasis on speed.
GMP is faster than any other bignum library. The advantage for GMP
increases with the operand sizes for many operations, since GMP uses
asymptotically faster algorithms.
'';
homepage = http://gmplib.org/;
license = "LGPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.all;
};
}