diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-07-05 18:58:43 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-07-05 18:58:43 +0000 |
| commit | 473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce (patch) | |
| tree | 3cbfa7b0d8f5b33d26b38f37d0b402a5602dd911 /www-nginx | |
| parent | 487cba42213103079e9cfa4c89bb58c3c8388320 (diff) | |
| download | baldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.tar.gz baldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.tar.xz baldeagleos-repo-473a0f1ace19e3bd0192bd3bb05ffba96e86a1ce.zip | |
Adding metadata
Diffstat (limited to 'www-nginx')
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" +} |
