aboutsummaryrefslogtreecommitdiff
path: root/www/gatling/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'www/gatling/Makefile')
-rw-r--r--www/gatling/Makefile118
1 files changed, 56 insertions, 62 deletions
diff --git a/www/gatling/Makefile b/www/gatling/Makefile
index 563d4afe692c..fbc06f22330f 100644
--- a/www/gatling/Makefile
+++ b/www/gatling/Makefile
@@ -1,8 +1,7 @@
PORTNAME= gatling
-PORTVERSION= 0.15
-PORTREVISION= 2
+PORTVERSION= 0.16
CATEGORIES= www benchmarks ftp
-MASTER_SITES= http://www.fefe.de/gatling/
+MASTER_SITES= https://www.fefe.de/gatling/
MAINTAINER= coco@executive-computing.de
COMMENT= High performance webserver with scalability benchmark tools
@@ -10,82 +9,75 @@ WWW= https://www.fefe.de/gatling/
LICENSE= GPLv2
-BROKEN= Outdated and doesn't compile "ld: error: duplicate symbol: first_deferred"
BROKEN_mips= fails to compile: dirfd.c: error: expected ';', ',' or ')' before 'key'
BROKEN_mips64= fails to compile: dirfd.c: error: expected ';', ',' or ')' before 'key'
-DEPRECATED= Broken since 2021
-EXPIRATION_DATE= 2023-03-21
-BUILD_DEPENDS= libowfat>=0.31:devel/libowfat
+BUILD_DEPENDS= libowfat>=0.32:devel/libowfat
-USES= compiler:c++11-lang gmake ssl tar:xz
+USES= compiler:c++11-lang gmake localbase:ldflags ssl tar:xz
USE_RC_SUBR= gatling
-CFLAGS+= -I${LOCALBASE}/include/libowfat -I${OPENSSLINC} -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB}
-
MAKEFILE= GNUmakefile
-bin= dl
-sbin= gatling
-GATLING8= gatling.8
-PLIST_FILES= man/man8/gatling.8.gz
+CFLAGS+= -I${LOCALBASE}/include/libowfat -I${OPENSSLINC}
+# Make alloca() prototype visible
+CFLAGS+= -D__BSD_VISIBLE
+# Make crypt() prototype visible
+CFLAGS+= -D__XSI_VISIBLE
+LDFLAGS+= -L${OPENSSLLIB}
+
+PLIST_FILES= ${PLIST_BIN:S,^,bin/,} \
+ ${PLIST_SBIN:S,^,sbin/,} \
+ man/man8/gatling.8.gz \
+ sbin/gatling_wrapper
+
PORTDOCS= CHANGES README README.antidos README.cgi README.ftp \
- README.htaccess \
- README.http README.performance README.prefetch README.proxy \
- README.redirect
-PORTEXAMPLES= run-gatling cgi acc getlinks hcat hitprofile matchiprange \
- referrer
-
-OPTIONS_DEFINE= BENCHMARKS SMB TLS ZLIB OPTIMIZED_CFLAGS DOCS EXAMPLES DEBUG
-OPTIONS_SUB= yes
-OPTIONS_DEFAULT= BENCHMARKS SMB TLS ZLIB OPTIMIZED_CFLAGS
+ README.htaccess README.http README.performance README.prefetch \
+ README.proxy README.redirect
+PORTEXAMPLES= acc cgi getlinks hcat hitprofile matchiprange referrer \
+ run-gatling
+
+OPTIONS_DEFINE= BENCHMARKS BROKEN_ITOJUN_V6 DEBUG DOCS EXAMPLES \
+ OPTIMIZED_CFLAGS SMB TLS ZLIB
+OPTIONS_DEFAULT= BENCHMARKS OPTIMIZED_CFLAGS SMB TLS ZLIB
+OPTIONS_SUB= yes
+
BENCHMARKS_DESC= Install some benchmark programs
+BROKEN_ITOJUN_V6_DESC= Works around problems binding to IPv4 addresses
TLS_DESC= Build and install tlsgatling
ZLIB_DESC= Compress outgoing data
-.include <bsd.port.pre.mk>
+BENCHMARKS_MAKE_ENV= BENCHMARKS=1
+BENCHMARKS_PLIST_FILES= man/man1/bench.1.gz
+BENCHMARKS_PORTDOCS= README.bindbench README.forkbench \
+ README.httpbench README.manymapbench \
+ README.mmapbench
+BENCHMARKS_PORTEXAMPLES= prep run-bench
+BENCHMARKS_VARS= BENCH1=bench.1 \
+ PLIST_BIN+=bindbench forkbench forksbench httpbench ioerr manymapbench mktestdata mmapbench pthreadbench
+# Causes a warning about "KAME madness" but works around
+# gatling failing to bind to IPv4 addresses.
+BROKEN_ITOJUN_V6_CFLAGS= -D__broken_itojun_v6__
+DEBUG_MAKE_ENV= DEBUG=1
+DEBUG_VARS= STRIP=
+SMB_USES= iconv
+SMB_MAKE_ENV= ICONV=1
+SMB_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-disable_smb
+TLS_MAKE_ENV= TLSGATLING=1
+TLS_PORTDOCS= README.tls
+TLS_VARS= PLIST_SBIN+=tlsgatling
+ZLIB_MAKE_ENV= ZLIB=1
+
+PLIST_BIN= dl
+PLIST_SBIN= gatling
+GATLING8= gatling.8
-.if ${PORT_OPTIONS:MBENCHMARKS}
-PORTDOCS+= README.bindbench README.forkbench README.httpbench \
- README.manymapbench README.mmapbench
-bin+= bindbench forkbench forksbench httpbench ioerr manymapbench \
- mktestdata mmapbench pthreadbench
-PORTEXAMPLES+= prep run-bench
-BENCH1= bench.1
-PLIST_FILES+= man/man1/bench.1.gz
-MAKE_ENV+= BENCHMARKS=1
-.endif
+.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} && !defined(WITH_DEBUG)
CFLAGS+= -O2 -fomit-frame-pointer
.endif
-.if ${PORT_OPTIONS:MSMB}
-USES+= iconv
-CFLAGS+= -I${LOCALBASE}/include
-MAKE_ENV+= ICONV=1
-.else
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-disable_smb
-.endif
-
-.if ${PORT_OPTIONS:MTLS}
-MAKE_ENV+= TLSGATLING=1
-sbin+= tlsgatling
-PORTDOCS+= README.tls
-.endif
-
-.if ${PORT_OPTIONS:MZLIB}
-MAKE_ENV+= ZLIB=1
-.endif
-
-.if ${PORT_OPTIONS:MDEBUG}
-MAKE_ENV+= DEBUG=1
-STRIP=
-.endif
-
-PLIST_FILES+= ${bin:S,^,bin/,} ${sbin:S,^,sbin/,} sbin/gatling_wrapper
-
post-patch:
${REINPLACE_CMD} -e 's/\(trymd5.c\) \(-lcrypto\)/\1 $$(LDFLAGS) \2/' \
${WRKSRC}/GNUmakefile
@@ -94,8 +86,8 @@ pre-install:
cd ${WRKSRC} && ${CP} gatling.1 gatling.8
do-install:
- cd ${WRKSRC} && ${INSTALL_PROGRAM} ${bin} ${STAGEDIR}${PREFIX}/bin
- cd ${WRKSRC} && ${INSTALL_PROGRAM} ${sbin} ${STAGEDIR}${PREFIX}/sbin
+ cd ${WRKSRC} && ${INSTALL_PROGRAM} ${PLIST_BIN} ${STAGEDIR}${PREFIX}/bin
+ cd ${WRKSRC} && ${INSTALL_PROGRAM} ${PLIST_SBIN} ${STAGEDIR}${PREFIX}/sbin
${INSTALL_SCRIPT} ${FILESDIR}/gatling_wrapper ${STAGEDIR}${PREFIX}/sbin
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC} && ${INSTALL_SCRIPT} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}
@@ -103,6 +95,8 @@ do-install:
cd ${WRKSRC} && ${INSTALL_MAN} ${BENCH1} ${STAGEDIR}${MAN1PREFIX}/man/man1
.endif
cd ${WRKSRC} && ${INSTALL_MAN} ${GATLING8} ${STAGEDIR}${MAN8PREFIX}/man/man8
+
+do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}