cryptsetup: Use openssl instead of libgcrypt

When libgcrypt added support for libcap, it started dropping
capabilities of the cryptsetup process. This meant that cryptsetup was
unable to communicate with device mapper. This patch fixes that issue by
removing the dependency on libgcrypt and instead uses openssl for the
implementation of low-level cryptographic functions.

Fixes #7859.
This commit is contained in:
William A. Kennington III 2015-05-18 13:04:16 -07:00
parent b0972a0006
commit fd588f939c

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt
{ stdenv, fetchurl, devicemapper, openssl, libuuid, pkgconfig, popt
, enablePython ? false, python ? null
}:
@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "0878vwblazms1dac2ds7vyz8pgi1aac8870ccnl2s0v2sv428g62";
};
configureFlags = [ "--enable-cryptsetup-reencrypt" ]
configureFlags = [ "--enable-cryptsetup-reencrypt" "--with-crypto_backend=openssl" ]
++ stdenv.lib.optional enablePython "--enable-python";
buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ]
buildInputs = [ devicemapper openssl libuuid pkgconfig popt ]
++ stdenv.lib.optional enablePython python;
meta = {