git: 9d4cba8b7c5a - main - www/freenginx-devel: enable third-party lua module
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Nov 2025 04:19:02 UTC
The branch main has been updated by osa:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9d4cba8b7c5a921ea2fffd5ec13816d4d337f564
commit 9d4cba8b7c5a921ea2fffd5ec13816d4d337f564
Author: Sergey A. Osokin <osa@FreeBSD.org>
AuthorDate: 2025-11-02 04:18:21 +0000
Commit: Sergey A. Osokin <osa@FreeBSD.org>
CommitDate: 2025-11-02 04:18:21 +0000
www/freenginx-devel: enable third-party lua module
Bump PORTREVISION.
Sponsored by: tipi.work
---
www/freenginx-devel/Makefile | 2 +-
www/freenginx-devel/Makefile.extmod | 2 ++
www/freenginx-devel/Makefile.ignore | 4 ----
.../files/extra-patch-ngx_http_lua_subrequest.c | 26 ++++++++++++++++++++++
.../files/extra-patch-ngx_http_lua_time.c | 24 ++++++++++++++++++++
5 files changed, 53 insertions(+), 5 deletions(-)
diff --git a/www/freenginx-devel/Makefile b/www/freenginx-devel/Makefile
index 7829a73dd5e3..79a6934eac6e 100644
--- a/www/freenginx-devel/Makefile
+++ b/www/freenginx-devel/Makefile
@@ -1,7 +1,7 @@
PORTNAME= freenginx
PORTVERSION= ${NGINX_VERSION}
.include "version.mk"
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= www
MASTER_SITES= https://freenginx.org/download/ \
LOCAL/osa
diff --git a/www/freenginx-devel/Makefile.extmod b/www/freenginx-devel/Makefile.extmod
index b2c405f920b5..6f5b2cc0043d 100644
--- a/www/freenginx-devel/Makefile.extmod
+++ b/www/freenginx-devel/Makefile.extmod
@@ -200,6 +200,8 @@ LUA_CONFIGURE_ENV= LUAJIT_INC=${LOCALBASE}/include/luajit-2.1 \
LUAJIT_LIB=${LOCALBASE}/lib
LUA_GH_TUPLE= openresty:lua-nginx-module:v0.10.28:lua
LUA_VARS= DSO_EXTMODS+=lua
+LUA_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ngx_http_lua_time.c \
+ ${PATCHDIR}/extra-patch-ngx_http_lua_subrequest.c
LUASTREAM_IMPLIES= DEVEL_KIT
LUASTREAM_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty
diff --git a/www/freenginx-devel/Makefile.ignore b/www/freenginx-devel/Makefile.ignore
index 5197fc544c2d..1e0abd264dfd 100644
--- a/www/freenginx-devel/Makefile.ignore
+++ b/www/freenginx-devel/Makefile.ignore
@@ -2,10 +2,6 @@
IGNORE= upload module: patching is required
.endif
-.if ${PORT_OPTIONS:MLUA}
-IGNORE= lua module: patching is required
-.endif
-
.if ${PORT_OPTIONS:MLUASTREAM}
IGNORE= lua stream module: patching is required
.endif
diff --git a/www/freenginx-devel/files/extra-patch-ngx_http_lua_subrequest.c b/www/freenginx-devel/files/extra-patch-ngx_http_lua_subrequest.c
new file mode 100644
index 000000000000..a72bcb32b5c8
--- /dev/null
+++ b/www/freenginx-devel/files/extra-patch-ngx_http_lua_subrequest.c
@@ -0,0 +1,26 @@
+--- ../lua-nginx-module-0.10.28/src/ngx_http_lua_subrequest.c.orig 2025-11-01 23:46:33.237622000 -0400
++++ ../lua-nginx-module-0.10.28/src/ngx_http_lua_subrequest.c 2025-11-01 23:52:42.602198000 -0400
+@@ -1373,7 +1373,9 @@
+ ngx_str_t *uri, ngx_str_t *args, ngx_http_request_t **psr,
+ ngx_http_post_subrequest_t *ps, ngx_uint_t flags)
+ {
++#if !defined freenginx
+ ngx_time_t *tp;
++#endif
+ ngx_connection_t *c;
+ ngx_http_request_t *sr;
+ ngx_http_core_srv_conf_t *cscf;
+@@ -1501,9 +1503,13 @@
+ sr->subrequests = r->subrequests - 1;
+ #endif
+
++#if defined freenginx
++ sr->start_time = ngx_current_msec;
++#else
+ tp = ngx_timeofday();
+ sr->start_sec = tp->sec;
+ sr->start_msec = tp->msec;
++#endif
+
+ r->main->count++;
+
diff --git a/www/freenginx-devel/files/extra-patch-ngx_http_lua_time.c b/www/freenginx-devel/files/extra-patch-ngx_http_lua_time.c
new file mode 100644
index 000000000000..8b94b95de54e
--- /dev/null
+++ b/www/freenginx-devel/files/extra-patch-ngx_http_lua_time.c
@@ -0,0 +1,24 @@
+--- ../lua-nginx-module-0.10.28/src/ngx_http_lua_time.c.orig 2025-01-17 00:24:35.000000000 -0500
++++ ../lua-nginx-module-0.10.28/src/ngx_http_lua_time.c 2025-11-02 00:11:45.551096000 -0400
+@@ -28,7 +28,21 @@
+ double
+ ngx_http_lua_ffi_req_start_time(ngx_http_request_t *r)
+ {
++#if defined freenginx
++ ngx_time_t *tp;
++
++ tp = ngx_timeofday();
++ tp->sec -= (ngx_current_msec - r->start_time) / 1000;
++ tp->msec -= (ngx_current_msec - r->start_time) % 1000;
++ if (tp->msec > NGX_MAX_INT_T_VALUE) {
++ tp->msec += 1000;
++ tp->sec -= 1;
++ }
++
++ return tp->sec + tp->msec / 1000.0;
++#else
+ return r->start_sec + r->start_msec / 1000.0;
++#endif
+ }
+
+