diff options
author | Carlo Strub <cs@FreeBSD.org> | 2014-09-05 21:23:29 +0000 |
---|---|---|
committer | Carlo Strub <cs@FreeBSD.org> | 2014-09-05 21:23:29 +0000 |
commit | 3c3af2eb376eb78479442552b5c61e60ed57400f (patch) | |
tree | 8a530b06ee4facb0555c4f31cf3f37cc2f127178 | |
parent | 1119481aa9580c8dcca37e22c56a4fcc5e7492de (diff) | |
download | freebsd-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/Makefile | 39 | ||||
-rw-r--r-- | www/libevhtp/files/patch-evhtp.c | 28 |
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 |