Updating crypto++ to 5.6.1

svn path=/nixpkgs/trunk/; revision=32098
This commit is contained in:
Lluís Batlle i Rossell 2012-02-07 09:18:04 +00:00
parent 3f5643417a
commit a21457ffa8

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, unzip, libtool }: { fetchurl, stdenv, unzip, libtool }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "crypto++-5.6.0"; name = "crypto++-5.6.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/cryptopp/cryptopp560.zip"; url = "mirror://sourceforge/cryptopp/cryptopp561.zip";
sha256 = "1icbk50mr1sqycqbxbqg703m8aamz23ajgl22ychxdahz2sz08mm"; sha256 = "0s7jhvnfihikqp1iwpdz03fad62xkjxci6jiahrh6f3sn664vrwq";
}; };
patches = [ ./pic.patch ] patches = [ ./pic.patch ]
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
''; '';
cxxflags = if stdenv.isi686 then "-march=i686" else cxxflags = if stdenv.isi686 then "-march=i686" else
if stdenv.isx86_64 then "-march=nocona" else if stdenv.isx86_64 then "-march=nocona -fPIC" else
""; "";
configurePhase = '' configurePhase = ''
@ -35,12 +35,10 @@ stdenv.mkDerivation rec {
-e '/^CXXFLAGS =/s|-g -O2|-O3|' -e '/^CXXFLAGS =/s|-g -O2|-O3|'
''; '';
# Deal with one of the crappiest build system around there. # I add what 'enableParallelBuilding' would add to the make call,
# if we were using the generic build phase.
buildPhase = '' buildPhase = ''
# These guys forgot a file or something. make PREFIX="$out" all libcryptopp.so -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
: > modexppc.cpp
make PREFIX="$out" all cryptopp.dll
''; '';
# TODO: Installing cryptotest.exe doesn't seem to be necessary. We run # TODO: Installing cryptotest.exe doesn't seem to be necessary. We run
@ -48,11 +46,10 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir "$out" mkdir "$out"
make install PREFIX="$out" make install PREFIX="$out"
cp -v cryptopp.dll "$out/lib/libcryptopp.so"
''; '';
doCheck = true; doCheck = true;
checkPhase = "make test"; checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
meta = { meta = {
description = "Crypto++, a free C++ class library of cryptographic schemes"; description = "Crypto++, a free C++ class library of cryptographic schemes";