nixpkgs/pkgs/development/libraries/openssl/chacha.nix
Charles Strahan 4c57b932ab cipherscan: init at rev 18b0d1b (Dec 17, 2015)
CipherScan is a simple way to find out which SSL ciphersuites are
supported by a target.

It can take advantage of the extra features in Peter Mosmans' openssl
fork (which is also included in this commit).
2016-02-03 12:01:24 -05:00

71 lines
1.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ stdenv, fetchFromGitHub, perl, zlib
, withCryptodev ? false, cryptodevHeaders
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "openssl-chacha-${version}";
version = "2016-01-27";
src = fetchFromGitHub {
owner = "PeterMosmans";
repo = "openssl";
rev = "4576ede5b08242bcd6749fc284c691ed177842b7";
sha256 = "1030rs4bdaysxbq0mmck1dn6g5adspzkwsrnhvv16b4ig0r4ncgj";
};
nativeBuildInputs = [ perl zlib ];
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
configureScript = "./config";
configureFlags = [
"zlib"
"shared"
"experimental-jpake"
"enable-md2"
"enable-rc5"
"enable-rfc3779"
"enable-gost"
"--libdir=lib"
"--openssldir=etc/ssl"
] ++ stdenv.lib.optionals withCryptodev [
"-DHAVE_CRYPTODEV"
"-DUSE_CRYPTODEV_DIGESTS"
];
makeFlags = [
"MANDIR=$(out)/share/man"
];
# Parallel building is broken in OpenSSL.
enableParallelBuilding = false;
postInstall = ''
# If we're building dynamic libraries, then don't install static
# libraries.
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
rm "$out/lib/"*.a
fi
# remove dependency on Perl at runtime
rm -r $out/etc/ssl/misc $out/bin/c_rehash
'';
postFixup = ''
# Check to make sure we don't depend on perl
if grep -r '${perl}' $out; then
echo "Found an erroneous dependency on perl ^^^" >&2
exit 1
fi
'';
meta = {
homepage = http://www.openssl.org/;
description = "A cryptographic library that implements the SSL and TLS protocols";
platforms = [ "x86_64-linux" ];
maintainers = [ stdenv.lib.maintainers.cstrahan ];
priority = 10; # resolves collision with man-pages
};
}