From 7abebbad4d1361ccda55ee7456dd94240f9fec2a Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Sat, 27 Oct 2012 19:28:08 +0200 Subject: [PATCH] curl: Optionally add support for GSSAPI (Kerberos). @vcunat also did some configureFlags refactoring --- pkgs/tools/networking/curl/default.nix | 36 ++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index eb93c9ef4f66..f9439f1b42aa 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -2,6 +2,7 @@ , zlibSupport ? false, zlib ? null , sslSupport ? false, openssl ? null , scpSupport ? false, libssh2 ? null +, gssSupport ? false, gss ? null , linkStatic ? false }: @@ -20,15 +21,21 @@ stdenv.mkDerivation rec { # Zlib and OpenSSL must be propagated because `libcurl.la' contains # "-lz -lssl", which aren't necessary direct build inputs of # applications that use Curl. - propagatedBuildInputs = - stdenv.lib.optional zlibSupport zlib ++ - stdenv.lib.optional sslSupport openssl; + propagatedBuildInputs = with stdenv.lib; + optional zlibSupport zlib ++ + optional gssSupport gss ++ + optional sslSupport openssl; - configureFlags = '' - ${if sslSupport then "--with-ssl=${openssl}" else "--without-ssl"} - ${if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2"} - ${if linkStatic then "--enable-static --disable-shared" else ""} + preConfigure = '' + sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure ''; + configureFlags = [ + ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) + ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) + ] + ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}" + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] + ; dontDisableStatic = linkStatic; @@ -44,21 +51,18 @@ stdenv.mkDerivation rec { crossAttrs = { # We should refer to the cross built openssl # For the 'urandom', maybe it should be a cross-system option - configureFlags = '' - ${if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl"} - ${if linkStatic then "--enable-static --disable-shared" else ""} - --with-random /dev/urandom - ''; + configureFlags = [ + ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" ) + "--with-random /dev/urandom" + ] + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] + ; }; passthru = { inherit sslSupport openssl; }; - preConfigure = '' - sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure - ''; - meta = { homepage = "http://curl.haxx.se/"; description = "A command line tool for transferring files with URL syntax";