libressl: build with cmake

LibreSSL 2.9.1 no longer builds with the default autotools configuration.
When I searched for the error, I noticed that Buildroot ran into the
same issue, and they resolved the problem by building with CMake rather
than autotools. [1] I followed the same approach here.

[1]: e783d60473
wip/yesman
Ruud van Asseldonk 5 years ago
parent 3415872fe4
commit 8c7cde5df2
  1. 16
      pkgs/development/libraries/libressl/default.nix

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lib }:
{ stdenv, fetchurl, lib, cmake }:
let
@ -11,7 +11,17 @@ let
inherit sha256;
};
configureFlags = [ "--enable-nc" ];
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DENABLE_NC=ON" ];
# The autoconf build is broken as of 2.9.1, resulting in the following error:
# libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.
# Fortunately LibreSSL provides a CMake build as well, so opt for CMake by
# removing ./configure pre-config.
preConfigure = ''
rm configure
'';
enableParallelBuilding = true;
@ -19,6 +29,8 @@ let
postFixup = ''
moveToOutput "bin/nc" "$nc"
moveToOutput "bin/openssl" "$bin"
moveToOutput "bin/ocspcheck" "$bin"
moveToOutput "share/man/man1/nc.1${lib.optionalString (dontGzipMan==null) ".gz"}" "$nc"
'';

Loading…
Cancel
Save