summary refs log tree commit diff
path: root/pkgs/development/libraries/openssl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/openssl/default.nix')
-rw-r--r--pkgs/development/libraries/openssl/default.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index cd164b13f8e3..48574a332c8d 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchurl, perl
+, withCryptodev ? false, cryptodevHeaders }:
 
 let
   name = "openssl-1.0.0i";
@@ -23,6 +24,11 @@ let
            ./gnu.patch                # submitted upstream
          ]
 
+    ++ stdenv.lib.optionals (stdenv.system == "x86_64-kfreebsd-gnu")
+        [ ./gnu.patch
+          ./kfreebsd-gnu.patch
+        ]
+
     ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch;
   
 in
@@ -40,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
@@ -47,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";