1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-03 06:04:53 +00:00
freebsd-ports/www/unit/Makefile
Sergey A. Osokin 563db0f94e */*unit*: update NGINX Unit: 1.31.1 -> 1.32.0
<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>
2024-03-18 10:46:50 -04:00

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>