diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2017-03-31 08:46:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-31 08:46:14 +0200 |
commit | 607a21b7c0ab0115e6e9d68d7325b9723636c1ae (patch) | |
tree | 817922072d1a7ee997867efe831c4f390d8fa8b3 /pkgs | |
parent | 7b739364596aec89adedbb156243a5690917fbba (diff) | |
parent | ea80cd1f1101aa9553a6bdb9896e619593948cef (diff) | |
download | nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar.gz nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar.bz2 nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar.lz nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar.xz nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.tar.zst nixpkgs-607a21b7c0ab0115e6e9d68d7325b9723636c1ae.zip |
Merge pull request #24380 from fuzzy-id/haproxy-overworked4
haproxy: PCRE and LUA support via configurable options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/tools/networking/haproxy/default.nix | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 3b7a68fb972..dda4452f644 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -1,4 +1,11 @@ -{ stdenv, pkgs, fetchurl, openssl, zlib }: +{ useLua ? !stdenv.isDarwin +, usePcre ? true +, stdenv, fetchurl +, openssl, zlib, lua5_3 ? null, pcre ? null +}: + +assert useLua -> lua5_3 != null; +assert usePcre -> pcre != null; stdenv.mkDerivation rec { pname = "haproxy"; @@ -12,12 +19,29 @@ stdenv.mkDerivation rec { sha256 = "ebb31550a5261091034f1b6ac7f4a8b9d79a8ce2a3ddcd7be5b5eb355c35ba65"; }; - buildInputs = [ openssl zlib ]; + buildInputs = [ openssl zlib ] + ++ stdenv.lib.optional useLua lua5_3 + ++ stdenv.lib.optional usePcre pcre; # TODO: make it work on bsd as well - preConfigure = '' - export makeFlags="TARGET=${if stdenv.isSunOS then "solaris" else if stdenv.isLinux then "linux2628" else "generic"} PREFIX=$out USE_OPENSSL=yes USE_ZLIB=yes ${stdenv.lib.optionalString stdenv.isDarwin "CC=cc USE_KQUEUE=1"}" - ''; + makeFlags = [ + "PREFIX=\${out}" + ("TARGET=" + (if stdenv.isSunOS then "solaris" + else if stdenv.isLinux then "linux2628" + else if stdenv.isDarwin then "osx" + else "generic")) + ]; + buildFlags = [ + "USE_OPENSSL=yes" + "USE_ZLIB=yes" + ] ++ stdenv.lib.optionals usePcre [ + "USE_PCRE=yes" + "USE_PCRE_JIT=yes" + ] ++ stdenv.lib.optionals useLua [ + "USE_LUA=yes" + "LUA_LIB=${lua5_3}/lib" + "LUA_INC=${lua5_3}/include" + ] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc"; meta = { description = "Reliable, high performance TCP/HTTP load balancer"; @@ -30,7 +54,7 @@ stdenv.mkDerivation rec { hardware. ''; homepage = http://haproxy.1wt.eu; - maintainers = [ stdenv.lib.maintainers.garbas ]; + maintainers = with stdenv.lib.maintainers; [ fuzzy-id garbas ]; platforms = with stdenv.lib.platforms; linux ++ darwin; license = stdenv.lib.licenses.gpl2; }; |