git: 8bd5afd25859 - main - www/nginx-module-ajp: Add New Port

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Tue, 06 Oct 2026 15:04:42 UTC
The branch main has been updated by joneum:

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

commit 8bd5afd25859b23c504619fdfe5003275d8fb3d6
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-10-06 15:03:06 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-10-06 15:04:32 +0000

    www/nginx-module-ajp: Add New Port
    
    The ajp module proxies requests to a backend over AJP13 instead of HTTP.
    This port installs the module sources only, the module itself is built
    by the nginx ports.
    
    Sponsored by:   Netzkommune GmbH
---
 www/Makefile                              |  1 +
 www/nginx-module-ajp/Makefile             | 45 +++++++++++++++++++++++++++++++
 www/nginx-module-ajp/distinfo             |  3 +++
 www/nginx-module-ajp/files/pkg-message.in | 14 ++++++++++
 www/nginx-module-ajp/pkg-descr            |  6 +++++
 5 files changed, 69 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 95bf43f033c4..2aa7f90ee667 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -534,6 +534,7 @@
     SUBDIR += nginx-devel
     SUBDIR += nginx-full
     SUBDIR += nginx-lite
+    SUBDIR += nginx-module-ajp
     SUBDIR += nginx-module-array-var
     SUBDIR += nginx-module-cache-purge
     SUBDIR += nginx-module-form-input
diff --git a/www/nginx-module-ajp/Makefile b/www/nginx-module-ajp/Makefile
new file mode 100644
index 000000000000..31d0900487ba
--- /dev/null
+++ b/www/nginx-module-ajp/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	nginx-module-ajp
+DISTVERSION=	0.3.0.20210820
+CATEGORIES=	www
+
+MAINTAINER=	joneum@FreeBSD.org
+COMMENT=	Sources of the AJP module for the NGINX ports
+WWW=		https://github.com/msva/nginx_ajp_module
+
+LICENSE=	BSD2CLAUSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	msva
+GH_PROJECT=	nginx_ajp_module
+GH_TAGNAME=	fcbb2cc
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+
+_MODDIR=	share/nginx/modules/${PORTNAME}
+MODULESDIR=	${PREFIX}/${_MODDIR}
+
+PLIST_FILES=	${_MODDIR}/config \
+		${_MODDIR}/ngx_http_ajp.c \
+		${_MODDIR}/ngx_http_ajp.h \
+		${_MODDIR}/ngx_http_ajp_handler.c \
+		${_MODDIR}/ngx_http_ajp_handler.h \
+		${_MODDIR}/ngx_http_ajp_module.c \
+		${_MODDIR}/ngx_http_ajp_module.h \
+		${_MODDIR}/ngx_http_ajp_msg.c
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${MODULESDIR}
+	${INSTALL_DATA} ${WRKSRC}/config \
+		${WRKSRC}/ngx_http_ajp.c \
+		${WRKSRC}/ngx_http_ajp.h \
+		${WRKSRC}/ngx_http_ajp_handler.c \
+		${WRKSRC}/ngx_http_ajp_handler.h \
+		${WRKSRC}/ngx_http_ajp_module.c \
+		${WRKSRC}/ngx_http_ajp_module.h \
+		${WRKSRC}/ngx_http_ajp_msg.c \
+		${STAGEDIR}${MODULESDIR}
+
+.include <bsd.port.mk>
diff --git a/www/nginx-module-ajp/distinfo b/www/nginx-module-ajp/distinfo
new file mode 100644
index 000000000000..f997aae0f7c3
--- /dev/null
+++ b/www/nginx-module-ajp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1791281366
+SHA256 (msva-nginx_ajp_module-0.3.0.20210820-fcbb2cc_GH0.tar.gz) = 522e94c59f5783f281d868ede2adf325bf2f8ffb9e62cf8451d4b9ac0516916c
+SIZE (msva-nginx_ajp_module-0.3.0.20210820-fcbb2cc_GH0.tar.gz) = 110807
diff --git a/www/nginx-module-ajp/files/pkg-message.in b/www/nginx-module-ajp/files/pkg-message.in
new file mode 100644
index 000000000000..3ac709f81868
--- /dev/null
+++ b/www/nginx-module-ajp/files/pkg-message.in
@@ -0,0 +1,14 @@
+[
+{ type: install
+  message: <<EOM
+This package contains the sources of the AJP module only.  It does not
+install a loadable module.
+
+The module itself is built by the nginx ports.  To use AJP, build
+www/nginx, www/nginx-devel or www/freenginx with the AJP option
+enabled.  Those ports pick the sources up from
+%%PREFIX%%/share/nginx/modules/nginx-module-ajp and produce
+ngx_http_ajp_module.so.
+EOM
+}
+]
diff --git a/www/nginx-module-ajp/pkg-descr b/www/nginx-module-ajp/pkg-descr
new file mode 100644
index 000000000000..075e3ebb108d
--- /dev/null
+++ b/www/nginx-module-ajp/pkg-descr
@@ -0,0 +1,6 @@
+The ajp module lets nginx speak AJP, the binary protocol that Apache's
+mod_proxy_ajp uses, so that a Tomcat or a JBoss behind it can be reached
+over its AJP connector instead of over HTTP.
+
+This port only installs the module sources.  The module itself is built
+by the nginx ports when their AJP option is enabled.