mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-25 04:12:44 +03:00
Merge pull request #24380 from fuzzy-id/haproxy-overworked4
haproxy: PCRE and LUA support via configurable options
This commit is contained in:
commit
607a21b7c0
@ -181,6 +181,7 @@
|
|||||||
ftrvxmtrx = "Siarhei Zirukin <ftrvxmtrx@gmail.com>";
|
ftrvxmtrx = "Siarhei Zirukin <ftrvxmtrx@gmail.com>";
|
||||||
funfunctor = "Edward O'Callaghan <eocallaghan@alterapraxis.com>";
|
funfunctor = "Edward O'Callaghan <eocallaghan@alterapraxis.com>";
|
||||||
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
|
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
|
||||||
|
fuzzy-id = "Thomas Bach <hacking+nixos@babibo.de>";
|
||||||
fxfactorial = "Edgar Aroutiounian <edgar.factorial@gmail.com>";
|
fxfactorial = "Edgar Aroutiounian <edgar.factorial@gmail.com>";
|
||||||
gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
|
gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
|
||||||
garbas = "Rok Garbas <rok@garbas.si>";
|
garbas = "Rok Garbas <rok@garbas.si>";
|
||||||
|
@ -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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "haproxy";
|
pname = "haproxy";
|
||||||
@ -12,12 +19,29 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "ebb31550a5261091034f1b6ac7f4a8b9d79a8ce2a3ddcd7be5b5eb355c35ba65";
|
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
|
# TODO: make it work on bsd as well
|
||||||
preConfigure = ''
|
makeFlags = [
|
||||||
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"}"
|
"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 = {
|
meta = {
|
||||||
description = "Reliable, high performance TCP/HTTP load balancer";
|
description = "Reliable, high performance TCP/HTTP load balancer";
|
||||||
@ -30,7 +54,7 @@ stdenv.mkDerivation rec {
|
|||||||
hardware.
|
hardware.
|
||||||
'';
|
'';
|
||||||
homepage = http://haproxy.1wt.eu;
|
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;
|
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user