summaryrefslogtreecommitdiff
path: root/www-nginx
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-05 18:58:43 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-05 18:58:43 +0000
commit473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce (patch)
tree3cbfa7b0d8f5b33d26b38f37d0b402a5602dd911 /www-nginx
parent487cba42213103079e9cfa4c89bb58c3c8388320 (diff)
downloadbaldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.tar.gz
baldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.tar.xz
baldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.zip
Adding metadata
Diffstat (limited to 'www-nginx')
-rw-r--r--www-nginx/metadata.xml7
-rw-r--r--www-nginx/ngx-brotli/Manifest2
-rw-r--r--www-nginx/ngx-brotli/metadata.xml24
-rw-r--r--www-nginx/ngx-brotli/ngx-brotli-20231109.ebuild31
-rw-r--r--www-nginx/ngx-dav-ext/Manifest1
-rw-r--r--www-nginx/ngx-dav-ext/metadata.xml20
-rw-r--r--www-nginx/ngx-dav-ext/ngx-dav-ext-3.0.0.ebuild29
-rw-r--r--www-nginx/ngx-echo/Manifest1
-rw-r--r--www-nginx/ngx-echo/metadata.xml24
-rw-r--r--www-nginx/ngx-echo/ngx-echo-0.63.ebuild27
-rw-r--r--www-nginx/ngx-encrypted-session/Manifest1
-rw-r--r--www-nginx/ngx-encrypted-session/metadata.xml22
-rw-r--r--www-nginx/ngx-encrypted-session/ngx-encrypted-session-0.09.ebuild39
-rw-r--r--www-nginx/ngx-eval/Manifest1
-rw-r--r--www-nginx/ngx-eval/metadata.xml16
-rw-r--r--www-nginx/ngx-eval/ngx-eval-0_p20240817.ebuild44
-rw-r--r--www-nginx/ngx-fancyindex/Manifest1
-rw-r--r--www-nginx/ngx-fancyindex/metadata.xml27
-rw-r--r--www-nginx/ngx-fancyindex/ngx-fancyindex-0.5.2.ebuild19
-rw-r--r--www-nginx/ngx-geoip2/Manifest1
-rw-r--r--www-nginx/ngx-geoip2/metadata.xml23
-rw-r--r--www-nginx/ngx-geoip2/ngx-geoip2-3.4.ebuild37
-rw-r--r--www-nginx/ngx-headers-more/Manifest1
-rw-r--r--www-nginx/ngx-headers-more/metadata.xml23
-rw-r--r--www-nginx/ngx-headers-more/ngx-headers-more-0.37.ebuild30
-rw-r--r--www-nginx/ngx-iconv/Manifest1
-rw-r--r--www-nginx/ngx-iconv/files/ngx-iconv-0.14-skip-rds-json-tests.patch30
-rw-r--r--www-nginx/ngx-iconv/metadata.xml20
-rw-r--r--www-nginx/ngx-iconv/ngx-iconv-0.14.ebuild37
-rw-r--r--www-nginx/ngx-lua-module/Manifest1
-rw-r--r--www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-always-define-NDK.patch29
-rw-r--r--www-nginx/ngx-lua-module/files/ngx-lua-module-0.10.27-do-not-log-non-openresty-lua.patch41
-rw-r--r--www-nginx/ngx-lua-module/metadata.xml21
-rw-r--r--www-nginx/ngx-lua-module/ngx-lua-module-0.10.27.ebuild60
-rw-r--r--www-nginx/ngx-lua-upstream/Manifest1
-rw-r--r--www-nginx/ngx-lua-upstream/files/ngx-lua-upstream-0.07-skip-invalid-tests.patch26
-rw-r--r--www-nginx/ngx-lua-upstream/metadata.xml16
-rw-r--r--www-nginx/ngx-lua-upstream/ngx-lua-upstream-0.07.ebuild45
-rw-r--r--www-nginx/ngx-memc/Manifest1
-rw-r--r--www-nginx/ngx-memc/files/ngx-memc-0.20-stats_t-do-not-run-timeout-test.patch31
-rw-r--r--www-nginx/ngx-memc/metadata.xml27
-rw-r--r--www-nginx/ngx-memc/ngx-memc-0.20.ebuild49
-rw-r--r--www-nginx/ngx-modsecurity/Manifest1
-rw-r--r--www-nginx/ngx-modsecurity/metadata.xml24
-rw-r--r--www-nginx/ngx-modsecurity/ngx-modsecurity-1.0.3.ebuild26
-rw-r--r--www-nginx/ngx-set-misc/Manifest1
-rw-r--r--www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-hmac-configurable.patch71
-rw-r--r--www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-skip-hashed-upstream_t-test.patch31
-rw-r--r--www-nginx/ngx-set-misc/metadata.xml25
-rw-r--r--www-nginx/ngx-set-misc/ngx-set-misc-0.33.ebuild47
-rw-r--r--www-nginx/ngx-srcache/Manifest1
-rw-r--r--www-nginx/ngx-srcache/files/ngx-srcache-0.33-disable-invalid-tests.patch147
-rw-r--r--www-nginx/ngx-srcache/metadata.xml25
-rw-r--r--www-nginx/ngx-srcache/ngx-srcache-0.33.ebuild54
-rw-r--r--www-nginx/ngx-upload-progress/Manifest1
-rw-r--r--www-nginx/ngx-upload-progress/metadata.xml24
-rw-r--r--www-nginx/ngx-upload-progress/ngx-upload-progress-0.9.3.ebuild21
-rw-r--r--www-nginx/ngx-vod/Manifest1
-rw-r--r--www-nginx/ngx-vod/files/ngx-vod-1.33-fix-clock-gettime-config-check.patch36
-rw-r--r--www-nginx/ngx-vod/metadata.xml16
-rw-r--r--www-nginx/ngx-vod/ngx-vod-1.33.ebuild35
-rw-r--r--www-nginx/ngx-xss/Manifest1
-rw-r--r--www-nginx/ngx-xss/files/ngx-xss-0.06-add-dynamic-build-support.patch34
-rw-r--r--www-nginx/ngx-xss/metadata.xml21
-rw-r--r--www-nginx/ngx-xss/ngx-xss-0.06.ebuild29
-rw-r--r--www-nginx/ngx_devel_kit/Manifest1
-rw-r--r--www-nginx/ngx_devel_kit/metadata.xml25
-rw-r--r--www-nginx/ngx_devel_kit/ngx_devel_kit-0.3.4.ebuild46
68 files changed, 1631 insertions, 0 deletions
diff --git a/www-nginx/metadata.xml b/www-nginx/metadata.xml
new file mode 100644
index 000000000000..53d8713dfcd1
--- /dev/null
+++ b/www-nginx/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The www-nginx category contains external modules for the NGINX reverse proxy and web server
+ </longdescription>
+</catmetadata>
diff --git a/www-nginx/ngx-brotli/Manifest b/www-nginx/ngx-brotli/Manifest
new file mode 100644
index 000000000000..9a3492068a39
--- /dev/null
+++ b/www-nginx/ngx-brotli/Manifest
@@ -0,0 +1,2 @@
+DIST brotli-ed738e842d2fbdf2d6459e39267a633c4a9b2f5d.tar.gz 512305 BLAKE2B b646e4565386870443d006a97a13b295c2c66de448e501f809700c303bb3daf5e4f84a2dacec16c43a534879243e4cda9292072630f13d5f7ca54f2c4372e560 SHA512 f493e7f15ca2804ae8715e48bdc954680f527533e684ec3762a7d49d05890915194289ed948c8cce95644274e1dcab952dcfbc84c0108aaf79f35f20270ffe6a
+DIST ngx-brotli-a71f9312c2deb28875acc7bacfdd5695a111aa53.tar.gz 16387 BLAKE2B 2883711581ff5073f8e6451078c046f70323e1c893c3b70f8feb1abfc6ccb420ddb5f5d3b5131eb127538cf9b0cd0d9843d450cacd49b7fc7dfeb0a8c8865de8 SHA512 62a904f1a8e63e169cf09517189d65dd9ee1a6cca2a8461bc4ea29d72f97b940048e34f8dcc4a332785ab603be79f1830e371d920f06bdaa460d7e57915cafdc
diff --git a/www-nginx/ngx-brotli/metadata.xml b/www-nginx/ngx-brotli/metadata.xml
new file mode 100644
index 000000000000..35529c71d4d9
--- /dev/null
+++ b/www-nginx/ngx-brotli/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ ngx-brotli provides support for Brotli compression in NGINX server. Brotli is a
+ generic-purpose lossless compression algorithm that compresses data using a
+ combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context
+ modeling, with a compression ratio comparable to the best currently available
+ general-purpose compression methods. It is similar in speed with deflate but offers more
+ dense compression.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/google/ngx_brotli/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-brotli/ngx-brotli-20231109.ebuild b/www-nginx/ngx-brotli/ngx-brotli-20231109.ebuild
new file mode 100644
index 000000000000..743cabc57e68
--- /dev/null
+++ b/www-nginx/ngx-brotli/ngx-brotli-20231109.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NGX_BROTLI_P="ngx-brotli-a71f9312c2deb28875acc7bacfdd5695a111aa53"
+# A submodule.
+BROTLI_P="brotli-ed738e842d2fbdf2d6459e39267a633c4a9b2f5d"
+
+MY_PN="${PN//-/_}"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${NGX_BROTLI_P#ngx-brotli-}"
+inherit nginx-module
+
+DESCRIPTION="NGINX module for Brotli compression"
+HOMEPAGE="https://github.com/google/ngx_brotli"
+SRC_URI="
+ https://github.com/google/ngx_brotli/archive/${NGX_BROTLI_P#ngx-brotli-}.tar.gz -> ${NGX_BROTLI_P}.tar.gz
+ https://github.com/google/brotli/archive/${BROTLI_P#brotli-}.tar.gz -> ${BROTLI_P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+src_unpack() {
+ nginx-module_src_unpack
+
+ # Move the submodule to its place.
+ rmdir "${NGINX_MOD_S}/deps/brotli" || die "rmdir failed"
+ mv "./${BROTLI_P}" "${NGINX_MOD_S}/deps/brotli" || die "mv failed"
+}
diff --git a/www-nginx/ngx-dav-ext/Manifest b/www-nginx/ngx-dav-ext/Manifest
new file mode 100644
index 000000000000..24e8812a7855
--- /dev/null
+++ b/www-nginx/ngx-dav-ext/Manifest
@@ -0,0 +1 @@
+DIST ngx-dav-ext-3.0.0.tar.gz 14558 BLAKE2B 0d370bfe34600d43a540dd19a386aa52ce135b2eae14e4e108a359d5ff3405939130d1c802062c7523057ec35d38322d3fbed8c13deb58ce7a08ebf9e3f106d4 SHA512 d0193ba90f1ef46c4e470630c4394bdf99d94fd2e3bd8be6cb2ba1655ec59944b1269025f032b79dc2c6dad366e54389ef6a6da2ddeb91d535a4027f2162fbde
diff --git a/www-nginx/ngx-dav-ext/metadata.xml b/www-nginx/ngx-dav-ext/metadata.xml
new file mode 100644
index 000000000000..c08e13060bc9
--- /dev/null
+++ b/www-nginx/ngx-dav-ext/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The nginx-dav-ext NGINX module provides WebDAV methods that are not implemented by the
+ standard NGINX ngx_http_dav_module, namely PROPFIND, OPTIONS, LOCK and UNLOCK.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/arut/nginx-dav-ext-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-dav-ext/ngx-dav-ext-3.0.0.ebuild b/www-nginx/ngx-dav-ext/ngx-dav-ext-3.0.0.ebuild
new file mode 100644
index 000000000000..802bfd7ae97d
--- /dev/null
+++ b/www-nginx/ngx-dav-ext/ngx-dav-ext-3.0.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="nginx-dav-ext-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+inherit nginx-module
+
+DESCRIPTION="NGINX module providing support for WebDAV PROPFIND,OPTIONS,LOCK,UNLOCK"
+HOMEPAGE="https://github.com/arut/nginx-dav-ext-module"
+SRC_URI="
+ https://github.com/arut/nginx-dav-ext-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Relies on upstream NGINX test framework (https://github.com/nginx/nginx-tests),
+# not packaged by Gentoo.
+RESTRICT="test"
+
+DEPEND="
+ dev-libs/libxml2
+ dev-libs/libxslt
+"
+RDEPEND="${DEPEND}"
diff --git a/www-nginx/ngx-echo/Manifest b/www-nginx/ngx-echo/Manifest
new file mode 100644
index 000000000000..a6f587dfaa80
--- /dev/null
+++ b/www-nginx/ngx-echo/Manifest
@@ -0,0 +1 @@
+DIST ngx-echo-0.63.tar.gz 53421 BLAKE2B 613d4f265b9bcf9b4a44a18749314075e797dca4b350e6c4bc2e7ddd52edadc52660504ee57d0c859ec0a20f6b2e425727e5ec4b30282e67498010fc8d959baa SHA512 c325ac4e3f3f735739e156d8c7ada503b34475c62533b4830231ff1b42c25cb0c841aae06b3448b589c2ab35da8d211436ed194d6fd062cad925af8152c5e789
diff --git a/www-nginx/ngx-echo/metadata.xml b/www-nginx/ngx-echo/metadata.xml
new file mode 100644
index 000000000000..c47fd9b3a3c0
--- /dev/null
+++ b/www-nginx/ngx-echo/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-echo module wraps lots of NGINX internal APIs for streaming input and output,
+ parallel/sequential subrequests, timers and sleeping, as well as various metadata
+ accessing.
+
+ Basically it provides various utilities that help testing and debugging of other modules by
+ trivially emulating different kinds of faked subrequest locations.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/echo-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-echo/ngx-echo-0.63.ebuild b/www-nginx/ngx-echo/ngx-echo-0.63.ebuild
new file mode 100644
index 000000000000..b53a03bf68b0
--- /dev/null
+++ b/www-nginx/ngx-echo/ngx-echo-0.63.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="echo-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-xss
+)
+inherit nginx-module
+
+DESCRIPTION='An NGINX module bringing the power of "echo", "sleep", "time" and more to NGINX'
+HOMEPAGE="https://github.com/openresty/echo-nginx-module"
+SRC_URI="
+ https://github.com/openresty/echo-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Tests require NGINX to be built with debugging log enabled.
+BDEPEND="test? ( www-servers/nginx[debug(-)] )"
diff --git a/www-nginx/ngx-encrypted-session/Manifest b/www-nginx/ngx-encrypted-session/Manifest
new file mode 100644
index 000000000000..bf079459db04
--- /dev/null
+++ b/www-nginx/ngx-encrypted-session/Manifest
@@ -0,0 +1 @@
+DIST ngx-encrypted-session-0.09.tar.gz 11847 BLAKE2B 2e923054c34c9b2d3c799280c331c8288444c7f59bc6ea4858e680c81e28f7d8595006474326739c804d6949e3b74b67ce643ed9e196695affb8c275065a4fee SHA512 399ce2690e85ee27802e8031954a1a3aa3fdc9246e17323a72a298d235931a8dbebdcb121ac8788e074872df0ef5b5a8a3d512b17fbe860b38f696ce42de3655
diff --git a/www-nginx/ngx-encrypted-session/metadata.xml b/www-nginx/ngx-encrypted-session/metadata.xml
new file mode 100644
index 000000000000..a21458e3739f
--- /dev/null
+++ b/www-nginx/ngx-encrypted-session/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The encrypted-session module provides encryption and decryption support for nginx variables
+ based on AES-256 with Mac. It is usually used with the ngx_set_misc module and the
+ standard rewrite module's directives. This module can be used to implement simple user login
+ and ACL.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/encrypted-session-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-encrypted-session/ngx-encrypted-session-0.09.ebuild b/www-nginx/ngx-encrypted-session/ngx-encrypted-session-0.09.ebuild
new file mode 100644
index 000000000000..46f9826baace
--- /dev/null
+++ b/www-nginx/ngx-encrypted-session/ngx-encrypted-session-0.09.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="encrypted-session-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_LINK_MODULES=( www-nginx/ngx_devel_kit )
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-set-misc
+ www-nginx/ngx-echo
+ www-nginx/ngx-lua-module
+)
+inherit toolchain-funcs nginx-module
+
+DESCRIPTION="An NGINX module that encrypts and decrypts NGINX variable values"
+HOMEPAGE="https://github.com/openresty/encrypted-session-nginx-module"
+SRC_URI="
+ https://github.com/openresty/encrypted-session-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="dev-libs/openssl:="
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # Make sure the module links to libcrypto, independently of whether NGINX
+ # has SSL/TLS support.
+ ngx_mod_append_libs "$("$(tc-getPKG_CONFIG)" --libs libcrypto)"
+
+ nginx-module_src_configure
+}
diff --git a/www-nginx/ngx-eval/Manifest b/www-nginx/ngx-eval/Manifest
new file mode 100644
index 000000000000..673ee8c38f56
--- /dev/null
+++ b/www-nginx/ngx-eval/Manifest
@@ -0,0 +1 @@
+DIST nginx-eval-module-13425e897c19f4f4436c5ca4414dddd37fc65190.tar.gz 14925 BLAKE2B d0e273980804538d1518fc02181e9332f19584086495874b3c5f5b244d4cd6524af90896df382d029143b856f184813e8de489f2b5edd4e2ba4b6eff14a4b9cb SHA512 0ecc9250067a55c043006766489e8d2364bed3771ca11eb157fe9ea35ad945957005c571c6499a098a9956580665cbb336aef3e8ee0892255ee2dbfab7e8d288
diff --git a/www-nginx/ngx-eval/metadata.xml b/www-nginx/ngx-eval/metadata.xml
new file mode 100644
index 000000000000..a10ebb361eed
--- /dev/null
+++ b/www-nginx/ngx-eval/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/openresty/nginx-eval-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-eval/ngx-eval-0_p20240817.ebuild b/www-nginx/ngx-eval/ngx-eval-0_p20240817.ebuild
new file mode 100644
index 000000000000..6a5d3682017b
--- /dev/null
+++ b/www-nginx/ngx-eval/ngx-eval-0_p20240817.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_COMMIT="13425e897c19f4f4436c5ca4414dddd37fc65190"
+MY_P="nginx-eval-module-${MY_COMMIT}"
+NGINX_MOD_S="${WORKDIR}/${MY_P}"
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-memc
+ www-nginx/ngx-echo
+)
+inherit nginx-module
+
+DESCRIPTION="An NGINX module that stores subrequest response bodies into variables"
+HOMEPAGE="https://github.com/openresty/nginx-eval-module"
+SRC_URI="
+ https://github.com/openresty/nginx-eval-module/archive/${MY_COMMIT}.tar.gz -> ${MY_P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="test? ( net-misc/memcached )"
+
+src_test() {
+ # Start memcached in background on a port 11211, the default port if
+ # environment variable TEST_NGINX_MEMCACHED_PORT is not set.
+ # memcached is enclosed in braces so that the not operator properly applies
+ # to the asynchronous invocation of memcached.
+ if ! { memcached -p 11211 & }
+ then
+ die "memcached failed"
+ fi
+ # Save the PID of the launched memcached instance.
+ local memcached_pid=$!
+
+ nginx-module_src_test
+
+ kill "${memcached_pid}" || die "kill failed"
+}
diff --git a/www-nginx/ngx-fancyindex/Manifest b/www-nginx/ngx-fancyindex/Manifest
new file mode 100644
index 000000000000..676055c38345
--- /dev/null
+++ b/www-nginx/ngx-fancyindex/Manifest
@@ -0,0 +1 @@
+DIST ngx-fancyindex-0.5.2.tar.xz 25816 BLAKE2B 9427680f09d54f753bc5d42aa0848a434d55f9882ec780bcb3bb63aa31fdef1798d50601f4b892d0a528d24aefa3f172c2cbe2300b8ac93ced2ee327c43162d5 SHA512 497e5f4b47b17acfe1fb06ced6d81499d54a5a7834cb6023630b53d5cb0d731bd4be674c1214d7ab4c580495ea016579e56acc50b68ee038c11f79cc3878dbda
diff --git a/www-nginx/ngx-fancyindex/metadata.xml b/www-nginx/ngx-fancyindex/metadata.xml
new file mode 100644
index 000000000000..3f635e218c14
--- /dev/null
+++ b/www-nginx/ngx-fancyindex/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-fancyindex NGINX module makes possible the generation of file listings, like the
+ built-in autoindex module does, but adding a touch of style. This is possible because the
+ module allows a certain degree of customization of the generated content:
+
+ * Custom headers, either local or stored remotely.
+ * Custom footers, either local or stored remotely.
+ * Add your own CSS style rules.
+ * Allow choosing to sort elements by name (default), modification time, or size; both
+ ascending (default), or descending.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/aperezdc/ngx-fancyindex/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-fancyindex/ngx-fancyindex-0.5.2.ebuild b/www-nginx/ngx-fancyindex/ngx-fancyindex-0.5.2.ebuild
new file mode 100644
index 000000000000..0ad54016b26b
--- /dev/null
+++ b/www-nginx/ngx-fancyindex/ngx-fancyindex-0.5.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit nginx-module
+
+DESCRIPTION="Fancy indexes module for the NGINX web server"
+HOMEPAGE="https://github.com/aperezdc/ngx-fancyindex"
+SRC_URI="
+ https://github.com/aperezdc/ngx-fancyindex/releases/download/v${PV}/${P}.tar.xz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Uses custom bash-based testing framework.
+RESTRICT="test"
diff --git a/www-nginx/ngx-geoip2/Manifest b/www-nginx/ngx-geoip2/Manifest
new file mode 100644
index 000000000000..6c6ee101549c
--- /dev/null
+++ b/www-nginx/ngx-geoip2/Manifest
@@ -0,0 +1 @@
+DIST ngx-geoip2-3.4.tar.gz 8877 BLAKE2B cd59ebbd2ca47f6af0b22b8b91768053d2c991f7adf19941625e3570d81dcb73989101795d641e4efce1eed37d454bca73d603b5d0e4511e3bd63100c7acf750 SHA512 18dea21e5ae2647bea1fc448058a1b773c936917245edef8d861d5e23ed92e9a3b1ec4ef43ffb2ece7b5899d787910adcf4fbd39f84d7e8d7c54759e2fee5b72
diff --git a/www-nginx/ngx-geoip2/metadata.xml b/www-nginx/ngx-geoip2/metadata.xml
new file mode 100644
index 000000000000..eca1e8361b7e
--- /dev/null
+++ b/www-nginx/ngx-geoip2/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-geoip2 module creates variables with values from the maxmind GeoIP2 databases based
+ on the client IP (default) or from a specific variable (both IPv4 and IPv6 are supported).
+
+ The module supports NGINX streams and can be used in the same way the HTTP module can be
+ used.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/leev/ngx_http_geoip2_module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-geoip2/ngx-geoip2-3.4.ebuild b/www-nginx/ngx-geoip2/ngx-geoip2-3.4.ebuild
new file mode 100644
index 000000000000..d4d43b74f578
--- /dev/null
+++ b/www-nginx/ngx-geoip2/ngx-geoip2-3.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="ngx_http_geoip2_module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+inherit nginx-module
+
+DESCRIPTION="NGINX GeoIP2 module"
+HOMEPAGE="https://github.com/leev/ngx_http_geoip2_module"
+SRC_URI="
+ https://github.com/leev/ngx_http_geoip2_module/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="dev-libs/libmaxminddb"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # Always build the stream module.
+ myconf=( --with-stream )
+ nginx-module_src_configure "${myconf[@]}"
+}
+
+pkg_postinst() {
+ nginx-module_pkg_postinst
+
+ einfo ""
+ ewarn "If you want to use the stream module, make sure that www-servers/nginx"
+ ewarn "has USE=\"stream\" set. Please refer to the Gentoo AMD64 Handbook for"
+ ewarn "instructions on how to declare USE flags."
+}
diff --git a/www-nginx/ngx-headers-more/Manifest b/www-nginx/ngx-headers-more/Manifest
new file mode 100644
index 000000000000..ce0a7423c736
--- /dev/null
+++ b/www-nginx/ngx-headers-more/Manifest
@@ -0,0 +1 @@
+DIST ngx-headers-more-0.37.tar.gz 29433 BLAKE2B 0029eac59ee7182dbcb9be93f2f25684bae200e1ee897e2d4dde6abc304b4c7e7373a4cdd3059c5ec1b199a3d5467e034889a4cf1f133d26194acbc4374a1054 SHA512 0cc2fffe506194d439e3669644d41b7943e2c3cffa3483eb70b92067930b358d506a14646eff8362b191a11c624db29f6b53d830876929dcb4ce1c9d7b2bc40d
diff --git a/www-nginx/ngx-headers-more/metadata.xml b/www-nginx/ngx-headers-more/metadata.xml
new file mode 100644
index 000000000000..9959edc812e1
--- /dev/null
+++ b/www-nginx/ngx-headers-more/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-headers-more module allows adding, settin, or clearing any output or input header.
+
+ This is an enhanced version of the standard headers module since it provides more
+ utilities like resetting or clearing "builtin headers" like Content-Type, Content-Length,
+ and Server.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/headers-more-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-headers-more/ngx-headers-more-0.37.ebuild b/www-nginx/ngx-headers-more/ngx-headers-more-0.37.ebuild
new file mode 100644
index 000000000000..76c4bd3b1161
--- /dev/null
+++ b/www-nginx/ngx-headers-more/ngx-headers-more-0.37.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="headers-more-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_OPENRESTY_TESTS=1
+# ngx-headers-more must be loaded after ngx-lua-module module for test to work.
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-headers-more
+ www-nginx/ngx-eval
+ www-nginx/ngx-echo
+)
+inherit nginx-module
+
+DESCRIPTION="Set, add, and clear arbitrary output headers in NGINX HTTP servers"
+HOMEPAGE="https://github.com/openresty/headers-more-nginx-module"
+SRC_URI="
+ https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Tests require NGINX to be built with debugging log enabled.
+BDEPEND="test? ( www-servers/nginx[debug(-)] )"
diff --git a/www-nginx/ngx-iconv/Manifest b/www-nginx/ngx-iconv/Manifest
new file mode 100644
index 000000000000..3b1d8b58b21e
--- /dev/null
+++ b/www-nginx/ngx-iconv/Manifest
@@ -0,0 +1 @@
+DIST ngx-iconv-0.14.tar.gz 13133 BLAKE2B e0120a667bc0ee76efee1310b72fa4cbbe0e21fece502dab46b19a87f285f718257464d0c6df8df27fc5b8d4a2acc2e9c88474dfea2fd040220be9affc4b2546 SHA512 63e5e4f1d667438f13aa93f56ec05f0af86147e996ae450f13664668f9813319cc895f0b5e72e05cb2d93722fdb17541972a4d492be8ad226bfc87e4672e29d9
diff --git a/www-nginx/ngx-iconv/files/ngx-iconv-0.14-skip-rds-json-tests.patch b/www-nginx/ngx-iconv/files/ngx-iconv-0.14-skip-rds-json-tests.patch
new file mode 100644
index 000000000000..6194ed8608e1
--- /dev/null
+++ b/www-nginx/ngx-iconv/files/ngx-iconv-0.14-skip-rds-json-tests.patch
@@ -0,0 +1,30 @@
+From f9adf29df987a0c2d067e43fc4a6b43aabb42f26 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Thu, 13 Feb 2025 19:52:15 +0100
+Subject: [PATCH] bugs.t: skip test relying on rds_json
+
+libdrizzle, a dependency of rds-json-nginx-module, is not packaged by
+Gentoo.
+
+This commit skips the test relying on rds-json-nginx-module.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ t/bugs.t | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/t/bugs.t b/t/bugs.t
+index 8d05e43..82f846e 100644
+--- a/t/bugs.t
++++ b/t/bugs.t
+@@ -16,6 +16,7 @@ run_tests();
+ __DATA__
+
+ === TEST 1: used with rds_json
++--- SKIP
+ --- config
+ location /foo {
+ rds_json_ret 100 '你好';
+--
+2.45.3
+
diff --git a/www-nginx/ngx-iconv/metadata.xml b/www-nginx/ngx-iconv/metadata.xml
new file mode 100644
index 000000000000..4cb6ecb7312d
--- /dev/null
+++ b/www-nginx/ngx-iconv/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-iconv NGINX module allows converting characters of different encoding by using
+ libiconv. It brings the 'set_iconv' command to NGINX.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/calio/iconv-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-iconv/ngx-iconv-0.14.ebuild b/www-nginx/ngx-iconv/ngx-iconv-0.14.ebuild
new file mode 100644
index 000000000000..74fee78a6217
--- /dev/null
+++ b/www-nginx/ngx-iconv/ngx-iconv-0.14.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="iconv-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_LINK_MODULES=( www-nginx/ngx_devel_kit )
+
+NGINX_MOD_OPENRESTY_TESTS=1
+# ngx-iconv must be loaded after ngx-lua-module.
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-iconv
+ www-nginx/ngx-echo
+ www-nginx/ngx-set-misc
+ www-nginx/ngx-headers-more
+)
+inherit nginx-module
+
+DESCRIPTION="A character conversion NGINX module using libiconv"
+HOMEPAGE="https://github.com/calio/iconv-nginx-module"
+SRC_URI="
+ https://github.com/calio/iconv-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="virtual/libiconv"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.14-skip-rds-json-tests.patch"
+)
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..2bf6e0a10033
--- /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://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <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>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
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..82a539b20d32
--- /dev/null
+++ b/www-nginx/ngx-lua-module/ngx-lua-module-0.10.27.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Upstream supports luajit only.
+LUA_COMPAT=( lua5-{1,3,4} 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"
+KEYWORDS="~amd64 ~arm64"
+
+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"
+}
diff --git a/www-nginx/ngx-lua-upstream/Manifest b/www-nginx/ngx-lua-upstream/Manifest
new file mode 100644
index 000000000000..55a14a93f4bc
--- /dev/null
+++ b/www-nginx/ngx-lua-upstream/Manifest
@@ -0,0 +1 @@
+DIST ngx-lua-upstream-0.07.tar.gz 12763 BLAKE2B 45867c528cca9f2c4d057167609863e9b772403a6fabac4e270b541006dbb49d169a2841c02b8a075a591a0efd3ea2227f6fdf5810c5819ee7bcf455a0444432 SHA512 72887c4490854b099cb26bb3f840073a36b0d812bde4486f04dc1be182ca74f0d1e3fd709e77c240c2dcf37665f74cf04e188ea9efe8e127c6789b27b487d0cd
diff --git a/www-nginx/ngx-lua-upstream/files/ngx-lua-upstream-0.07-skip-invalid-tests.patch b/www-nginx/ngx-lua-upstream/files/ngx-lua-upstream-0.07-skip-invalid-tests.patch
new file mode 100644
index 000000000000..cba15cfbc7a9
--- /dev/null
+++ b/www-nginx/ngx-lua-upstream/files/ngx-lua-upstream-0.07-skip-invalid-tests.patch
@@ -0,0 +1,26 @@
+From 9d8b6160d92a2899e28d4a610a884d160e4a1f38 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Sat, 15 Feb 2025 17:58:35 +0100
+Subject: [PATCH] Skip invalid tests
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ t/sanity.t | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/t/sanity.t b/t/sanity.t
+index b913f21..f2b22b2 100644
+--- a/t/sanity.t
++++ b/t/sanity.t
+@@ -1,6 +1,7 @@
+ # vim:set ft= ts=4 sw=4 et fdm=marker:
+
+-use Test::Nginx::Socket::Lua;
++use Test::Nginx::Socket::Lua skip_all =>
++ 'uses arbitrary hostname with no corresponding server directive';
+
+ #worker_connections(1014);
+ #master_on();
+--
+2.45.3
+
diff --git a/www-nginx/ngx-lua-upstream/metadata.xml b/www-nginx/ngx-lua-upstream/metadata.xml
new file mode 100644
index 000000000000..cfda8f833ddc
--- /dev/null
+++ b/www-nginx/ngx-lua-upstream/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/openresty/lua-upstream-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-lua-upstream/ngx-lua-upstream-0.07.ebuild b/www-nginx/ngx-lua-upstream/ngx-lua-upstream-0.07.ebuild
new file mode 100644
index 000000000000..116c4105f4b1
--- /dev/null
+++ b/www-nginx/ngx-lua-upstream/ngx-lua-upstream-0.07.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Upstream supports luajit only.
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+MY_PN="lua-upstream-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_LINK_MODULES=( www-nginx/ngx-lua-module )
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-echo
+)
+inherit flag-o-matic lua-single nginx-module
+
+DESCRIPTION="An NGINX C module exposing ngx-lua-module's Lua APIs for NGINX upstreams"
+HOMEPAGE="https://github.com/openresty/lua-upstream-nginx-module"
+SRC_URI="
+ https://github.com/openresty/lua-upstream-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.07-skip-invalid-tests.patch"
+)
+
+src_configure() {
+ ngx_mod_append_libs "$(lua_get_LIBS)"
+ append-cflags "$(lua_get_CFLAGS)"
+
+ nginx-module_src_configure
+}
diff --git a/www-nginx/ngx-memc/Manifest b/www-nginx/ngx-memc/Manifest
new file mode 100644
index 000000000000..2bd0d89133f4
--- /dev/null
+++ b/www-nginx/ngx-memc/Manifest
@@ -0,0 +1 @@
+DIST ngx-memc-0.20.tar.gz 34736 BLAKE2B 443192785568f680e0b20cc24598fa737dc207011a42748ba7808a429e7f752bc1ac302fbf816d6c388fe30daf77b4e050779261fde30c96cab80b5553788817 SHA512 62ffdddf246aae0a4353c369166108ff559db95bad7252684d772d2b52510311209fe963d009b846ecba188be95b877ec509705a52e6d2153a81571c063670e4
diff --git a/www-nginx/ngx-memc/files/ngx-memc-0.20-stats_t-do-not-run-timeout-test.patch b/www-nginx/ngx-memc/files/ngx-memc-0.20-stats_t-do-not-run-timeout-test.patch
new file mode 100644
index 000000000000..2c783e9b0c6d
--- /dev/null
+++ b/www-nginx/ngx-memc/files/ngx-memc-0.20-stats_t-do-not-run-timeout-test.patch
@@ -0,0 +1,31 @@
+From 8ff96cb366e1ed0a78533501b33ca29c378ca808 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Tue, 11 Feb 2025 15:35:40 +0100
+Subject: [PATCH] t/stats.t: skip broken test
+
+The CI utilises iptables to drop connections on hardcoded port 12345.
+The drop behaviour is required by the "timeout" test. Since tests are
+run unprivileged in Gentoo, iptables can not be used and the test fails.
+
+This commit skips the "timeout" test.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ t/stats.t | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/t/stats.t b/t/stats.t
+index f412b42..39bc3dd 100644
+--- a/t/stats.t
++++ b/t/stats.t
+@@ -30,6 +30,7 @@ __DATA__
+
+
+ === TEST 2: timeout
++--- SKIP
+ --- config
+ memc_connect_timeout 10ms;
+ memc_send_timeout 10ms;
+--
+2.45.3
+
diff --git a/www-nginx/ngx-memc/metadata.xml b/www-nginx/ngx-memc/metadata.xml
new file mode 100644
index 000000000000..176350671f22
--- /dev/null
+++ b/www-nginx/ngx-memc/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ ngx-memc is an extended version of the standard NGINX memcached module that supports set,
+ add, delete, and many more memcached commands.
+
+ This module extends the standard memcached module to support almost the whole memcached
+ ASCII protocol.
+
+ The module allows to define a custom REST interface to a memcached servers or to access
+ memcached in a very efficient way from within the NGINX server by means of subrequests or
+ independent fake requests.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/memc-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-memc/ngx-memc-0.20.ebuild b/www-nginx/ngx-memc/ngx-memc-0.20.ebuild
new file mode 100644
index 000000000000..07877cf35b34
--- /dev/null
+++ b/www-nginx/ngx-memc/ngx-memc-0.20.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="memc-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-eval
+ www-nginx/ngx-echo
+ www-nginx/ngx-set-misc
+)
+inherit nginx-module
+
+DESCRIPTION="An extended version of the standard NGINX memcached module"
+HOMEPAGE="https://github.com/openresty/memc-nginx-module"
+SRC_URI="
+ https://github.com/openresty/memc-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="test? ( net-misc/memcached )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.20-stats_t-do-not-run-timeout-test.patch"
+)
+
+src_test() {
+ # Start memcached in background on a port 11211, the default port if
+ # environment variable TEST_NGINX_MEMCACHED_PORT is not set.
+ # memcached is enclosed in braces so that the not operator properly applies
+ # to the asynchronous invocation of memcached.
+ if ! { memcached -p 11211 & }
+ then
+ die "memcached failed"
+ fi
+ # Save the PID of the launched memcached instance.
+ local memcached_pid=$!
+
+ nginx-module_src_test
+
+ kill "${memcached_pid}" || die "killing memcached failed"
+}
diff --git a/www-nginx/ngx-modsecurity/Manifest b/www-nginx/ngx-modsecurity/Manifest
new file mode 100644
index 000000000000..9327d11ad69b
--- /dev/null
+++ b/www-nginx/ngx-modsecurity/Manifest
@@ -0,0 +1 @@
+DIST ngx-modsecurity-1.0.3.tar.gz 34895 BLAKE2B 259fe6a2c170934d0052f12b45d712480892b40bbfe88e878f8d5d83350e94de1eca55686bad8c18dd7884c20e2231620ff7315d359a4b534fb8159ce1661624 SHA512 caf50bc2240597941333ccf75a318ce3696e90c3334e86a826ab052df6c182917d31037d0de9b055883564fc4ed52b361416040c9b99174f38e8f4e6e4056b6c
diff --git a/www-nginx/ngx-modsecurity/metadata.xml b/www-nginx/ngx-modsecurity/metadata.xml
new file mode 100644
index 000000000000..09d62c0baedd
--- /dev/null
+++ b/www-nginx/ngx-modsecurity/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ModSecurity-NGINX connector is the connection point between NGINX and libmodsecurity
+ (ModSecurity v3). Said another way, this project provides a communication channel between
+ NGINX and libmodsecurity. This connector is required to use LibModSecurity with NGINX.
+
+ The ModSecurity-NGINX connector takes the form of an NGINX module. The module simply serves
+ as a layer of communication between NGINX and ModSecurity.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/owasp-modsecurity/ModSecurity-nginx/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-modsecurity/ngx-modsecurity-1.0.3.ebuild b/www-nginx/ngx-modsecurity/ngx-modsecurity-1.0.3.ebuild
new file mode 100644
index 000000000000..1ff30ac6d00b
--- /dev/null
+++ b/www-nginx/ngx-modsecurity/ngx-modsecurity-1.0.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="modsecurity-nginx"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-v${PV}"
+
+inherit nginx-module
+
+DESCRIPTION="ModSecurity v3 NGINX Connector"
+HOMEPAGE="
+ https://github.com/owasp-modsecurity/ModSecurity-nginx
+ https://modsecurity.org/
+ https://github.com/owasp-modsecurity/ModSecurity
+"
+SRC_URI="
+ https://github.com/owasp-modsecurity/ModSecurity-nginx/releases/download/v${PV}/${MY_PN}-v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="dev-libs/modsecurity"
+RDEPEND="${DEPEND}"
diff --git a/www-nginx/ngx-set-misc/Manifest b/www-nginx/ngx-set-misc/Manifest
new file mode 100644
index 000000000000..34be9e483747
--- /dev/null
+++ b/www-nginx/ngx-set-misc/Manifest
@@ -0,0 +1 @@
+DIST ngx-set-misc-0.33.tar.gz 30084 BLAKE2B 1aabf47e86946054d128a10290c36829152d427cf415378f5042e00e428baaf94a91e1d8ee1037b8a40197637c721492b01a82c800064decb9471149ad47bcff SHA512 1ff4c947538a5bd5f9d6adcd87b37f2702f5cc90e3342bc08359cbe8f290b705a3a2daa3dedfb1df3ce4bc19478c8fcac07081c4a53a804fc2862d50078278dc
diff --git a/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-hmac-configurable.patch b/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-hmac-configurable.patch
new file mode 100644
index 000000000000..49302624efa3
--- /dev/null
+++ b/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-hmac-configurable.patch
@@ -0,0 +1,71 @@
+From 01292430b8eb0972670a3221c4809fc6a9bd98f2 Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Mon, 23 Dec 2024 00:32:18 +0100
+Subject: [PATCH] Make HMAC support easily toggleable
+
+set-misc-nginx-module tries to automagically detect the presence of the
+crypto library by checking USE_OPENSSL and MAIL_SSL shell variables.
+These variables are set by NGINX build system (see 'auto/modules') if
+OpenSSL and mail_ssl modules are being used respectively. Since set-misc
+does not actually depend on any of the NGINX's SSL modules, but rather
+on OpenSSL itself, we change the guard variable to GENTOO_USE_HMAC and
+set from within ebuild based on a USE flag.
+
+This also makes a similar change to ngx_http_set_misc_module.c file.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ config | 3 ++-
+ src/ngx_http_set_misc_module.c | 6 +++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/config b/config
+index 7bb00af..58bffd4 100755
+--- a/config
++++ b/config
+@@ -54,9 +54,10 @@ SET_MISC_DEPS=" \
+ $ngx_addon_dir/src/ngx_http_set_misc_module.h \
+ "
+
+-if [ $USE_OPENSSL = YES -o $MAIL_SSL = YES ]; then
++if [ $GENTOO_USE_HMAC = YES ]; then
+ SET_MISC_DEPS="$SET_MISC_DEPS $ngx_addon_dir/src/ngx_http_set_hmac.h"
+ SET_MISC_SRCS="$SET_MISC_SRCS $ngx_addon_dir/src/ngx_http_set_hmac.c"
++ CFLAGS="$CFLAGS -DGENTOO_USE_HMAC=1"
+ fi
+
+ CFLAGS="$CFLAGS -DNDK_SET_VAR -DNDK_UPSTREAM_LIST"
+diff --git a/src/ngx_http_set_misc_module.c b/src/ngx_http_set_misc_module.c
+index 3b12b0e..6d4df68 100644
+--- a/src/ngx_http_set_misc_module.c
++++ b/src/ngx_http_set_misc_module.c
+@@ -18,7 +18,7 @@
+ #include "ngx_http_set_hex.h"
+ #include "ngx_http_set_base64.h"
+ #include "ngx_http_set_base64url.h"
+-#if NGX_OPENSSL
++#if GENTOO_USE_HMAC
+ #include "ngx_http_set_hmac.h"
+ #endif
+ #include "ngx_http_set_random.h"
+@@ -90,7 +90,7 @@ static ndk_set_var_t ngx_http_set_misc_set_encode_hex_filter = {
+ };
+
+
+-#if NGX_OPENSSL
++#if GENTOO_USE_HMAC
+ static ndk_set_var_t ngx_http_set_misc_set_hmac_sha1_filter = {
+ NDK_SET_VAR_MULTI_VALUE,
+ (void *) ngx_http_set_misc_set_hmac_sha1,
+@@ -281,7 +281,7 @@ static ngx_command_t ngx_http_set_misc_commands[] = {
+ 0,
+ &ngx_http_set_misc_set_encode_hex_filter
+ },
+-#if NGX_OPENSSL
++#if GENTOO_USE_HMAC
+ { ngx_string ("set_hmac_sha1"),
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_SIF_CONF
+ |NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF|NGX_CONF_TAKE3,
+--
+2.45.3
+
diff --git a/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-skip-hashed-upstream_t-test.patch b/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-skip-hashed-upstream_t-test.patch
new file mode 100644
index 000000000000..812ddbb20f5d
--- /dev/null
+++ b/www-nginx/ngx-set-misc/files/ngx-set-misc-0.33-skip-hashed-upstream_t-test.patch
@@ -0,0 +1,31 @@
+From 25337a9db440d2afb406a78b113e9a8ea0f3fcde Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Thu, 13 Feb 2025 19:43:54 +0100
+Subject: [PATCH] hashed-upstream.t: skip the test
+
+The "hashed-upstream.t" test utilises the upstream_list command. I do
+not know which module provides this command and so far I have been
+unsuccessful to find anything online.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ t/hashed-upstream.t | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/t/hashed-upstream.t b/t/hashed-upstream.t
+index fdebd15..6e3a912 100644
+--- a/t/hashed-upstream.t
++++ b/t/hashed-upstream.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'not working at all';
+
+ #repeat_each(3);
+
+--
+2.45.3
+
diff --git a/www-nginx/ngx-set-misc/metadata.xml b/www-nginx/ngx-set-misc/metadata.xml
new file mode 100644
index 000000000000..97daf60fe382
--- /dev/null
+++ b/www-nginx/ngx-set-misc/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-set-mist module extends the standard NGINX HttpRewriteModule's directive set to
+ provide more functionalities like URI escaping and unescaping, JSON quoting,
+ Hexadecimal/MD5/SHA1/Base32/Base64 digest encoding and decoding, random number generator,
+ and more.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/set-misc-nginx-module/issues</bugs-to>
+ </upstream>
+ <use>
+ <flag name="hmac">Enable support for generating HMAC digests using <pkg>dev-libs/openssl</pkg></flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-set-misc/ngx-set-misc-0.33.ebuild b/www-nginx/ngx-set-misc/ngx-set-misc-0.33.ebuild
new file mode 100644
index 000000000000..5c39add54e1c
--- /dev/null
+++ b/www-nginx/ngx-set-misc/ngx-set-misc-0.33.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="set-misc-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_LINK_MODULES=( www-nginx/ngx_devel_kit )
+
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-echo
+ www-nginx/ngx-iconv
+)
+inherit toolchain-funcs nginx-module
+
+DESCRIPTION="An NGINX module that adds various set_xxx directives to NGINX's rewrite module"
+HOMEPAGE="https://github.com/openresty/set-misc-nginx-module"
+SRC_URI="
+ https://github.com/openresty/set-misc-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+hmac"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="hmac? ( dev-libs/openssl:= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.33-hmac-configurable.patch"
+ "${FILESDIR}/${PN}-0.33-skip-hashed-upstream_t-test.patch"
+)
+
+src_configure() {
+ # These are variables patched into the build system to be able to control
+ # HMAC support. For more details, see the "hmac-configurable" patch above.
+ local -x GENTOO_USE_HMAC=NO
+ if use hmac; then
+ GENTOO_USE_HMAC=YES
+ ngx_mod_append_libs "$("$(tc-getPKG_CONFIG)" --libs libcrypto)"
+ fi
+ nginx-module_src_configure
+}
diff --git a/www-nginx/ngx-srcache/Manifest b/www-nginx/ngx-srcache/Manifest
new file mode 100644
index 000000000000..8b319366a602
--- /dev/null
+++ b/www-nginx/ngx-srcache/Manifest
@@ -0,0 +1 @@
+DIST ngx-srcache-0.33.tar.gz 51025 BLAKE2B e45591e8901514ce14597c41f464f27007e566010f19ffe3e5310eaafb8a3c2b6b01755936ca6abe3fe2e8e87125cdcc656d3d980d5523a4fba02f441fa75242 SHA512 d96003e636b1a18bc1ad2f5005edcc96f3e386471f8a8242c0d882013a3bd1463eaf435203e25c4d8cddd99b5bf028664c4672958133b51d5b6c833fa9a2da4c
diff --git a/www-nginx/ngx-srcache/files/ngx-srcache-0.33-disable-invalid-tests.patch b/www-nginx/ngx-srcache/files/ngx-srcache-0.33-disable-invalid-tests.patch
new file mode 100644
index 000000000000..f3db3c1637fc
--- /dev/null
+++ b/www-nginx/ngx-srcache/files/ngx-srcache-0.33-disable-invalid-tests.patch
@@ -0,0 +1,147 @@
+From e69195edbb7c38135743c4a0c19a6d78d0e7467a Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Thu, 13 Feb 2025 21:41:35 +0100
+Subject: [PATCH] t: Disable invalid tests
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ t/000_init.t | 3 ++-
+ t/conditional-get.t | 3 ++-
+ t/drizzle-main.t | 3 ++-
+ t/eval.t | 3 ++-
+ t/methods.t | 3 ++-
+ t/postgres-main.t | 3 ++-
+ t/proxy.t | 3 ++-
+ t/redis.t | 3 ++-
+ t/timeout.t | 3 ++-
+ 9 files changed, 18 insertions(+), 9 deletions(-)
+
+diff --git a/t/000_init.t b/t/000_init.t
+index b611e6c..06663e6 100644
+--- a/t/000_init.t
++++ b/t/000_init.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'Gentoo does not package neither ngx_postgres nor drizzle';
+
+ repeat_each(1);
+
+diff --git a/t/conditional-get.t b/t/conditional-get.t
+index b652ee6..82daf84 100644
+--- a/t/conditional-get.t
++++ b/t/conditional-get.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'uses arbitrary hostname as proxy_pass';
+
+ #repeat_each(100);
+
+diff --git a/t/drizzle-main.t b/t/drizzle-main.t
+index 5ff11eb..150ce52 100644
+--- a/t/drizzle-main.t
++++ b/t/drizzle-main.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'drizzle is not packaged by Gentoo';
+
+ #repeat_each(100);
+
+diff --git a/t/eval.t b/t/eval.t
+index c109463..bda4dc9 100644
+--- a/t/eval.t
++++ b/t/eval.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'Gentoo does not package drizzle';
+
+ repeat_each(3);
+
+diff --git a/t/methods.t b/t/methods.t
+index 9a57b38..f48e37d 100644
+--- a/t/methods.t
++++ b/t/methods.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'uses arbitrary hostname as proxy_pass';
+
+ #repeat_each(2);
+
+diff --git a/t/postgres-main.t b/t/postgres-main.t
+index ccc00c4..b1e53ea 100644
+--- a/t/postgres-main.t
++++ b/t/postgres-main.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'ngx_postgres is not packaged by Gentoo';
+
+ #repeat_each(100);
+
+diff --git a/t/proxy.t b/t/proxy.t
+index f3e6a31..9eb8678 100644
+--- a/t/proxy.t
++++ b/t/proxy.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'Gentoo does not package drizzle';
+
+ #repeat_each(100);
+
+diff --git a/t/redis.t b/t/redis.t
+index 8af2ff0..ff10a5c 100644
+--- a/t/redis.t
++++ b/t/redis.t
+@@ -1,7 +1,8 @@
+ # vi:ft=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'relies on horribly outdated Redis 2.x';
+
+ #repeat_each(2);
+
+diff --git a/t/timeout.t b/t/timeout.t
+index 9357658..b9a8827 100644
+--- a/t/timeout.t
++++ b/t/timeout.t
+@@ -1,7 +1,8 @@
+ # vi:filetype=
+
+ use lib 'lib';
+-use Test::Nginx::Socket;
++use Test::Nginx::Socket skip_all =>
++ 'uses arbitrary hostname as proxy_pass';
+
+ repeat_each(2);
+
+--
+2.45.3
+
diff --git a/www-nginx/ngx-srcache/metadata.xml b/www-nginx/ngx-srcache/metadata.xml
new file mode 100644
index 000000000000..f0477697a5f6
--- /dev/null
+++ b/www-nginx/ngx-srcache/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-srcache NGINX module provides a transparent caching layer for arbitrary NGINX
+ locations (like those use an upstream or even serve static disk files). The caching behavior
+ is mostly compatible with RFC 2616.
+
+ Usually, ngx-memc is used together with this module to provide a concrete caching
+ storage backend. But technically, any modules that provide a REST interface can be used as
+ the fetching and storage subrequests used by this module.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/srcache-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-srcache/ngx-srcache-0.33.ebuild b/www-nginx/ngx-srcache/ngx-srcache-0.33.ebuild
new file mode 100644
index 000000000000..f7848f5d3969
--- /dev/null
+++ b/www-nginx/ngx-srcache/ngx-srcache-0.33.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="srcache-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+NGINX_MOD_OPENRESTY_TESTS=1
+# ngx-srcache must be after ngx-xss, but before ngx-lua-module. The former might
+# be due to the fact that both ngx-xss and ngx-srcache are filters. As for the
+# latter, I just don't know.
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-xss
+ www-nginx/ngx-srcache
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-echo
+ www-nginx/ngx-memc
+)
+inherit nginx-module
+
+DESCRIPTION="An NGINX module enabling transparent subrequest-based caching"
+HOMEPAGE="https://github.com/openresty/srcache-nginx-module"
+SRC_URI="
+ https://github.com/openresty/srcache-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Tests require NGINX to be built with debugging log enabled.
+BDEPEND="test? ( www-servers/nginx[debug(-)] )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.33-disable-invalid-tests.patch"
+)
+
+src_test() {
+ # Start memcached in background on a port 11211, the default port if
+ # environment variable TEST_NGINX_MEMCACHED_PORT is not set.
+ # memcached is enclosed in braces so that the not operator properly applies
+ # to the asynchronous invocation of memcached.
+ if ! { memcached -p 11211 & }
+ then
+ die "memcached failed"
+ fi
+ # Save the PID of the launched memcached instance.
+ local memcached_pid=$!
+
+ nginx-module_src_test
+
+ kill "${memcached_pid}" || die "killing memcached failed"
+}
diff --git a/www-nginx/ngx-upload-progress/Manifest b/www-nginx/ngx-upload-progress/Manifest
new file mode 100644
index 000000000000..932d7f7e777b
--- /dev/null
+++ b/www-nginx/ngx-upload-progress/Manifest
@@ -0,0 +1 @@
+DIST ngx-upload-progress-0.9.3.tar.gz 17303 BLAKE2B 80053985e5b07ab6baf1852514210264b29abdc36689a1d57d7ed5c52b54239911bc6f25d1d062be2015b9809b2efc122a1e424cc8e14971d04fb26b3a65af96 SHA512 43361c584207ddab61ddd9266507b0e1c39041b792e99325088b0621a870ff52b3c191becf4c8ad4fba0c7b7ca29a3a12472b95e9c20c0610c50c6ccedb45871
diff --git a/www-nginx/ngx-upload-progress/metadata.xml b/www-nginx/ngx-upload-progress/metadata.xml
new file mode 100644
index 000000000000..f57deb61a23a
--- /dev/null
+++ b/www-nginx/ngx-upload-progress/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The ngx-upload-proress module is an NGINX module that implements an upload progress system
+ which monitors RFC1867 POST upload as they are transmitted to upstream servers.
+
+ The module works by tracking the uploads proxied by NGINX to upstream servers without analysing the
+ uploaded content and offers a web API to report upload progress in JavaScript, JSON or any
+ other format (with the help of templates).
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/masterzen/nginx-upload-progress-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-upload-progress/ngx-upload-progress-0.9.3.ebuild b/www-nginx/ngx-upload-progress/ngx-upload-progress-0.9.3.ebuild
new file mode 100644
index 000000000000..d0a1990dbc0e
--- /dev/null
+++ b/www-nginx/ngx-upload-progress/ngx-upload-progress-0.9.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="nginx-upload-progress-module"
+inherit nginx-module
+
+DESCRIPTION="An upload progress system for NGINX monitoring RFC1867 POST uploads"
+HOMEPAGE="https://github.com/masterzen/nginx-upload-progress-module"
+SRC_URI="
+ https://github.com/masterzen/nginx-upload-progress-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Uses custom shell-based tests.
+RESTRICT="test"
diff --git a/www-nginx/ngx-vod/Manifest b/www-nginx/ngx-vod/Manifest
new file mode 100644
index 000000000000..c581cd812cfa
--- /dev/null
+++ b/www-nginx/ngx-vod/Manifest
@@ -0,0 +1 @@
+DIST ngx-vod-1.33.tar.gz 471858 BLAKE2B fa5cb9fd185b30c5c53b25a6f103213b3d04dac5d2d81db72f9749a51548e09e3e17dccc636d748aff8d21c6623484c77fdeb10d70854480759665d140d42e0e SHA512 29ef77f1bbdb2410ff317ebdd7434f31b8ec370ae6b617b92e745e87c11bc820b451181d1d2b57156b414348da14ac448b689b32b17ab418144292eda094512d
diff --git a/www-nginx/ngx-vod/files/ngx-vod-1.33-fix-clock-gettime-config-check.patch b/www-nginx/ngx-vod/files/ngx-vod-1.33-fix-clock-gettime-config-check.patch
new file mode 100644
index 000000000000..5923976c13e9
--- /dev/null
+++ b/www-nginx/ngx-vod/files/ngx-vod-1.33-fix-clock-gettime-config-check.patch
@@ -0,0 +1,36 @@
+From a6c50b75c1a17460119f02cc32c79dd9e9b22d5c Mon Sep 17 00:00:00 2001
+From: Zurab Kvachadze <zurabid2016@gmail.com>
+Date: Wed, 26 Feb 2025 20:08:17 +0100
+Subject: [PATCH] config: make clock_gettime() check work
+
+The clock_gettime() function is provided by time.h, but the check
+includes sched.h. Additionally, the function expects two arguments, but
+none are given.
+
+This commit fixes both issues, making the check actually work.
+
+Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
+---
+ config | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config b/config
+index 7a627a9..5150e79 100644
+--- a/config
++++ b/config
+@@ -127,10 +127,10 @@ ngx_feature_test="iconv_open(NULL, NULL);"
+ ngx_feature="clock_gettime()"
+ ngx_feature_name="NGX_HAVE_CLOCK_GETTIME"
+ ngx_feature_run=no
+-ngx_feature_incs="#include <sched.h>"
++ngx_feature_incs="#include <time.h>"
+ ngx_feature_path=
+ ngx_feature_libs=
+-ngx_feature_test="clock_gettime()"
++ngx_feature_test="clockid_t c; clock_gettime(c, NULL)"
+ . auto/feature
+
+ if [ $ngx_found != yes ]; then
+--
+2.45.3
+
diff --git a/www-nginx/ngx-vod/metadata.xml b/www-nginx/ngx-vod/metadata.xml
new file mode 100644
index 000000000000..af5b0050f044
--- /dev/null
+++ b/www-nginx/ngx-vod/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/kaltura/nginx-vod-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-vod/ngx-vod-1.33.ebuild b/www-nginx/ngx-vod/ngx-vod-1.33.ebuild
new file mode 100644
index 000000000000..98ab7e06c5f6
--- /dev/null
+++ b/www-nginx/ngx-vod/ngx-vod-1.33.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="nginx-vod-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+inherit nginx-module
+
+DESCRIPTION="NGINX-based MP4 Repackager"
+HOMEPAGE="https://github.com/kaltura/nginx-vod-module"
+SRC_URI="
+ https://github.com/kaltura/nginx-vod-module/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Uses custom Python-based testing framework.
+RESTRICT="test"
+
+DEPEND="
+ dev-libs/openssl:=
+ dev-libs/libxml2
+ media-video/ffmpeg:=
+ sys-libs/zlib:=
+ virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.33-fix-clock-gettime-config-check.patch"
+)
diff --git a/www-nginx/ngx-xss/Manifest b/www-nginx/ngx-xss/Manifest
new file mode 100644
index 000000000000..ec20887f1122
--- /dev/null
+++ b/www-nginx/ngx-xss/Manifest
@@ -0,0 +1 @@
+DIST ngx-xss-0.06.tar.gz 12448 BLAKE2B 58cb1f23699e173c6fe3ac1c03ddef184238b1c3dc0471569e11b9a8f40b93250a9fa60c0bcc71222daf22769698835d1fe5515c0b55e385141c10451f347005 SHA512 b417ba5199d7147c348cd897f6294c49270f700d565b841086a5b1ecbfcea4005b6c01aac4e0e0e86cfafdc1d578107783dda718da2b9a1fd3b89676ec7b1ff4
diff --git a/www-nginx/ngx-xss/files/ngx-xss-0.06-add-dynamic-build-support.patch b/www-nginx/ngx-xss/files/ngx-xss-0.06-add-dynamic-build-support.patch
new file mode 100644
index 000000000000..5cfd8715e569
--- /dev/null
+++ b/www-nginx/ngx-xss/files/ngx-xss-0.06-add-dynamic-build-support.patch
@@ -0,0 +1,34 @@
+From a45c0c645841795d124acd43ea8a5c8297754a6f Mon Sep 17 00:00:00 2001
+From: Su Yang <soulteary@users.noreply.github.com>
+Date: Mon, 14 Jun 2021 11:47:03 +0800
+Subject: [PATCH 1/2] support dynamic build
+
+---
+ config | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/config b/config
+index 42ebe33..4ca7d3d 100644
+--- a/config
++++ b/config
+@@ -1,5 +1,20 @@
+ ngx_addon_name=ngx_http_xss_filter_module
++
+ HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_xss_filter_module"
+ NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/src/ngx_http_xss_filter_module.c $ngx_addon_dir/src/ngx_http_xss_util.c"
+ NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_addon_dir/src/ddebug.h $ngx_addon_dir/src/ngx_http_xss_filter_module.h $ngx_addon_dir/src/ngx_http_xss_util.h"
+
++if test -n "$ngx_module_link"; then
++ ngx_module_type=HTTP_AUX_FILTER
++ ngx_module_name=$ngx_addon_name
++ ngx_module_incs=
++ ngx_module_deps="$NGX_ADDON_DEPS"
++ ngx_module_srcs="$NGX_ADDON_SRCS"
++ ngx_module_libs=
++
++ . auto/module
++else
++ HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES $ngx_addon_name"
++ NGX_ADDON_SRCS="$NGX_ADDON_SRCS"
++ NGX_ADDON_DEPS="$NGX_ADDON_DEPS"
++fi
diff --git a/www-nginx/ngx-xss/metadata.xml b/www-nginx/ngx-xss/metadata.xml
new file mode 100644
index 000000000000..d1148bbec7c0
--- /dev/null
+++ b/www-nginx/ngx-xss/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ ngx-xss adds native cross-site scripting support to NGINX. This module adds cross-site AJAX
+ support to nginx. Currently only cross-site GET is supported. The cross-site GET is
+ implemented as JSONP (or "JSON with padding").
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/openresty/xss-nginx-module/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx-xss/ngx-xss-0.06.ebuild b/www-nginx/ngx-xss/ngx-xss-0.06.ebuild
new file mode 100644
index 000000000000..89a07b20afcf
--- /dev/null
+++ b/www-nginx/ngx-xss/ngx-xss-0.06.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="xss-nginx-module"
+NGINX_MOD_S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Strangely, 10-year-old tests work perfectly.
+NGINX_MOD_OPENRESTY_TESTS=1
+NGINX_MOD_TEST_LOAD_ORDER=(
+ www-nginx/ngx-lua-module
+ www-nginx/ngx-echo
+)
+inherit nginx-module
+
+DESCRIPTION="Native support for cross-site scripting (XSS) in NGINX"
+HOMEPAGE="https://github.com/openresty/xss-nginx-module"
+SRC_URI="
+ https://github.com/openresty/xss-nginx-module/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.06-add-dynamic-build-support.patch"
+)
diff --git a/www-nginx/ngx_devel_kit/Manifest b/www-nginx/ngx_devel_kit/Manifest
new file mode 100644
index 000000000000..b5f5f9eb5341
--- /dev/null
+++ b/www-nginx/ngx_devel_kit/Manifest
@@ -0,0 +1 @@
+DIST ngx_devel_kit-0.3.4.tar.gz 66474 BLAKE2B 3b5ed36517f27ea83881d2fb1e6ba2839c173a833ec563fa94dc9b633b3ebe9ea24c7bb5676aa811267b09a2504d74b306ee7268b8a0d56b230886fd955289e9 SHA512 6bc2f4d3b7ad22527e6c7c343884f8b0d5810ae9b7b09d6c2988b50afbd9c7a79e387667bfb980e93c5e204c163544f79634b2862895d8ee004a4393245ee185
diff --git a/www-nginx/ngx_devel_kit/metadata.xml b/www-nginx/ngx_devel_kit/metadata.xml
new file mode 100644
index 000000000000..e704badc7ae1
--- /dev/null
+++ b/www-nginx/ngx_devel_kit/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zurabid2016@gmail.com</email>
+ <name>Zurab Kvachadze</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The NDK is an NGINX module that is designed to extend the core functionality of the
+ excellent NGINX webserver in a way that can be used as a basis of other NGINX modules.
+
+ It has functions and macros to deal with generic tasks that don't currently have generic
+ code as part of the core distribution. The NDK itself adds few features that are seen from a
+ user's point of view - it's just designed to help reduce the code that NGINX module
+ developers need to write.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/vision5/ngx_devel_kit/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/www-nginx/ngx_devel_kit/ngx_devel_kit-0.3.4.ebuild b/www-nginx/ngx_devel_kit/ngx_devel_kit-0.3.4.ebuild
new file mode 100644
index 000000000000..cd6012d2693f
--- /dev/null
+++ b/www-nginx/ngx_devel_kit/ngx_devel_kit-0.3.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic nginx-module
+
+DESCRIPTION="An NGINX module that adds generic tools for third-party modules"
+HOMEPAGE="https://github.com/vision5/ngx_devel_kit"
+SRC_URI="
+ https://github.com/vision5/ngx_devel_kit/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+src_configure() {
+ # ngx_devel_kit (NDK) is designed in a modular way. As such, only the
+ # required modules are built based if the corresponding preprocessor macros
+ # are defined.
+ #
+ # Since we do not want to deal with a dependency hell (other NGINX plugins
+ # depend on dfferent NDK's modules) and a bunch of USE flag toggles, NDK is
+ # compiled with all its modules. Fortunately, even with all the modules
+ # built-in, the resulting binary is really small, so the size is not an
+ # issue.
+ #
+ # For details, have a look at 'objs/ndk_config.c' in NDK's source tree and
+ # the 'modular' section in 'README.md'.
+ append-cflags -DNDK_ALL
+ nginx-module_src_configure
+}
+
+src_install() {
+ nginx-module_src_install
+
+ pushd "${NGINX_MOD_S}" >/dev/null || die "pushd failed"
+
+ # Install ngx_devel_kit's headers for use by other modules.
+ insinto /usr/include/nginx/modules
+ find objs src -maxdepth 1 -type f -name '*.h' -print0 | xargs -0 doins
+ assert "find failed"
+
+ popd >/dev/null || die "popd failed"
+}