summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlo Strub <cs@FreeBSD.org>2014-09-05 21:23:29 +0000
committerCarlo Strub <cs@FreeBSD.org>2014-09-05 21:23:29 +0000
commit3c3af2eb376eb78479442552b5c61e60ed57400f (patch)
tree8a530b06ee4facb0555c4f31cf3f37cc2f127178
parent1119481aa9580c8dcca37e22c56a4fcc5e7492de (diff)
downloadfreebsd-ports-3c3af2eb376eb78479442552b5c61e60ed57400f.zip
- The update provides options on par with original lib source, except share lib
part. - change static lib to be shared lib by default, which is required in my another ports. - about 8.4 release broken: the issue will be resolved by adding one include file. There is one line missing in 8.4 tcp.h file. PR: 193131 Submitted by: Jingfeng Yan (maintainer) MFH: 2014q3
-rw-r--r--www/libevhtp/Makefile39
-rw-r--r--www/libevhtp/files/patch-evhtp.c28
2 files changed, 59 insertions, 8 deletions
diff --git a/www/libevhtp/Makefile b/www/libevhtp/Makefile
index f97138c159b1..1e48005715f1 100644
--- a/www/libevhtp/Makefile
+++ b/www/libevhtp/Makefile
@@ -2,6 +2,7 @@
PORTNAME= libevhtp
PORTVERSION= 1.2.9
+PORTREVISION= 1
CATEGORIES= www
MAINTAINER= yan_jingfeng@yahoo.com
@@ -19,22 +20,44 @@ GH_TAGNAME= ${GH_COMMIT}
GH_COMMIT= 3886506
USES= cmake:outsource
-
+USE_LDCONFIG= YES
CMAKE_ARGS= -DCMAKE_INCLUDE_PATH:PATH=include/event2 \
-DCMAKE_LIBRARY_PATH:PATH=lib/event2
CMAKE_BUILD_TYPE= Release
+OPTIONS_DEFINE= EVHTP_DISABLE_SSL EVHTP_DISABLE_EVTHR EVHTP_DISABLE_REGEX \
+ EVHTP_BUILD_SHARED EVHTP_USE_DEFER_ACCEPT
+EVHTP_DISABLE_SSL_DESC= Disable ssl support
+
+EVHTP_DISABLE_SSL_CMAKE_ON= -DEVHTP_DISABLE_SSL:STRING=ON
+EVHTP_DISABLE_SSL_CMAKE_OFF= -DEVHTP_DISABLE_SSL:STRING=OFF
+EVHTP_DISABLE_EVTHR_DESC= Disable evthread support
+EVHTP_DISABLE_EVTHR_CMAKE_ON= -DEVHTP_DISABLE_EVTHR:STRING=ON
+EVHTP_DISABLE_EVTHR_CMAKE_OFF= -DEVHTP_DISABLE_EVTHR:STRING=OFF
+EVHTP_DISABLE_REGEX_DESC= Disable regex support
+EVHTP_DISABLE_REGEX_CMAKE_ON= -DEVHTP_DISABLE_REGEX:STRING=ON
+EVHTP_DISABLE_REGEX_CMAKE_OFF= -DEVHTP_DISABLE_REGEX:STRING=OFF
+EVHTP_BUILD_SHARED_DESC= Build shared library too
+EVHTP_BUILD_SHARED_CMAKE_ON= -DEVHTP_BUILD_SHARED:STRING=ON
+EVHTP_BUILD_SHARED_CMAKE_OFF= -DEVHTP_BUILD_SHARED:STRING=OFF
+EVHTP_USE_DEFER_ACCEPT_DESC= Enable TCP_DEFER_ACCEPT
+EVHTP_USE_DEFER_ACCEPT_CMAKE_ON= -DEVHTP_USE_DEFER_ACCEPT:STRING=ON
+EVHTP_USE_DEFER_ACCEPT_CMAKE_OFF= -DEVHTP_USE_DEFER_ACCEPT:STRING=OFF
+
+OPTIONS_DEFAULT= EVHTP_BUILD_SHARED
+
+.include <bsd.port.options.mk>
+
PLIST_FILES= include/evhtp.h\
include/evhtp-config.h \
include/evthr.h \
include/htparse.h \
- include/onigposix.h \
- lib/libevhtp.a
-
-.include <bsd.port.pre.mk>
+ include/onigposix.h
-.if ${OPSYS} == FreeBSD && ${OSVERSION} < 900000
-BROKEN= Does not build on FreeBSD 8.x
+.if ${PORT_OPTIONS:MEVHTP_BUILD_SHARED}
+PLIST_FILES+= lib/libevhtp.so
+.else
+PLIST_FILES+= lib/libevhtp.a
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/www/libevhtp/files/patch-evhtp.c b/www/libevhtp/files/patch-evhtp.c
new file mode 100644
index 000000000000..9354ceb52984
--- /dev/null
+++ b/www/libevhtp/files/patch-evhtp.c
@@ -0,0 +1,28 @@
+--- evhtp.c.orig 2014-03-23 07:50:50.000000000 -0400
++++ evhtp.c 2014-08-28 09:08:40.970619326 -0400
+@@ -6,6 +6,10 @@
+ #include <signal.h>
+ #include <strings.h>
+ #include <inttypes.h>
++#ifdef SO_ACCEPTFILTER
++#include <sys/types.h>
++#include <sys/socket.h>
++#endif
+ #ifndef WIN32
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+@@ -2740,7 +2744,14 @@
+
+ sock = evconnlistener_get_fd(htp->server);
+
++#ifdef TCP_DEFER_ACCEPT
+ setsockopt(sock, IPPROTO_TCP, TCP_DEFER_ACCEPT, &one, (ev_socklen_t)sizeof(one));
++#elif SO_ACCEPTFILTER
++ struct accept_filter_arg afa;
++ bzero(&afa, sizeof(afa));
++ strcpy(afa.af_name, "httpready");
++ setsockopt(sock, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
++#endif
+ setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &one, (ev_socklen_t)sizeof(one));
+ }
+ #endif