Adding cryptodev-linux, and made openssl use it optionally.

I'm trying to get the CESA of the sheevaplug available to openssl.
This commit is contained in:
Lluís Batlle i Rossell 2012-09-23 20:50:24 +02:00
parent 22e050f8c6
commit 57b578189b
3 changed files with 41 additions and 2 deletions

View file

@ -1,4 +1,5 @@
{ stdenv, fetchurl, perl }:
{ stdenv, fetchurl, perl
, withCryptodev ? false, cryptodevHeaders }:
let
name = "openssl-1.0.0i";
@ -45,6 +46,8 @@ stdenv.mkDerivation {
patches = patchesCross false;
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
buildNativeInputs = [ perl ];
# On x86_64-darwin, "./config" misdetects the system as
@ -52,7 +55,8 @@ stdenv.mkDerivation {
configureScript =
if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc" else "./config";
configureFlags = "shared --libdir=lib";
configureFlags = "shared --libdir=lib" +
stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
makeFlags = "MANDIR=$(out)/share/man";

View file

@ -0,0 +1,29 @@
{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
stdenv.mkDerivation rec {
name = "cryptodev-linux-1.5";
src = fetchurl {
url = "http://download.gna.org/cryptodev-linux/${name}.tar.gz";
sha256 = "13hybl5p0ck0vgi2gxmiwa2810gcfk78kdy17ai8nczj8il15mn0";
};
buildPhase = if (!onlyHeaders) then ''
make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
INSTALL_PATH=$out
'' else ":";
installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
INSTALL_PATH=$out SUBDIRS=`pwd` modules_install
'' + ''
mkdir -p $out/include/crypto
cp crypto/cryptodev.h $out/include/crypto
'';
meta = {
description = "Device that allows access to Linux kernel cryptographic drivers";
homepage = http://home.gna.org/cryptodev-linux/;
license = "GPLv2+";
};
}

View file

@ -4605,6 +4605,10 @@ let
openssl = callPackage ../development/libraries/openssl {
fetchurl = fetchurlBoot;
cryptodevHeaders = linuxPackages.cryptodev.override {
fetchurl = fetchurlBoot;
onlyHeaders = true;
};
};
ortp = callPackage ../development/libraries/ortp { };
@ -5869,6 +5873,8 @@ let
blcr = callPackage ../os-specific/linux/blcr { };
cryptodev = callPackage ../os-specific/linux/cryptodev { };
e1000e = callPackage ../os-specific/linux/e1000e {};
exmap = callPackage ../os-specific/linux/exmap { };