summaryrefslogtreecommitdiff
path: root/net/haproxy
diff options
context:
space:
mode:
authormorr <morr>2011-10-31 23:34:07 +0000
committermorr <morr>2011-10-31 23:34:07 +0000
commitc24500779ef2423ad1c3807afd83980a7a957764 (patch)
treef1e6760462511632da6d21170de3c381ea6bceba /net/haproxy
parent2205412402b6a9dd6374e6b5af5a51cca5e9b0f8 (diff)
downloadpkgsrc-c24500779ef2423ad1c3807afd83980a7a957764.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"