mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
563db0f94e
<ChangeLog> *) Feature: WebAssembly Components using WASI interfaces defined in wasi:http/proxy@0.2.0. *) Feature: conditional access logging. *) Feature: NJS variables access. *) Feature: $request_id variable contains a string that is formed using random data and can be used as a unique request identifier. *) Feature: options to set control socket permissions. *) Feature: Ruby arrays in response headers, improving compatibility with Rack v3.0. *) Feature: Python bytearray response bodies for ASGI applications. *) Bugfix: router could crash while sending large files. Thanks to rustedsword. *) Bugfix: serving static files from a network filesystem could lead to error. *) Bugfix: "uidmap" and "gidmap" isolation options validation. *) Bugfix: abstract UNIX socket name could be corrupted during configuration validation. Thanks to Alejandro Colomar. *) Bugfix: HTTP header field value encoding could be misinterpreted in Python module. *) Bugfix: Node.js http.createServer() accepts and ignores the "options" argument, improving compatibility with strapi applications, among others. *) Bugfix: ServerRequest.flushHeaders() implemented in Node.js module to make it compatible with Next.js. *) Bugfix: ServerRequest.httpVersion variable format in Node.js module. *) Bugfix: Node.js module handles standard library imports prefixed with "node:", making it possible to run newer Nuxt applications, among others. *) Bugfix: Node.js tarball location changed to avoid build/install errors. *) Bugfix: Go module sets environment variables necessary for building on macOS/arm64 systems. </ChangeLog>
142 lines
3.2 KiB
Makefile
142 lines
3.2 KiB
Makefile
PORTNAME= unit
|
|
PORTVERSION= ${UNIT_VERSION}
|
|
CATEGORIES= www
|
|
MASTER_SITES?= https://unit.nginx.org/download/
|
|
|
|
MAINTAINER= osa@FreeBSD.org
|
|
COMMENT?= Dynamic web application server
|
|
WWW= https://unit.nginx.org
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
USES+= compiler:c11 cpe
|
|
|
|
CPE_VENDOR= nginx
|
|
CPE_PRODUCT= unit
|
|
|
|
OPTIONS_DEFINE?= \
|
|
DEBUG \
|
|
IPV6 \
|
|
NJS \
|
|
SSL \
|
|
UNIXSOCK
|
|
OPTIONS_DEFAULT?= IPV6 PCRE2 SSL UNIXSOCK
|
|
|
|
OPTIONS_RADIO+= REGEX
|
|
OPTIONS_RADIO_REGEX= NOPCRE PCRE PCRE2
|
|
|
|
DEBUG_DESC= Enable debug logging
|
|
REGEX_DESC= Support regular expressions
|
|
NJS_DESC= Enable NGINX JavaScript
|
|
NOPCRE_DESC= No support for Regular Expressions
|
|
PCRE_DESC= Regular Expressions via devel/pcre
|
|
PCRE2_DESC= Regular Expressions via devel/pcre2
|
|
SSL_DESC= Enable SSL/TLS
|
|
UNIXSOCK_DESC= Enable unix sockets
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
HAS_CONFIGURE= yes
|
|
|
|
UNIT_VARDIR?= /var
|
|
UNIT_DBDIR?= ${UNIT_VARDIR}/db/${PORTNAME}
|
|
UNIT_LOGDIR?= ${UNIT_VARDIR}/log/${PORTNAME}
|
|
UNIT_LOGFILE?= ${UNIT_LOGDIR}/${PORTNAME}.log
|
|
UNIT_PIDFILE?= ${UNIT_RUNDIR}/${PORTNAME}.pid
|
|
UNIT_RUNDIR?= ${UNIT_VARDIR}/run/unit
|
|
UNIT_SOCK?= ${UNIT_RUNDIR}/control.unit.sock
|
|
UNIT_TMPDIR?= ${UNIT_VARDIR}/tmp/unit
|
|
|
|
CONFIGURE_ARGS= --prefix=${PREFIX} \
|
|
--ld-opt="-L${LOCALBASE}/lib" \
|
|
--log=${UNIT_LOGFILE} \
|
|
--logdir=${UNIT_LOGDIR} \
|
|
--modulesdir=${PREFIX}/libexec/unit/modules \
|
|
--pid=${UNIT_PIDFILE} \
|
|
--runstatedir=${UNIT_RUNDIR} \
|
|
--statedir=${UNIT_DBDIR} \
|
|
--tmpdir=${UNIT_TMPDIR} \
|
|
--user=${WWWOWN} --group=${WWWGRP}
|
|
|
|
USERS?= ${WWWOWN}
|
|
GROUPS?=${WWWGRP}
|
|
|
|
ALL_TARGET=
|
|
|
|
PLIST_DIRS?= libexec/unit/modules \
|
|
libexec/unit
|
|
PLIST_FILES?= sbin/unitd \
|
|
share/man/man8/unitd.8.gz
|
|
|
|
USE_RC_SUBR?= unitd
|
|
SUB_LIST= PREFIX=${PREFIX} \
|
|
UNIT_PIDFILE=${UNIT_PIDFILE} \
|
|
UNIT_SOCK=${UNIT_SOCK} \
|
|
UNIT_TMPDIR=${UNIT_TMPDIR} \
|
|
WWWOWN=${WWWOWN} \
|
|
WWWGRP=${WWWGRP}
|
|
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
CONFIGURE_ARGS+=--debug
|
|
.endif
|
|
|
|
.if empty(PORT_OPTIONS:MIPV6)
|
|
CONFIGURE_ARGS+=--no-ipv6
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MNJS}
|
|
USES+= pkgconfig
|
|
BUILD_DEPENDS+= ${LOCALBASE}/lib/libnjs.a:devel/libnjs
|
|
CONFIGURE_ARGS+=--njs \
|
|
--cc-opt="-I${LOCALBASE}/include" \
|
|
--ld-opt="-L${LOCALBASE}/lib"
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MNOPCRE}
|
|
CONFIGURE_ARGS+=--no-regex
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPCRE}
|
|
CONFIGURE_ARGS+=--no-pcre2
|
|
LIB_DEPENDS+= libpcre.so:devel/pcre
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPCRE2}
|
|
LIB_DEPENDS+= libpcre2-8.so:devel/pcre2
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSSL}
|
|
CONFIGURE_ARGS+=--openssl
|
|
USES+= ssl
|
|
.endif
|
|
|
|
.if empty(PORT_OPTIONS:MUNIXSOCK)
|
|
CONFIGURE_ARGS+=--no-unix-sockets
|
|
.else
|
|
CONFIGURE_ARGS+=--control=unix:${UNIT_SOCK}
|
|
.endif
|
|
|
|
.if defined(UNIT_MODNAME) && ${UNIT_MODNAME:Mperl*}
|
|
# Fix build failure on clang >= 12
|
|
CFLAGS+= -Wno-compound-token-split-by-macro
|
|
.endif
|
|
|
|
.if !target(post-install)
|
|
post-install:
|
|
${MKDIR} ${STAGEDIR}${UNIT_DBDIR}
|
|
${MKDIR} ${STAGEDIR}${UNIT_LOGDIR}
|
|
${MKDIR} ${STAGEDIR}${UNIT_RUNDIR}
|
|
${MKDIR} ${STAGEDIR}${UNIT_TMPDIR}
|
|
${ECHO_CMD} @dir ${UNIT_DBDIR} >> ${TMPPLIST}
|
|
${ECHO_CMD} @dir ${UNIT_LOGDIR} >> ${TMPPLIST}
|
|
${ECHO_CMD} @dir ${UNIT_RUNDIR} >> ${TMPPLIST}
|
|
${ECHO_CMD} @dir ${UNIT_TMPDIR} >> ${TMPPLIST}
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/libexec/unit/modules
|
|
${INSTALL_MAN} ${WRKSRC}/build/share/man/man8/unitd.8 \
|
|
${STAGEDIR}${PREFIX}/share/man/man8
|
|
.endif
|
|
|
|
.include "../../www/unit/version.mk"
|
|
.include <bsd.port.mk>
|