diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index fece15ad1113..c6715c9021ab 100644 --- a/pkgs/desktops/kde-4.4/default.nix +++ b/pkgs/desktops/kde-4.4/default.nix @@ -33,6 +33,11 @@ pkgs.recurseIntoAttrs (rec { qca2 = import ./support/qca2 { inherit (pkgs) stdenv fetchurl lib which qt4; }; + + qca2_ossl = import ./support/qca2/ossl.nix { + inherit (pkgs) stdenv fetchurl lib qt4 openssl; + inherit qca2; + }; akonadi = import ./support/akonadi { inherit (pkgs) stdenv fetchurl lib cmake qt4 shared_mime_info libxslt boost mysql; diff --git a/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch b/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch new file mode 100644 index 000000000000..fa4eb4016227 --- /dev/null +++ b/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch @@ -0,0 +1,74 @@ +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 +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 +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 diff --git a/pkgs/desktops/kde-4.4/support/qca2/ossl.nix b/pkgs/desktops/kde-4.4/support/qca2/ossl.nix new file mode 100644 index 000000000000..6385919305d8 --- /dev/null +++ b/pkgs/desktops/kde-4.4/support/qca2/ossl.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, lib, qt4, qca2, openssl}: + +stdenv.mkDerivation rec { + name = "qca-ossl-2.0.0-beta3"; + src = fetchurl { + url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2"; + sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08"; + }; + 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='' + configureFlags="$configureFlags --plugins-path=$out/plugins" + ''; + patches = [ ./ossl-remove-whirlpool.patch ]; + meta = { + description = "Qt Cryptographic Architecture OpenSSL plugin"; + license = "LGPL"; + homepage = http://delta.affinix.com/qca; + maintainers = [ lib.maintainers.urkud ]; + }; +}