* [gentoo-commits] repo/gentoo:master commit in: www-nginx/ngx-lua-module/files/, www-nginx/ngx-lua-module/
@ 2025-07-05  7:27 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2025-07-05  7:27 UTC (permalink / raw
  To: gentoo-commits
commit:     c9fec840b1850a699d9b1187568b58d1f83dfd79
Author:     Zurab Kvachadze <zurabid2016 <AT> gmail <DOT> com>
AuthorDate: Tue Oct  1 00:46:31 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul  5 07:27:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9fec840
www-nginx/ngx-lua-module: new package, add 0.10.27
This package requires two environmental variables being set in order to
use Lua: LUAJIT_LIB and LUAJIT_INC. The former is set to /usr/${libdir},
for the latter one, the ebuild uses pkg-config directly to get the
include directory.
Signed-off-by: Zurab Kvachadze <zurabid2016 <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/37590
Signed-off-by: Sam James <sam <AT> gentoo.org>
 www-nginx/ngx-lua-module/Manifest                  |  1 +
 .../ngx-lua-module-0.10.27-always-define-NDK.patch | 29 +++++++++++
 ...dule-0.10.27-do-not-log-non-openresty-lua.patch | 41 +++++++++++++++
 www-nginx/ngx-lua-module/metadata.xml              | 21 ++++++++
 .../ngx-lua-module/ngx-lua-module-0.10.27.ebuild   | 59 ++++++++++++++++++++++
 5 files changed, 151 insertions(+)
diff --git a/www-nginx/ngx-lua-module/Manifest b/www-nginx/ngx-lua-module/Manifest
new file mode 100644
index 000000000000..245ccaf878bd
--- /dev/null
+++ b/www-nginx/ngx-lua-module/Manifest
@@ -0,0 +1 @@
+DIST ngx-lua-module-0.10.27.tar.gz 758952 BLAKE2B 3c0a85fac3452a50eb4009405d7a8f76262d3d36c844139ce3eb829eefef098641b161e0ff27487332fa21269667a838bd2d913cea1c4b183cd9cad87ac76783 SHA512 ff1f7bb593a91402453709d63c95b304ef14d805f5a7f8e6689e95b93522823b80f76baced70664c9f46e9fc8da3941f153b9cf5d1dfbabfb0ee9d9bcc8151b4
diff --git a/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-always-define-NDK.patch b/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-always-define-NDK.patch
new file mode 100644
index 000000000000..309670bcb3d5
--- /dev/null
+++ b/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-always-define-NDK.patch
@@ -0,0 +1,29 @@
+From e156f14b262ec3dce32e87dfeb0dabce4821646c Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Sun, 16 Feb 2025 22:51:03 +0100
+Subject: [PATCH] src/ngx_http_lua_common.h: always #define NDK
+
+In Gentoo, NDK is a mandatory dependency. Make life easier for everybody
+and just define the NDK macro.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ src/ngx_http_lua_common.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/ngx_http_lua_common.h b/src/ngx_http_lua_common.h
+index cc2d36a3..42a7df6b 100644
+--- a/src/ngx_http_lua_common.h
++++ b/src/ngx_http_lua_common.h
+@@ -23,6 +23,8 @@
+ #include <lualib.h>
+ #include <lauxlib.h>
+ 
++#define NDK 1
++
+ 
+ #if defined(NDK) && NDK
+ #include <ndk.h>
+-- 
+2.45.3
+
diff --git a/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-do-not-log-non-openresty-lua.patch b/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-do-not-log-non-openresty-lua.patch
new file mode 100644
index 000000000000..98c5967da149
--- /dev/null
+++ b/www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-do-not-log-non-openresty-lua.patch
@@ -0,0 +1,41 @@
+From 87a7e04982a2d2963b10965304d822554d1ec848 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Tue, 11 Feb 2025 10:57:14 +0100
+Subject: [PATCH] Do not log error if non-OpenResty Lua is used
+
+Users are perfectly capable of reading the recommendation on README and
+deciding themselves which distribution of Lua to use. There is no need
+to scream at the users each time NGINX is started.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ src/ngx_http_lua_module.c | 13 +------------
+ 1 file changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/src/ngx_http_lua_module.c b/src/ngx_http_lua_module.c
+index 63367f46..4ddf7b21 100644
+--- a/src/ngx_http_lua_module.c
++++ b/src/ngx_http_lua_module.c
+@@ -895,18 +895,7 @@ ngx_http_lua_init(ngx_conf_t *cf)
+     if (lmcf->lua == NULL) {
+         dd("initializing lua vm");
+ 
+-#ifndef OPENRESTY_LUAJIT
+-        if (ngx_process != NGX_PROCESS_SIGNALLER && !ngx_test_config) {
+-            ngx_log_error(NGX_LOG_ALERT, cf->log, 0,
+-                          "detected a LuaJIT version which is not OpenResty's"
+-                          "; many optimizations will be disabled and "
+-                          "performance will be compromised (see "
+-                          "https://github.com/openresty/luajit2 for "
+-                          "OpenResty's LuaJIT or, even better, consider using "
+-                          "the OpenResty releases from https://openresty.org/"
+-                          "en/download.html)");
+-        }
+-#else
++#ifdef OPENRESTY_LUAJIT
+ #   if !defined(HAVE_LUA_RESETTHREAD)
+         ngx_log_error(NGX_LOG_ALERT, cf->log, 0,
+                       "detected an old version of OpenResty's LuaJIT missing "
+-- 
+2.45.3
+
diff --git a/www-nginx/ngx-lua-module/metadata.xml b/www-nginx/ngx-lua-module/metadata.xml
new file mode 100644
index 000000000000..42a518e970f5
--- /dev/null
+++ b/www-nginx/ngx-lua-module/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>zurabid2016@gmail.com</email>
+		<name>Zurab Kvachadze</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<longdescription>
+		The ngx-lua module embeds LuaJIT 2.0/2.1 into NGINX. By leveraging NGINX's subrequests, this
+		module allows the integration of the powerful Lua threads (known as Lua "coroutines") into
+		the NGINX event model.
+	</longdescription>
+	<upstream>
+		<bugs-to>https://github.com/openresty/lua-nginx-module/issues</bugs-to>
+		<remote-id type="github">openresty/lua-nginx-module</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/www-nginx/ngx-lua-module/ngx-lua-module-0.10.27.ebuild b/www-nginx/ngx-lua-module/ngx-lua-module-0.10.27.ebuild
new file mode 100644
index 000000000000..8be9b7197480
--- /dev/null
+++ b/www-nginx/ngx-lua-module/ngx-lua-module-0.10.27.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Upstream supports luajit only.
+LUA_COMPAT=( luajit )
+
+MY_PN="lua-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_LINK_MODULES=( www-nginx/ngx_devel_kit )
+
+inherit lua-single nginx-module
+
+DESCRIPTION="A module embedding the power of Lua into NGINX HTTP Servers"
+HOMEPAGE="https://github.com/openresty/lua-nginx-module"
+SRC_URI="
+	https://github.com/openresty/lua-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+# Tests require too much manual patching to get working.
+RESTRICT="test"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="${LUA_DEPS}"
+RDEPEND="
+	${DEPEND}
+	dev-lua/lua-resty-core[${LUA_SINGLE_USEDEP}]
+	dev-lua/lua-resty-lrucache[${LUA_SINGLE_USEDEP}]
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.10.27-always-define-NDK.patch"
+	"${FILESDIR}/${PN}-0.10.27-do-not-log-non-openresty-lua.patch"
+)
+
+src_configure() {
+	# The config script does some manual auto-detection, which only looks for
+	# luajit-2.0, so we set the necessary variables manually.
+	export LUAJIT_LIB="${ESYSROOT}/usr/$(get_libdir)"
+	export LUAJIT_INC="$(lua_get_include_dir)"
+
+	nginx-module_src_configure
+}
+
+src_install() {
+	nginx-module_src_install
+
+	# Install headers from 'src/api' into '/usr/include/nginx/modules'.
+	insinto /usr/include/nginx/modules
+	find "${NGINX_MOD_S}/src/api" -type f -name '*.h' -print0 | xargs -0 doins
+	assert "find failed"
+}
^ permalink raw reply related	[flat|nested] only message in thread
only message in thread, other threads:[~2025-07-05  7:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-05  7:27 [gentoo-commits] repo/gentoo:master commit in: www-nginx/ngx-lua-module/files/, www-nginx/ngx-lua-module/ Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox