git: a0de3ad5e039 - main - www/nginx-module-let: Add New Port

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Sat, 10 Oct 2026 18:02:44 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a0de3ad5e039973b1e3da2a11e579d8b142598db

commit a0de3ad5e039973b1e3da2a11e579d8b142598db
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-10-10 18:00:17 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-10-10 18:02:32 +0000

    www/nginx-module-let: Add New Port
    
    Sources of the let module for the NGINX ports.  The module adds a let
    directive that computes an expression and assigns the result to a
    variable, with arithmetic, string concatenation and functions such as
    length, substr, hash, md5 and sha1.
    
    Sponsored by:   Netzkommune GmbH
---
 www/Makefile                              |  1 +
 www/nginx-module-let/Makefile             | 40 +++++++++++++++++++++++++++++++
 www/nginx-module-let/distinfo             |  3 +++
 www/nginx-module-let/files/pkg-message.in | 14 +++++++++++
 www/nginx-module-let/pkg-descr            |  8 +++++++
 5 files changed, 66 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 4da87866a082..d178ba923899 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -538,6 +538,7 @@
     SUBDIR += nginx-module-array-var
     SUBDIR += nginx-module-cache-purge
     SUBDIR += nginx-module-form-input
+    SUBDIR += nginx-module-let
     SUBDIR += nginx-module-lua
     SUBDIR += nginx-module-lua-stream
     SUBDIR += nginx-module-ndk
diff --git a/www/nginx-module-let/Makefile b/www/nginx-module-let/Makefile
new file mode 100644
index 000000000000..3bbad88c7fce
--- /dev/null
+++ b/www/nginx-module-let/Makefile
@@ -0,0 +1,40 @@
+PORTNAME=	nginx-module-let
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.0.6
+CATEGORIES=	www
+
+MAINTAINER=	joneum@FreeBSD.org
+COMMENT=	Sources of the let module for the NGINX ports
+WWW=		https://github.com/sysadmin-labs/nginx-let-module
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sysadmin-labs
+GH_PROJECT=	nginx-let-module
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+
+_MODDIR=	share/nginx/modules/${PORTNAME}
+MODULESDIR=	${PREFIX}/${_MODDIR}
+
+PLIST_FILES=	${_MODDIR}/config \
+		${_MODDIR}/src/let.h \
+		${_MODDIR}/src/let.tab.c \
+		${_MODDIR}/src/let.tab.h \
+		${_MODDIR}/src/ngx_http_let_module.c
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${MODULESDIR}/src
+	${INSTALL_DATA} ${WRKSRC}/config ${STAGEDIR}${MODULESDIR}
+	${INSTALL_DATA} ${WRKSRC}/src/let.h \
+		${WRKSRC}/src/let.tab.c \
+		${WRKSRC}/src/let.tab.h \
+		${WRKSRC}/src/ngx_http_let_module.c \
+		${STAGEDIR}${MODULESDIR}/src
+
+.include <bsd.port.mk>
diff --git a/www/nginx-module-let/distinfo b/www/nginx-module-let/distinfo
new file mode 100644
index 000000000000..492c50601130
--- /dev/null
+++ b/www/nginx-module-let/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1791650837
+SHA256 (sysadmin-labs-nginx-let-module-v0.0.6_GH0.tar.gz) = 870a9563e19a7d7e65d986ddfe84a2f4222dfa3a2fa89c28e5c1f5509a159574
+SIZE (sysadmin-labs-nginx-let-module-v0.0.6_GH0.tar.gz) = 39822
diff --git a/www/nginx-module-let/files/pkg-message.in b/www/nginx-module-let/files/pkg-message.in
new file mode 100644
index 000000000000..4bc747218eeb
--- /dev/null
+++ b/www/nginx-module-let/files/pkg-message.in
@@ -0,0 +1,14 @@
+[
+{ type: install
+  message: <<EOM
+This package contains the sources of the let module only.  It does
+not install a loadable module.
+
+The module itself is built by the nginx ports.  To use let, build
+www/nginx, www/nginx-devel or www/freenginx with the LET option
+enabled.  Those ports pick the sources up from
+%%PREFIX%%/share/nginx/modules/nginx-module-let and produce
+ngx_http_let_module.so.
+EOM
+}
+]
diff --git a/www/nginx-module-let/pkg-descr b/www/nginx-module-let/pkg-descr
new file mode 100644
index 000000000000..e298d2b4e348
--- /dev/null
+++ b/www/nginx-module-let/pkg-descr
@@ -0,0 +1,8 @@
+The let module adds a let directive to nginx that computes an expression
+and assigns the result to a variable.  It understands arithmetic, string
+concatenation and a set of functions, among them length, substr, hash and
+the md5 and sha1 digests, so a value can be derived inside the
+configuration instead of in an upstream.
+
+This port only installs the module sources.  The module itself is built
+by the nginx ports when their LET option is enabled.