summaryrefslogtreecommitdiff
path: root/net/haproxy
diff options
context:
space:
mode:
authormorr <morr@pkgsrc.org>2011-10-31 23:34:07 +0000
committermorr <morr@pkgsrc.org>2011-10-31 23:34:07 +0000
commit3cec878e103e39796d4d9673c69c9e544be4781a (patch)
treef1e6760462511632da6d21170de3c381ea6bceba /net/haproxy
parentb27388620ad2845a8acef1897ca8a7193e6c7206 (diff)
downloadpkgsrc-3cec878e103e39796d4d9673c69c9e544be4781a.tar.gz
HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing. Supporting tens of thousands of connections is clearly realistic with todays hardware.
Diffstat (limited to 'net/haproxy')
-rw-r--r--net/haproxy/DESCR6
-rw-r--r--net/haproxy/Makefile54
-rw-r--r--net/haproxy/PLIST9
-rw-r--r--net/haproxy/distinfo6
-rw-r--r--net/haproxy/files/haproxy.sh19
-rw-r--r--net/haproxy/patches/patch-aa53
6 files changed, 147 insertions, 0 deletions
diff --git a/net/haproxy/DESCR b/net/haproxy/DESCR
new file mode 100644
index 00000000000..f2e3c282e29
--- /dev/null
+++ b/net/haproxy/DESCR
@@ -0,0 +1,6 @@
+HAProxy is a free, very fast and reliable solution offering high
+availability, load balancing, and proxying for TCP and HTTP-based
+applications. It is particularly suited for web sites crawling under
+very high loads while needing persistence or Layer7 processing.
+Supporting tens of thousands of connections is clearly realistic with
+todays hardware.
diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile
new file mode 100644
index 00000000000..97df2d2ce00
--- /dev/null
+++ b/net/haproxy/Makefile
@@ -0,0 +1,54 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $
+
+DISTNAME= haproxy-1.4.18
+CATEGORIES= net www
+MASTER_SITES= http://haproxy.1wt.eu/download/1.4/src/
+
+MAINTAINER= morr@NetBSD.org
+HOMEPAGE= http://haproxy.1wt.eu/
+COMMENT= Reliable, high performance TCP/HTTP load balancer
+LICENSE= gnu-gpl-v2
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_TOOLS+= gmake
+BUILD_MAKE_FLAGS+= TARGET=${TARGET}
+INSTALL_MAKE_FLAGS+= TARGET=${TARGET}
+INSTALL_MAKE_FLAGS+= PREFIX=${PREFIX}
+INSTALL_MAKE_FLAGS+= DOCDIR=${PREFIX}/share/doc/${PKGBASE}
+INSTALL_MAKE_FLAGS+= MANDIR=${PREFIX}/${PKGMANDIR}
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+INSTALLATION_DIRS= ${EGDIR} share/examples/rc.d
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "NetBSD"
+RCD_SCRIPTS= haproxy
+INSTALLATION_DIRS+= share/examples/rc.d
+.endif
+
+.if ${OPSYS} == "NetBSD"
+TARGET=netbsd
+.elif ${OPSYS} == "FreeBSD"
+TARGET=freebsd
+.elif ${OPSYS} == "OpenBSD"
+TARGET=openbsd
+.elif ${OPSYS} == "Linux"
+. if !empty(OS_VERSION:M2.6.*)
+TARGET=linux26
+. elif !empty(OS_VERSION:M2.4.*)
+. if exists(/usr/include/linux/eventpoll.h)
+TARGET=linux24e
+. else
+TARGET=linux24
+. endif
+. endif
+.else
+TARGET=generic
+.endif
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/examples/haproxy.cfg ${DESTDIR}${EGDIR}/
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/haproxy/PLIST b/net/haproxy/PLIST
new file mode 100644
index 00000000000..f57bc8b8b04
--- /dev/null
+++ b/net/haproxy/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $
+man/man1/haproxy.1
+sbin/haproxy
+share/doc/haproxy/architecture.txt
+share/doc/haproxy/configuration.txt
+share/doc/haproxy/haproxy-en.txt
+share/doc/haproxy/haproxy-fr.txt
+share/examples/haproxy/haproxy.cfg
+share/examples/rc.d/haproxy
diff --git a/net/haproxy/distinfo b/net/haproxy/distinfo
new file mode 100644
index 00000000000..0ce4b29a008
--- /dev/null
+++ b/net/haproxy/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $
+
+SHA1 (haproxy-1.4.18.tar.gz) = 191dbcb5880c711580693bd081ca5fdd8dde3012
+RMD160 (haproxy-1.4.18.tar.gz) = 16729f0519a47123d88e849ae95d600c590c8583
+Size (haproxy-1.4.18.tar.gz) = 820427 bytes
+SHA1 (patch-aa) = 6012886156a54054cebf7f184d69a0cd0b1ad17b
diff --git a/net/haproxy/files/haproxy.sh b/net/haproxy/files/haproxy.sh
new file mode 100644
index 00000000000..bc2b733f9f3
--- /dev/null
+++ b/net/haproxy/files/haproxy.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: haproxy.sh,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $
+#
+
+# PROVIDE: haproxy
+# REQUIRE: network
+
+$_rc_subr_loaded . /etc/rc.subr
+
+name="haproxy"
+rcvar=$name
+command="/usr/pkg/sbin/${name}"
+conf_file="/usr/pkg/etc/${name}.cfg"
+required_files="${conf_file}"
+command_args="-f $conf_file"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/net/haproxy/patches/patch-aa b/net/haproxy/patches/patch-aa
new file mode 100644
index 00000000000..1a87d31d193
--- /dev/null
+++ b/net/haproxy/patches/patch-aa
@@ -0,0 +1,53 @@
+$NetBSD: patch-aa,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $
+
+Add support for NetBSD.
+
+--- Makefile.orig 2011-03-09 08:00:16.000000000 +0000
++++ Makefile
+@@ -71,7 +71,7 @@ DOCDIR = $(PREFIX)/doc/haproxy
+ # Use TARGET=<target_name> to optimize for a specifc target OS among the
+ # following list (use the default "generic" if uncertain) :
+ # generic, linux22, linux24, linux24e, linux26, solaris,
+-# freebsd, openbsd, cygwin, custom
++# freebsd, netbsd, openbsd, cygwin, custom
+ TARGET =
+
+ #### TARGET CPU
+@@ -89,7 +89,6 @@ ARCH =
+
+ #### Toolchain options.
+ # GCC is normally used both for compiling and linking.
+-CC = gcc
+ LD = $(CC)
+
+ #### Debug flags (typically "-g").
+@@ -228,6 +227,12 @@ ifeq ($(TARGET),freebsd)
+ USE_TPROXY = implicit
+ USE_LIBCRYPT = implicit
+ else
++ifeq ($(TARGET),netbsd)
++ # This is for NetBSD
++ USE_POLL = implicit
++ USE_KQUEUE = implicit
++ USE_TPROXY = implicit
++else
+ ifeq ($(TARGET),openbsd)
+ # This is for OpenBSD >= 3.0
+ USE_POLL = implicit
+@@ -242,6 +247,7 @@ ifeq ($(TARGET),cygwin)
+ TARGET_CFLAGS = $(if $(filter 1.5.%, $(shell uname -r)), -DUSE_IPV6 -DAF_INET6=23 -DINET6_ADDRSTRLEN=46, )
+ endif # cygwin
+ endif # openbsd
++endif # netbsd
+ endif # freebsd
+ endif # solaris
+ endif # linux26
+@@ -473,7 +479,7 @@ all:
+ @echo "Please choose the target among the following supported list :"
+ @echo
+ @echo " linux26, linux24, linux24e, linux22, solaris"
+- @echo " freebsd, openbsd, cygwin, custom, generic"
++ @echo " freebsd, netbsd, openbsd, cygwin, custom, generic"
+ @echo
+ @echo "Use \"generic\" if you don't want any optimization, \"custom\" if you"
+ @echo "want to precisely tweak every option, or choose the target which"