Update parts of QCA to build with fresher OpenSSL

svn path=/nixpkgs/trunk/; revision=22913
This commit is contained in:
Michael Raskin 2010-08-03 07:35:29 +00:00
parent de5e1de89b
commit a7adc46a3b
3 changed files with 19 additions and 77 deletions

View File

@ -7,6 +7,13 @@ stdenv.mkDerivation {
sha256 = "49b5474450104a2298747c243de1451ab7a6aeed4bf7df43ffa4b7128a2837b8";
};
buildInputs = [ which qt4 ];
preBuild = ''
sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
EMSA3_SHA224, ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
EMSA3_SHA256, ///< SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
EMSA3_SHA384, ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
EMSA3_SHA512 ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
'';
meta = with stdenv.lib; {
description = "Qt Cryptographic Architecture";
license = "LGPL";

View File

@ -1,74 +0,0 @@
Source: Upstream, SVN r864423
Upstream: Yes
Reason: Fix compilation w/ >=dev-libs/openssl-0.9.8g
From 883f1057b31387e7cbfe66f6b3cf5781a6ca49fb Mon Sep 17 00:00:00 2001
From: infiniti <infiniti@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Wed, 24 Sep 2008 19:22:26 +0000
Subject: [PATCH] remove whirlpool usage. the algorithm is missing on at least 0.9.8g and
0.9.8i, even though there's an OBJ_whirlpool definition in 0.9.8i.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca@864423 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
plugins/qca-ossl/qca-ossl.cpp | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/qca-ossl.cpp b/qca-ossl.cpp
index 746a863..f9efd84 100644
--- a/qca-ossl.cpp
+++ b/qca-ossl.cpp
@@ -6616,9 +6616,11 @@ static QStringList all_hash_types()
#ifdef SHA512_DIGEST_LENGTH
list += "sha512";
#endif
+/*
#ifdef OBJ_whirlpool
list += "whirlpool";
#endif
+*/
return list;
}
@@ -6863,10 +6865,12 @@ public:
else if ( type == "sha512" )
return new opensslHashContext( EVP_sha512(), this, type);
#endif
+/*
#ifdef OBJ_whirlpool
else if ( type == "whirlpool" )
return new opensslHashContext( EVP_whirlpool(), this, type);
#endif
+*/
else if ( type == "pbkdf1(sha1)" )
return new opensslPbkdf1Context( EVP_sha1(), this, type );
else if ( type == "pbkdf1(md2)" )
--
1.6.0.4
From 70730a58fe6d9ba5b50b8971424663ba52947e4c Mon Sep 17 00:00:00 2001
From: infiniti <infiniti@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Wed, 24 Sep 2008 19:23:30 +0000
Subject: [PATCH] fix warning
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca@864425 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
plugins/qca-ossl/qca-ossl.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qca-ossl.cpp b/qca-ossl.cpp
index f9efd84..1790364 100644
--- a/qca-ossl.cpp
+++ b/qca-ossl.cpp
@@ -327,7 +327,7 @@ static X509_EXTENSION *new_subject_key_id(X509 *cert)
X509V3_CTX ctx;
X509V3_set_ctx_nodb(&ctx);
X509V3_set_ctx(&ctx, NULL, cert, NULL, NULL, 0);
- X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, "hash");
+ X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, (char *)"hash");
return ex;
}
--
1.6.0.4

View File

@ -1,19 +1,28 @@
{stdenv, fetchurl, qt4, qca2, openssl}:
{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl}:
stdenv.mkDerivation rec {
name = "qca-ossl-2.0.0-beta3";
version = "2.0.0-beta3";
name = "qca-ossl-${version}";
src = fetchurl {
url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2";
sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08";
};
# SVN version has stabilized and has a lot of fixes for fresh OpenSSL
# Take the main source from there
svn_src = fetchsvn {
url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ;
rev = 1115936;
sha256 = "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
};
buildInputs = [ qt4 qca2 openssl ];
dontAddPrefix = true;
configureFlags="--no-separate-debug-info --with-qca=${qca2}
--with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
preConfigure=''
cp ${svn_src}/qca-ossl.cpp .
configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
'';
patches = [ ./ossl-remove-whirlpool.patch ];
meta = with stdenv.lib; {
description = "Qt Cryptographic Architecture OpenSSL plugin";
license = "LGPL";