summaryrefslogtreecommitdiff
path: root/www-servers
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/Manifest.gzbin5040 -> 5030 bytes
-rw-r--r--www-servers/apache/Manifest2
-rw-r--r--www-servers/apache/apache-2.4.52.ebuild4
-rw-r--r--www-servers/lighttpd/Manifest14
-rw-r--r--www-servers/lighttpd/files/conf/lighttpd.conf366
-rw-r--r--www-servers/lighttpd/files/conf/lighttpd.conf-r1309
-rw-r--r--www-servers/lighttpd/files/conf/mime-types.conf328
-rw-r--r--www-servers/lighttpd/files/conf/mod_cgi.conf28
-rw-r--r--www-servers/lighttpd/files/conf/mod_fastcgi.conf17
-rw-r--r--www-servers/lighttpd/files/lighttpd.initd-r179
-rw-r--r--www-servers/lighttpd/lighttpd-1.4.64.ebuild236
-rw-r--r--www-servers/lighttpd/metadata.xml28
-rw-r--r--www-servers/nginx-unit/Manifest8
-rw-r--r--www-servers/nginx-unit/metadata.xml1
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild87
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.26.0.ebuild89
-rw-r--r--www-servers/nginx-unit/nginx-unit-1.26.1.ebuild2
-rw-r--r--www-servers/nginx/Manifest3
-rw-r--r--www-servers/nginx/nginx-1.21.6.ebuild1081
-rw-r--r--www-servers/puma/Manifest4
-rw-r--r--www-servers/puma/puma-5.5.2.ebuild4
-rw-r--r--www-servers/puma/puma-5.6.1.ebuild59
-rw-r--r--www-servers/tomcat/Manifest9
-rw-r--r--www-servers/tomcat/files/tomcat-10.0.16-build.xml-strip-html5.patch31
-rw-r--r--www-servers/tomcat/files/tomcat-10.0.16-build.xml.patch349
-rw-r--r--www-servers/tomcat/files/tomcat-9.0.58-build.xml.patch321
-rw-r--r--www-servers/tomcat/tomcat-10.0.16.ebuild195
-rw-r--r--www-servers/tomcat/tomcat-8.5.75.ebuild159
-rw-r--r--www-servers/tomcat/tomcat-9.0.58.ebuild187
-rw-r--r--www-servers/tornado/Manifest2
-rw-r--r--www-servers/tornado/tornado-6.1.ebuild4
-rw-r--r--www-servers/uwsgi/Manifest5
-rw-r--r--www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch23
-rw-r--r--www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch36
-rw-r--r--www-servers/uwsgi/files/uwsgi-2.0.19.1-pynode-compile.patch123
-rw-r--r--www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild (renamed from www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild)12
-rw-r--r--www-servers/varnish/Manifest4
-rw-r--r--www-servers/varnish/varnish-7.0.1.ebuild (renamed from www-servers/varnish/varnish-7.0.0.ebuild)2
38 files changed, 3593 insertions, 618 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index 415cf619fa15..976ec568fd13 100644
--- a/www-servers/Manifest.gz
+++ b/www-servers/Manifest.gz
Binary files differ
diff --git a/www-servers/apache/Manifest b/www-servers/apache/Manifest
index ff71d8d527dc..42957d21ea74 100644
--- a/www-servers/apache/Manifest
+++ b/www-servers/apache/Manifest
@@ -8,5 +8,5 @@ DIST httpd-2.4.52.tar.bz2 7439184 BLAKE2B caa3f96226eeaf2f7ab625a73e820e7c6c5661
EBUILD apache-2.4.51-r1.ebuild 8311 BLAKE2B 8d798a311304fc639fd5d7e327c67346771f7bea356da5d82c0f87308f82909499b4d3b18833e061764a84da33b371bf10542f34974243a32c44e3a9fc362bfe SHA512 196fe69be7ee634fb0b52d64252b41bd3c0df6ae8940f73ca90cdb73b700064e71126214b13544576f47c6d563efd485734cbcbe0827656948da015da5343916
EBUILD apache-2.4.51-r2.ebuild 8306 BLAKE2B a41520573ce9c1b7ba27147240b29e87c150f9f1ae4699a45dceee42ed4c91829121f96c22a3e3fe778e4fb47d171b58e4046d8f235e15fbe08c7c77f4d42b78 SHA512 4e7d4456136f0e1122fe85cd606740e847d6c6841bfe99a752acf1443fd663c24f8645ac377aefb0887dadb5b9473d702bdef9a4d71506622bc13979a71ef2ff
EBUILD apache-2.4.51.ebuild 8256 BLAKE2B 11bb21bf6f5bc9b13b57f83350b8efc5fe9a39da063a887a281f137951d7a40d305ff395406d30b8dfb5817319d132807b06698f86f278b92d0fb2adf3416f02 SHA512 281026c9f861bacfaa6664eda7701063eb1698f00f71117951944d7fa408df11367bbc10bafede5d0a9f88c62344f94fe6b12d384af6e92f2ab5db1bded68660
-EBUILD apache-2.4.52.ebuild 8247 BLAKE2B 7d6d02a655ac72bd8fe55890b91bf09f6267d7f76953eca40475c761064d12b5b92504010cdcdd2a6588e4bda397a48716277e6c8a9bb4efb0558243a1105aec SHA512 5fba6d0faa19222d6773f809d8180387263c904a152aeb5d741342439e8da14209ac4a38ef1d487e0646d020e3e65fdcb24880e341333892f7c59a5dccef00b5
+EBUILD apache-2.4.52.ebuild 8246 BLAKE2B d512dd05c713d1279baf0abb92264f8c8582dcfb6bd0787bcf92dd427e412ddafecdd3950708d7b68e499d7de6c7f9d9d5ec80ec990ad467562984ace557b5dd SHA512 46cbd54717be65117cb57183dad8e772960887a0b3a140e22e8aac2afa857c8918dda8f5d614198122b218350e6c00eb8662e68be86d1f58398fd5e7051bf10f
MISC metadata.xml 901 BLAKE2B 126de8b6d9c924dc1bfedecc23b0ea5b5b3881b13cda7dd35d1ba04c30dabef619b2a57ac83e65695ce5e6e51b0f17c69cf752d6505c0d146dca8e2b7d90cbc6 SHA512 453b98f9ee9af6ebfc11d55e2218d1877a5a3f45fd969f6b3708f97216776c41deb651116826b15d744ea54fdd283497bc4f14917a9b00ae8b6e7af126441263
diff --git a/www-servers/apache/apache-2.4.52.ebuild b/www-servers/apache/apache-2.4.52.ebuild
index 044b7fd20dab..df5fda5b0e0f 100644
--- a/www-servers/apache/apache-2.4.52.ebuild
+++ b/www-servers/apache/apache-2.4.52.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -140,7 +140,7 @@ HOMEPAGE="https://httpd.apache.org/"
# some helper scripts are Apache-1.1, thus both are here
LICENSE="Apache-2.0 Apache-1.1"
SLOT="2"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x64-macos ~sparc64-solaris ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x64-macos ~sparc64-solaris ~x64-solaris"
# FIXME! Move this to eclass once all ebuilds are EAPI-7
RDEPEND+=" apache2_modules_lua? ( ${LUA_DEPS} )"
diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest
index 9b7b3b7eeddf..a52edc0ae033 100644
--- a/www-servers/lighttpd/Manifest
+++ b/www-servers/lighttpd/Manifest
@@ -1,17 +1,21 @@
-AUX conf/lighttpd.conf 8257 BLAKE2B 82090a8c467e3738d1e7bb3a55310040145ab6a0ee7dc0ab45abd9ad657cfacec895727eb34799f3552d0c1c11a6dfbf6fe7cc1fd6e17b610284b7194e02aed0 SHA512 0bfa3d44c28f6893362b4c428d7bdce2a560ba155e349af9ee293510341fee03d484f95e9d967afb87f0a61aa11dd33ef9c633e206146c0af791f2690aed9852
-AUX conf/mime-types.conf 8035 BLAKE2B 4f47860376d6bed610ecacf2c79c3ccbd6ed7a05bce6fe57c93e4dfacc5f85fd4957730470765644c4ee233f9e4c853b5092362cbdcd4ad06d6e641ff53439b3 SHA512 230d86331c39e8819c14583309669e49c0a0dcf52144f9ddc24bcdd8a742364f6efee720c964ffaddb1f88bc64b04a32c5ac13b0d512806f98282e20e2682b6e
-AUX conf/mod_cgi.conf 749 BLAKE2B dd565d6052d74aea3489f3a011a5913fcbd331b57ca02e71496eecff7c303cd56e8e43cd5a9b33c27463304a2f2218fc7451cb5754200c9ef48eb4104b820547 SHA512 e611b3ed232af4fb8e9b8821a29fbc32acb0a3431c701e5a64afc192abc288cf90582fbbf79085de9426be23d8d42d90da66e6993ab7cf89943ae23d59d681a1
-AUX conf/mod_fastcgi.conf 549 BLAKE2B 7bd525db1ace97a826bc4fcc11fc230f16839005da8988b21f54e5d43763a7df82b0d3b2cd5f410074cd87b2c8dbaab91042563bb7878ca0bedc076eafdc5906 SHA512 a9245394cbde327f997932546e2c6ee755da9365ce3a3d4662d2042971a9ec0a5fc36f9cdd7c032d35a6c0c3d02471b4b9b394b2cd349291c4a9827ca06cea4f
+AUX conf/lighttpd.conf 6707 BLAKE2B 87c74414991a45ba6be17235db7a627dfea85fd4393efd3fc653495adbed1f0b4950d2f9a9c774fe57ce10d8abbff8025dffdef5dfc7003c09f9ca7fcb8a8572 SHA512 7a466414e455bbbdbf181ca2be602aba8cb8ab4afc2002d9d7fd9b7e7e98cd62fb17863bc291a2dc940b14e08251069ec5961c819e3f6fe592888e91d402bc95
+AUX conf/lighttpd.conf-r1 7623 BLAKE2B 51805756814ed7ea8770419fa98009b1ecf6e963c9f1b9d7694ad307fd3c3f6f9c1c167a41b6048910e4cd89af4211b6a8f48382a9adadb10b76ab61f55b6115 SHA512 8985c77d2dc22cca8caf7a484619d2712dd1fa7ecd4a71c19b8c5d09af471c6b42ab0cf131d40d2c61440d4d3053a86285fb90209204d2ba711868513c800722
+AUX conf/mime-types.conf 5802 BLAKE2B 894906c67176dfb98819fe0d61e66905d873ad96907c14684a1b6284796ea69950606c950a72f16ffa9fdd46675ac79050cc39456ae66c91a38a50e1ef5449e9 SHA512 28fb746307daa92ae8077850627097d8ed4f24ad6f1c1963a3397a052add17282292e6f230550fb65d2fef969af0448f2f86e36afb5b15dc92b00fd80821c54a
+AUX conf/mod_cgi.conf 624 BLAKE2B b2d998f15c3fa6de05a91e987a60f9ba599ec5b8fe24317f17566ce6473cffaf1ad04b937724ef32064afacc87672323cd10718c7a0bdf24091150e4535aa7a8 SHA512 2b9fe376fac868a67daffe5cdcdd3c28a27e210219748f5513f1d2f4763a934739232b2ae521e5596ed4ae84137667c982a1e0d7b4161708e41d6f78ffe395a9
+AUX conf/mod_fastcgi.conf 425 BLAKE2B 5c78303b686677bc77a6c9c51f295a023f4854ce351cf41e8984f84f6d8520fee93db4c96b25495bb935ed53d57090e481516c3fd4862401cea174fa2bccc0d2 SHA512 0847a55736dd86f6589086614331a54d1656214ab918638a319b69825ef67bfc8003fa567dc8b82c1c1611d2b4d2771dce4bdd337ecb9b277758a5dcf6c12331
AUX lighttpd-1.4.59-nspr-header.patch 546 BLAKE2B c5354d75a0543a7ccb7e1f2c9aabc09dadd1703cc7199438b1b894c566314f189e2115db5f41d70c8df10101e05c31f7f5644634c0e4f9fca7919ced92457793 SHA512 e0ea1b0d3948ff487ffc050bbe692e488b98f4cacdfc122837458527168cf5c40125cd98e69a1f95095ecd28b309b19e209e07be75dae2bcdd48ea1692f1056b
AUX lighttpd.confd 240 BLAKE2B 8383c102f9e3a373909f26cda9f73d1edf81ef9dae42a48593f6d6f61c1b1060cc324bb773d402307d54c6cca520ddada8016dc5b3f0922ddf75d24934bfc7c4 SHA512 dd722c15230df734d7151bcb9cfc66d6d54aac5dcdca5f50eb33979d3a2443ba3a9ef3d7cb35e6dbd3d39fce09da15ab0029b1399bf1b1e4f4ef20d40f70a416
AUX lighttpd.initd 1957 BLAKE2B df5ba8a820d9a75657e6bb3225f86b961d15f11f4b05278c44ffb1840386be5e8dd2c74e4c053ab4c5f10e5987ebac2e9b8e1489436e5ab337a2f96ca403610c SHA512 d5fc03ded923d2aeea19fefdf658ed793114867dd0b50be6836d767108c98fb7de56011f00ea63220c4b198cff45d98fdc8a649efae90673536e03f786219485
+AUX lighttpd.initd-r1 1993 BLAKE2B 719a854c4faad43a7d33303afd68950ec5393b63f485cfcbcd89e39b6a4a6eef3fe74a73acdd95dd948f7d3c822d0cca1a7da087c83eb455f50b2402a5ef8acd SHA512 545b923f199a6f3399df3cbd8122e7a5a83bf4128a59bf000690ccba1e6d9bd7ec3bd31aeecf4c7a14b6349ccc99df5ab4e6ff8ef9b3f026efd6ae628c872962
AUX lighttpd.logrotate-r1 385 BLAKE2B c41e4b7892d3cb8cd7306eb7fa93b4a03452786acc7a3078464cf2cb7eec982f626201cc0d0aea7dd7de81cacf603f6d064c8ec6f8dcff09f78dfd48b656aa93 SHA512 8cae2d3acb2f4d9a9043e492c4b15024f85f92d93616d5e92e08d51e2295fde6160c750be08244703f999208c4b43ecfb9a2fcb8e223e52992551a0668302ffe
AUX lighttpd.service 257 BLAKE2B 7e60ad2f87ece8547cd3e39fc2121ea4664d9015722469ab074469ba0b670f56b147c8088ad9211f97a4f314fe4eaebac89cd9cddee34edbf3652b7ea0712c94 SHA512 fbcd7dbf9c6b97284465af133a7cd1f711978ef4318a749ff7d366b053265fac94a1d76f074f56722c382179631d38ed8a07ac2c2fc4b712a93acab2f3609c0f
AUX lighttpd.tmpfiles.conf 41 BLAKE2B a159ae17094377d927bcf51078d40c322e5213d62064a271a7a0cf5b32423b349ac13d2ebc38a8de5c6478823ac022e46eef60a830e6ae9598e848b8c220bc2f SHA512 3fda360423a7a406a2981de647dac6b4419fe60c649bf3cc21fad566e8513293f6e81d4f5b777eaf06a056beedbf44360a39894ca3a2d05d3fc3a2d26c339efe
DIST lighttpd-1.4.55.tar.xz 765660 BLAKE2B 7b972de86e7d1a51438718e4d5bd49188c107b0f2e656ead597085ae84f3d41cdb662a7774c6655155d390c26f3e4f0b0dc4243c85cb0255a91d8ca57742f402 SHA512 023d5a54079e710a89a59e259c0b5798103ef6fce4544c36110dc4c5281ef429ef99369923d74123fcf8be37afe622d44cd7149078d21971ff26f3f4ee37c439
DIST lighttpd-1.4.58.tar.xz 956828 BLAKE2B b8b0a111db64a8af429dd9922503991e55276808b58143ffce3268bc8b20a39cfec9d8c1e2917b34326ac5502801a6ca3b9bae26874f86b6749c363a09225ca3 SHA512 b7f18223e46bf78f866eb22f44a7702df07424271e085da9f0d03e626198c30e87a3959536d02e3588aa47ba4bc7db7c432307175fb3b25a2984f9cf692c0ca4
DIST lighttpd-1.4.59.tar.xz 968352 BLAKE2B 8997386be24d9d84fa8012aedd8ac97b3ad4fd19bb756163d3e9b8c6984c740475c6db2810817db9d1a246320bcd81f7ab35847707316454523c614a4485299f SHA512 94d312f6ac65c32057018b749c4865220b43b3e4b7fe9396848aa403ea7fdc2ccbf3f4f91daf281b754cf272a52a8bcdc689502773ea33cae36eead2785daa0f
+DIST lighttpd-1.4.64.tar.xz 1011436 BLAKE2B 7eea665f20a07ced23e7372515b5e44852ea14e4ac83297ed9f764106b69e7931d84bf5d1c6d5f542ef810021ef94398a89bc3161213f8bdfaba3676e0a687ca SHA512 8e2ad0830ff80fcebf0c33600caafb5ab4e9ff6b5073c12572f88a44fdfe85f777fa8b22b2fc2964fecbeb556997ad660867dcee80efb224d63329c8b18ea936
EBUILD lighttpd-1.4.55-r101.ebuild 6969 BLAKE2B 4d4f5f97ecf84b270d405e639d2b80c739e9bf80e4fb9282cb76395ab4e02b0d41775ae3c5af504d487cf040072523ebec063059f6d508de81292243f20ff77a SHA512 ffc11c91eb34e8c06727725b2c12570def1ab2165e3497643d2cb468e2913b8835436e2afe936365055032e9a05b22a23eed22a85ab7fcefc49a3f8a0b7edb6e
EBUILD lighttpd-1.4.58-r1.ebuild 7583 BLAKE2B cb86b521d9affc799ed4dd3feeec74305377043d5610beeb83440cdbb5f3fa1bd59b3727736e62f55f0bc2f6694533b7809b6887cb9db923bb10e37fcb2dbf22 SHA512 c1ea434d4a75494fa3115ac5efe37baa5f38212089e6cf6f01ce4b408e704806b560aa82c59ea17dbcd495651b94db137c5fa10b38ab438ec7f9b6b6305936d1
EBUILD lighttpd-1.4.59-r1.ebuild 6654 BLAKE2B c8bf96550c734593f4534e193114dfa761ee42d8dabd8078615ebcaed2eef0364a44b0c3f8cdf31347b30164a2c578814dc86bbc815067563f3ed1390bf0c8d7 SHA512 90a14e1209121b5da973d150a906a39b11d96fc7d58736445887eea693ac0f47117de6e62ede730c5588d4500320fbf87a658e194ae597f40aae110677cb9823
-MISC metadata.xml 1796 BLAKE2B 2967de0aafd959ce940beb7ba1bb989d12322a33345e80feec53d0b9764429050b8d321f4b24d60fb948b21aacf2c773e6fbdf2e16f8fa3bb2e4c62c5075b106 SHA512 9fa3689a6cfc647babce4b908ea4be51d549db0ac3ab5706224f8623cf38d28f33e2d70964a517f8fb02e3bcc04f49c9b58393bd053841b9fcc5565e30a539fa
+EBUILD lighttpd-1.4.64.ebuild 6493 BLAKE2B 1099f5c212ff294821e9a1376081c00632a3e29850899a6107186880041a9a0fc36d2e14540a3f600284400a0fb41a82874dbbf888b8992435d517584b1e2bc2 SHA512 2302f8b218caaa138f31e5c9c7e3962a2e8fc889f22c15363ad983b6d5f4646c7c490b2963bc067d71d4b960b584223ac933140e1ecb610e8f81c30dde8ca72b
+MISC metadata.xml 2018 BLAKE2B b3e04540572bffdb97e274f310ce2f3ca5431332056c2579ee4fb11f6515608757778ea7a804df7c11dfa782f8e44271a5b4ec8fe64436187ab5ffec09de4a1d SHA512 946c60e5ad6c7c1762043d0c75b960999c1df03ba2d4b186d352d4945ad0e0aa2a1c517ff8b5ae80cff6e47b8e0c8dadc148c11f7b3edcb50fd66f3c97733d04
diff --git a/www-servers/lighttpd/files/conf/lighttpd.conf b/www-servers/lighttpd/files/conf/lighttpd.conf
index 2a13a57c1c8d..13d5e772ac1b 100644
--- a/www-servers/lighttpd/files/conf/lighttpd.conf
+++ b/www-servers/lighttpd/files/conf/lighttpd.conf
@@ -2,67 +2,67 @@
# Default lighttpd.conf for Gentoo.
###############################################################################
-# {{{ variables
-var.basedir = "/var/www/localhost"
-var.logdir = "/var/log/lighttpd"
+# Variables
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
var.statedir = "/var/lib/lighttpd"
-# }}}
-# {{{ modules
+
+# Modules
# At the very least, mod_access and mod_accesslog should be enabled.
# All other modules should only be loaded if necessary.
# NOTE: the order of modules is important.
server.modules = (
-# "mod_rewrite",
-# "mod_redirect",
-# "mod_alias",
- "mod_access",
-# "mod_cml",
-# "mod_trigger_b4_dl",
-# "mod_auth",
-# "mod_status",
-# "mod_setenv",
-# "mod_proxy",
-# "mod_simple_vhost",
-# "mod_evhost",
-# "mod_userdir",
-# "mod_compress",
-# "mod_ssi",
-# "mod_usertrack",
-# "mod_expire",
-# "mod_secdownload",
-# "mod_rrdtool",
-# "mod_webdav",
- "mod_accesslog"
+# "mod_rewrite",
+# "mod_redirect",
+# "mod_alias",
+ "mod_access",
+# "mod_cml",
+# "mod_trigger_b4_dl",
+# "mod_auth",
+# "mod_status",
+# "mod_setenv",
+# "mod_proxy",
+# "mod_simple_vhost",
+# "mod_evhost",
+# "mod_userdir",
+# "mod_compress",
+# "mod_ssi",
+# "mod_usertrack",
+# "mod_expire",
+# "mod_secdownload",
+# "mod_rrdtool",
+# "mod_webdav",
+ "mod_accesslog"
)
-# }}}
-# {{{ includes
+
+# Includes
include "mime-types.conf"
-# fcgi and cgi are included below
-# }}}
+# include "mod_cgi.conf"
+# include "mod_fastcgi.conf"
-# {{{ server settings
-server.username = "lighttpd"
-server.groupname = "lighttpd"
+# Server Settings
+server.username = "lighttpd"
+server.groupname = "lighttpd"
server.document-root = var.basedir + "/htdocs"
-server.pid-file = "/run/lighttpd.pid"
-
-server.errorlog = var.logdir + "/error.log"
+server.pid-file = "/run/lighttpd.pid"
+server.errorlog = var.logdir + "/error.log"
# log errors to syslog instead
-# server.errorlog-use-syslog = "enable"
-
-server.indexfiles = ("index.php", "index.html",
- "index.htm", "default.htm")
-
-# server.tag = "lighttpd"
-
+# server.errorlog-use-syslog = "enable"
+server.indexfiles = (
+ "index.php",
+ "index.html",
+ "index.htm",
+ "default.htm"
+)
+# server.tag = "lighttpd"
server.follow-symlink = "enable"
# event handler (defaults to "poll")
# see performance.txt
-#
+
# for >= linux-2.4
# server.event-handler = "linux-rtsig"
# for >= linux-2.6
@@ -71,13 +71,13 @@ server.follow-symlink = "enable"
# server.event-handler = "freebsd-kqueue"
# chroot to directory (defaults to no chroot)
-# server.chroot = "/"
+# server.chroot = "/"
# bind to port (defaults to 80)
-# server.port = 81
+# server.port = 81
# bind to name (defaults to all interfaces)
-# server.bind = "grisu.home.kneschke.de"
+# server.bind = "grisu.home.kneschke.de"
# error-handler for status 404
# server.error-handler-404 = "/error-handler.html"
@@ -85,157 +85,130 @@ server.follow-symlink = "enable"
# Format: <errorfile-prefix><status-code>.html
# -> ..../status-404.html for 'File not found'
-# server.errorfile-prefix = var.basedir + "/error/status-"
+# server.errorfile-prefix = var.basedir + "/error/status-"
# FAM support for caching stat() calls
# requires that lighttpd be built with USE=fam
-# server.stat-cache-engine = "fam"
+# server.stat-cache-engine = "fam"
# If lighttpd was build with IPv6 support, and you would like to listen on IPv6,
# uncomment the following:
# server.use-ipv6 = "enable"
-# }}}
-
-# {{{ mod_staticfile
+# mod_staticfile
# which extensions should not be handled via static-file transfer
# (extensions that are usually handled by mod_cgi, mod_fastcgi, etc).
static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")
-# }}}
-# {{{ mod_accesslog
+
+# mod_accesslog
accesslog.filename = var.logdir + "/access.log"
-# }}}
-# {{{ mod_dirlisting
+
+# mod_dirlisting
# enable directory listings
-# dir-listing.activate = "enable"
-#
+# dir-listing.activate = "enable"
+
# don't list hidden files/directories
-# dir-listing.hide-dotfiles = "enable"
-#
+# dir-listing.hide-dotfiles = "enable"
+
# use a different css for directory listings
-# dir-listing.external-css = "/path/to/dir-listing.css"
-#
-# list of regular expressions. files that match any of the
+# dir-listing.external-css= "/path/to/dir-listing.css"
+
+# list of regular expressions. Files that match any of the
# specified regular expressions will be excluded from directory
# listings.
-# dir-listing.exclude = ("^\.", "~$")
-# }}}
+# dir-listing.exclude = ("^\.", "~$")
-# {{{ mod_access
-# see access.txt
+# mod_access
url.access-deny = ("~", ".inc")
-# }}}
-# {{{ mod_userdir
-# see userdir.txt
-#
+
+# mod_userdir
# userdir.path = "public_html"
# userdir.exclude-user = ("root")
-# }}}
-# {{{ mod_ssi
-# see ssi.txt
-#
+
+# mod_ssi
# ssi.extension = (".shtml")
-# }}}
-
-# {{{ mod_ssl
-# see ssl.txt
-#
-# ssl.engine = "enable"
-# ssl.pemfile = "server.pem"
-# }}}
-
-# {{{ mod_status
-# see status.txt
-#
+
+
+# mod_ssl
+# ssl.engine = "enable"
+# ssl.pemfile = "server.pem"
+
+
+# mod_status
# status.status-url = "/server-status"
# status.config-url = "/server-config"
-# }}}
-
-# {{{ mod_simple_vhost
-# see simple-vhost.txt
-#
-# If you want name-based virtual hosting add the next three settings and load
-# mod_simple_vhost
-#
+
+
+# mod_simple_vhost
+# If you want name-based virtual hosting add the next three settings
+# and load mod_simple_vhost
# document-root =
# virtual-server-root + virtual-server-default-host + virtual-server-docroot
# or
# virtual-server-root + http-host + virtual-server-docroot
-#
-# simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
-# simple-vhost.default-host = "grisu.home.kneschke.de"
+# simple-vhost.server-root = "/home/user/webroot/servers/"
+# simple-vhost.default-host = "www.example.org"
# simple-vhost.document-root = "/pages/"
-# }}}
-
-# {{{ mod_compress
-# see compress.txt
-#
-# compress.cache-dir = var.statedir + "/cache/compress"
-# compress.filetype = ("text/plain", "text/html")
-# }}}
-
-# {{{ mod_proxy
-# see proxy.txt
-#
-# proxy.server = ( ".php" =>
-# ( "localhost" =>
-# (
-# "host" => "192.168.0.101",
-# "port" => 80
-# )
-# )
-# )
-# }}}
-
-# {{{ mod_auth
-# see authentication.txt
-#
-# auth.backend = "plain"
+
+
+# mod_compress
+# compress.cache-dir = var.statedir + "/cache/compress"
+# compress.filetype = ("text/plain", "text/html")
+
+
+# mod_proxy
+# proxy.server = (
+# ".php" => (
+# "localhost" => (
+# "host" => "192.168.0.101",
+# "port" => 80
+# )
+# )
+# )
+
+
+# mod_auth
+# auth.backend = "plain"
# auth.backend.plain.userfile = "lighttpd.user"
# auth.backend.plain.groupfile = "lighttpd.group"
# auth.backend.ldap.hostname = "localhost"
-# auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
-# auth.backend.ldap.filter = "(uid=$)"
-
-# auth.require = ( "/server-status" =>
-# (
-# "method" => "digest",
-# "realm" => "download archiv",
-# "require" => "user=jan"
-# ),
-# "/server-info" =>
-# (
-# "method" => "digest",
-# "realm" => "download archiv",
-# "require" => "valid-user"
-# )
-# )
-# }}}
-
-# {{{ mod_rewrite
-# see rewrite.txt
-#
+# auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
+# auth.backend.ldap.filter = "(uid=$)"
+
+#auth.require = (
+# "/server-status" => (
+# "method" => "digest",
+# "realm" => "download archiv",
+# "require" => "user=jan"
+# ),
+# "/server-info" => (
+# "method" => "digest",
+# "realm" => "download archiv",
+# "require" => "valid-user"
+# )
+#)
+
+
+# mod_rewrite
# url.rewrite = (
-# "^/$" => "/server-status"
+# "^/$" => "/server-status"
# )
-# }}}
-# {{{ mod_redirect
-# see redirect.txt
-#
+
+# mod_redirect
# url.redirect = (
-# "^/wishlist/(.+)" => "http://www.123.org/$1"
+# "^/wishlist/(.+)" => "http://www.123.org/$1"
# )
-# }}}
-# {{{ mod_evhost
+
+# mod_evhost
# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
@@ -243,87 +216,64 @@ url.access-deny = ("~", ".inc")
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
-#
-# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
-# }}}
+# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
-# {{{ mod_expire
+
+# mod_expire
# expire.url = (
-# "/buggy/" => "access 2 hours",
-# "/asdhas/" => "access plus 1 seconds 2 minutes"
+# "/buggy/" => "access 2 hours",
+# "/asdhas/" => "access plus 1 seconds 2 minutes"
# )
-# }}}
-# {{{ mod_rrdtool
-# see rrdtool.txt
-#
-# rrdtool.binary = "/usr/bin/rrdtool"
+
+# mod_rrdtool
+# rrdtool.binary = "/usr/bin/rrdtool"
# rrdtool.db-name = var.statedir + "/lighttpd.rrd"
-# }}}
-# {{{ mod_setenv
-# see setenv.txt
-#
-# setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
+
+# mod_setenv
+# setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
# setenv.add-response-header = ( "X-Secret-Message" => "42" )
-# }}}
-# {{{ mod_trigger_b4_dl
-# see trigger_b4_dl.txt
-#
+
+# mod_trigger_b4_dl
# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
# trigger-before-download.trigger-url = "^/trigger/"
# trigger-before-download.download-url = "^/download/"
# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
# trigger-before-download.trigger-timeout = 10
-# }}}
-# {{{ mod_cml
-# see cml.txt
-#
+
+# mod_cml
# don't forget to add index.cml to server.indexfiles
-# cml.extension = ".cml"
-# cml.memcache-hosts = ( "127.0.0.1:11211" )
-# }}}
+# cml.extension = ".cml"
+# cml.memcache-hosts = ( "127.0.0.1:11211" )
-# {{{ mod_webdav
-# see webdav.txt
-#
+
+# mod_webdav
# $HTTP["url"] =~ "^/dav($|/)" {
-# webdav.activate = "enable"
-# webdav.is-readonly = "enable"
+# webdav.activate = "enable"
+# webdav.is-readonly = "enable"
# }
-# }}}
-# {{{ extra rules
-#
+
+# Extra Rules
# set Content-Encoding and reset Content-Type for browsers that
# support decompressing on-thy-fly (requires mod_setenv)
# $HTTP["url"] =~ "\.gz$" {
-# setenv.add-response-header = ("Content-Encoding" => "x-gzip")
-# mimetype.assign = (".gz" => "text/plain")
+# setenv.add-response-header = ("Content-Encoding" => "x-gzip")
+# mimetype.assign = (".gz" => "text/plain")
# }
# $HTTP["url"] =~ "\.bz2$" {
-# setenv.add-response-header = ("Content-Encoding" => "x-bzip2")
-# mimetype.assign = (".bz2" => "text/plain")
+# setenv.add-response-header = ("Content-Encoding" => "x-bzip2")
+# mimetype.assign = (".bz2" => "text/plain")
# }
-#
-# }}}
-# {{{ debug
-# debug.log-request-header = "enable"
-# debug.log-response-header = "enable"
-# debug.log-request-handling = "enable"
-# debug.log-file-not-found = "enable"
-# }}}
-# {{{ cgi includes
-# uncomment for cgi support
-# include "mod_cgi.conf"
-# uncomment for php/fastcgi support
-# include "mod_fastcgi.conf"
-# }}}
-
-# vim: set ft=conf foldmethod=marker et :
+# Debug
+# debug.log-request-header = "enable"
+# debug.log-response-header = "enable"
+# debug.log-request-handling = "enable"
+# debug.log-file-not-found = "enable"
diff --git a/www-servers/lighttpd/files/conf/lighttpd.conf-r1 b/www-servers/lighttpd/files/conf/lighttpd.conf-r1
new file mode 100644
index 000000000000..1017098caa4f
--- /dev/null
+++ b/www-servers/lighttpd/files/conf/lighttpd.conf-r1
@@ -0,0 +1,309 @@
+###############################################################################
+# Default lighttpd.conf for Gentoo.
+###############################################################################
+
+# {{{ variables
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
+var.statedir = "/var/lib/lighttpd"
+# }}}
+
+# {{{ modules
+# At the very least, mod_access and mod_accesslog should be enabled.
+# All other modules should only be loaded if necessary.
+# NOTE: the order of modules is important.
+server.modules = (
+# "mod_rewrite",
+# "mod_redirect",
+# "mod_alias",
+ "mod_access",
+# "mod_magnet",
+# "mod_auth",
+# "mod_status",
+# "mod_setenv",
+# "mod_proxy",
+# "mod_simple_vhost",
+# "mod_evhost",
+# "mod_userdir",
+# "mod_deflate",
+# "mod_ssi",
+# "mod_usertrack",
+# "mod_expire",
+# "mod_secdownload",
+# "mod_rrdtool",
+# "mod_webdav",
+ "mod_accesslog"
+)
+# }}}
+
+# {{{ includes
+include "mime-types.conf"
+# fcgi and cgi are included below
+# }}}
+
+# {{{ server settings
+server.username = "lighttpd"
+server.groupname = "lighttpd"
+
+server.document-root = var.basedir + "/htdocs"
+server.pid-file = "/run/lighttpd.pid"
+
+server.errorlog = var.logdir + "/error.log"
+# log errors to syslog instead
+# server.errorlog-use-syslog = "enable"
+
+server.indexfiles = ("index.php", "index.html",
+ "index.htm", "default.htm")
+
+# server.tag = "lighttpd"
+
+server.follow-symlink = "enable"
+
+# event handler (defaults to "poll")
+# see performance.txt
+#
+# for >= linux-2.4
+# server.event-handler = "linux-rtsig"
+# for >= linux-2.6
+# server.event-handler = "linux-sysepoll"
+# for FreeBSD
+# server.event-handler = "freebsd-kqueue"
+
+# chroot to directory (defaults to no chroot)
+# server.chroot = "/"
+
+# bind to port (defaults to 80)
+# server.port = 81
+
+# bind to name (defaults to all interfaces)
+# server.bind = "grisu.home.kneschke.de"
+
+# error-handler for status 404
+# server.error-handler-404 = "/error-handler.html"
+# server.error-handler-404 = "/error-handler.php"
+
+# Format: <errorfile-prefix><status-code>.html
+# -> ..../status-404.html for 'File not found'
+# server.errorfile-prefix = var.basedir + "/error/status-"
+
+# FAM support for caching stat() calls
+# requires that lighttpd be built with USE=fam
+# server.stat-cache-engine = "fam"
+
+# If lighttpd was build with IPv6 support, and you would like to listen on IPv6,
+# uncomment the following:
+# server.use-ipv6 = "enable"
+
+# }}}
+
+# {{{ mod_staticfile
+
+# which extensions should not be handled via static-file transfer
+# (extensions that are usually handled by mod_cgi, mod_fastcgi, etc).
+static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")
+# }}}
+
+# {{{ mod_accesslog
+accesslog.filename = var.logdir + "/access.log"
+# }}}
+
+# {{{ mod_dirlisting
+# enable directory listings
+# dir-listing.activate = "enable"
+#
+# don't list hidden files/directories
+# dir-listing.hide-dotfiles = "enable"
+#
+# use a different css for directory listings
+# dir-listing.external-css = "/path/to/dir-listing.css"
+#
+# list of regular expressions. files that match any of the
+# specified regular expressions will be excluded from directory
+# listings.
+# dir-listing.exclude = ("^\.", "~$")
+# }}}
+
+# {{{ mod_access
+# see access.txt
+
+url.access-deny = ("~", ".inc")
+# }}}
+
+# {{{ mod_userdir
+# see userdir.txt
+#
+# userdir.path = "public_html"
+# userdir.exclude-user = ("root")
+# }}}
+
+# {{{ mod_ssi
+# see ssi.txt
+#
+# ssi.extension = (".shtml")
+# }}}
+
+# {{{ mod_ssl
+# see ssl.txt
+#
+# ssl.engine = "enable"
+# ssl.pemfile = "server.pem"
+# }}}
+
+# {{{ mod_status
+# see status.txt
+#
+# status.status-url = "/server-status"
+# status.config-url = "/server-config"
+# }}}
+
+# {{{ mod_simple_vhost
+# see simple-vhost.txt
+#
+# If you want name-based virtual hosting add the next three settings and load
+# mod_simple_vhost
+#
+# document-root =
+# virtual-server-root + virtual-server-default-host + virtual-server-docroot
+# or
+# virtual-server-root + http-host + virtual-server-docroot
+#
+# simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
+# simple-vhost.default-host = "grisu.home.kneschke.de"
+# simple-vhost.document-root = "/pages/"
+# }}}
+
+# {{{ mod_deflate
+# see compress.txt
+#
+# deflate.cache-dir = var.statedir + "/cache/compress"
+# deflate.mimetypes = ("text/plain", "text/html")
+# }}}
+
+# {{{ mod_proxy
+# see proxy.txt
+#
+# proxy.server = ( ".php" =>
+# ( "localhost" =>
+# (
+# "host" => "192.168.0.101",
+# "port" => 80
+# )
+# )
+# )
+# }}}
+
+# {{{ mod_auth
+# see authentication.txt
+#
+# auth.backend = "plain"
+# auth.backend.plain.userfile = "lighttpd.user"
+# auth.backend.plain.groupfile = "lighttpd.group"
+
+# auth.backend.ldap.hostname = "localhost"
+# auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
+# auth.backend.ldap.filter = "(uid=$)"
+
+# auth.require = ( "/server-status" =>
+# (
+# "method" => "digest",
+# "realm" => "download archiv",
+# "require" => "user=jan"
+# ),
+# "/server-info" =>
+# (
+# "method" => "digest",
+# "realm" => "download archiv",
+# "require" => "valid-user"
+# )
+# )
+# }}}
+
+# {{{ mod_rewrite
+# see rewrite.txt
+#
+# url.rewrite = (
+# "^/$" => "/server-status"
+# )
+# }}}
+
+# {{{ mod_redirect
+# see redirect.txt
+#
+# url.redirect = (
+# "^/wishlist/(.+)" => "http://www.123.org/$1"
+# )
+# }}}
+
+# {{{ mod_evhost
+# define a pattern for the host url finding
+# %% => % sign
+# %0 => domain name + tld
+# %1 => tld
+# %2 => domain name without tld
+# %3 => subdomain 1 name
+# %4 => subdomain 2 name
+#
+# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
+# }}}
+
+# {{{ mod_expire
+# expire.url = (
+# "/buggy/" => "access 2 hours",
+# "/asdhas/" => "access plus 1 seconds 2 minutes"
+# )
+# }}}
+
+# {{{ mod_rrdtool
+# see rrdtool.txt
+#
+# rrdtool.binary = "/usr/bin/rrdtool"
+# rrdtool.db-name = var.statedir + "/lighttpd.rrd"
+# }}}
+
+# {{{ mod_setenv
+# see setenv.txt
+#
+# setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
+# setenv.add-response-header = ( "X-Secret-Message" => "42" )
+# }}}
+
+# {{{ mod_webdav
+# see webdav.txt
+#
+# $HTTP["url"] =~ "^/dav($|/)" {
+# webdav.activate = "enable"
+# webdav.is-readonly = "enable"
+# }
+# }}}
+
+# {{{ extra rules
+#
+# set Content-Encoding and reset Content-Type for browsers that
+# support decompressing on-thy-fly (requires mod_setenv)
+# $HTTP["url"] =~ "\.gz$" {
+# setenv.add-response-header = ("Content-Encoding" => "x-gzip")
+# mimetype.assign = (".gz" => "text/plain")
+# }
+
+# $HTTP["url"] =~ "\.bz2$" {
+# setenv.add-response-header = ("Content-Encoding" => "x-bzip2")
+# mimetype.assign = (".bz2" => "text/plain")
+# }
+#
+# }}}
+
+# {{{ debug
+# debug.log-request-header = "enable"
+# debug.log-response-header = "enable"
+# debug.log-request-handling = "enable"
+# debug.log-file-not-found = "enable"
+# }}}
+
+# {{{ cgi includes
+# uncomment for cgi support
+# include "mod_cgi.conf"
+# uncomment for php/fastcgi support
+# include "mod_fastcgi.conf"
+# }}}
+
+# vim: set ft=conf foldmethod=marker et :
diff --git a/www-servers/lighttpd/files/conf/mime-types.conf b/www-servers/lighttpd/files/conf/mime-types.conf
index 3d7880811717..40e26c1ae9cd 100644
--- a/www-servers/lighttpd/files/conf/mime-types.conf
+++ b/www-servers/lighttpd/files/conf/mime-types.conf
@@ -3,168 +3,166 @@
# include'd from lighttpd.conf.
###############################################################################
-# {{{ mime types
-mimetype.assign = (
- ".pdf" => "application/pdf",
- ".epub" => "application/epub+zip",
- ".spl" => "application/futuresplash",
- ".jar" => "application/java-archive",
- ".class" => "application/java-vm",
- ".jsonld" => "application/ld+json",
- ".json" => "application/json",
- ".mdb" => "application/msaccess",
- ".doc" => "application/msword",
- ".ogg" => "application/ogg",
- ".pgp" => "application/pgp-encrypted",
- ".sig" => "application/pgp-signature",
- ".ps" => "application/postscript",
- ".eps" => "application/postscript",
- ".rar" => "applicaion/rar",
- ".rdf" => "application/rdf+xml",
- ".rss" => "application/rss+xml",
- ".rtf" => "application/rtf",
- ".azw" => "application/vnd.amazon.ebook",
- ".cbz" => "application/vnd.comicbook+zip",
- ".cbr" => "application/vnd.comicbook-rar",
- ".exe" => "application/vnd.microsoft.portable-executable",
- ".xls" => "application/vnd.ms-excel",
- ".ppt" => "application/vnd.ms-powerpoint",
- ".docm" => "application/vnd.ms-word.document.macroEnabled.12",
- ".odt" => "application/vnd.oasis.opendocument.text",
- ".ods" => "application/vnd.oasis.opendocument.spreadsheet",
- ".odp" => "application/vnd.oasis.opendocument.presentation",
- ".odg" => "application/vnd.oasis.opendocument.graphics",
- ".odc" => "application/vnd.oasis.opendocument.chart",
- ".odf" => "application/vnd.oasis.opendocument.formula",
- ".odi" => "application/vnd.oasis.opendocument.image",
- ".pptx" => "application/vnd.openxmlformats-officedocument.presentationml.presentation",
- ".xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
- ".docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
- ".vsd" => "application/vnd.visio",
- ".wasm" => "application/wasm",
- ".xhtml" => "application/xhtml+xml",
- ".zip" => "application/zip",
- ".zstd" => "application/zstd",
- ".7z" => "application/x-7z-compressed",
- ".dmg" => "application/x-apple-diskimage",
- ".torrent" => "application/x-bittorrent",
- ".bz2" => "application/x-bzip",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar",
- ".pgn" => "application/x-chess-pgn",
- ".deb" => "application/x-debian-package",
- ".dvi" => "application/x-dvi",
- ".mm" => "application/x-freemind",
- ".gz" => "application/x-gzip",
- ".iso" => "application/x-iso9660-image",
- ".jnlp" => "application/x-java-jnlp-file",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".rpm" => "application/x-redhat-package-manager",
- ".swf" => "application/x-shockwave-flash",
- ".tar.gz" => "application/x-tgz",
- ".tgz" => "application/x-tgz",
- ".tar" => "application/x-tar",
- ".xz" => "application/x-xz",
- ".aac" => "audio/aac",
- ".adts" => "audio/aac",
- ".ac3" => "audio/ac3",
- ".snd" => "audio/basic",
- ".mid" => "audio/midi",
- ".midi" => "audio/midi",
- ".m4a" => "audio/mp4",
- ".mp1" => "audio/mpeg",
- ".mp2" => "audio/mpeg",
- ".mp3" => "audio/mpeg",
- ".oga" => "audio/ogg",
- ".opus" => "audio/ogg",
- ".spx" => "audio/ogg",
- ".sid" => "audio/prs.sid",
- ".mlp" => "audio/vnd.dolby.mlp",
- ".dts" => "audio/vnd.dts",
- ".dtshd" => "audio/vnd.dts.hd",
- ".flac" => "audio/x-flac",
- ".mka" => "audio/x-matroska",
- ".m3u" => "audio/x-mpegurl",
- ".mod" => "audio/x-mod",
- ".wma" => "audio/x-ms-wma",
- ".wax" => "audio/x-ms-wax",
- ".wav" => "audio/x-wav",
- ".otf" => "font/otf",
- ".ttf" => "font/ttf",
- ".woff" => "font/woff",
- ".woff2" => "font/woff2",
- ".bmp" => "image/bmp",
- ".gif" => "image/gif",
- ".heic" => "image/heic",
- ".heics" => "image/heic-sequence",
- ".heif" => "image/heif",
- ".heifs" => "image/heif-sequence",
- ".jpg" => "image/jpeg",
- ".jpeg" => "image/jpeg",
- ".png" => "image/png",
- ".tif" => "image/tiff",
- ".tiff" => "image/tiff",
- ".svg" => "image/svg+xml",
- ".svgz" => "image/svg+xml",
- ".webp" => "image/webp",
- ".psd" => "image/vnd.adobe.photoshop",
- ".apng" => "image/vnd.mozilla.apng",
- ".ico" => "image/x-icon",
- ".xbm" => "image/x-xbitmap",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".ics" => "text/calendar",
- ".css" => "text/css",
- ".csv" => "text/csv",
- ".html" => "text/html",
- ".htm" => "text/html",
- ".js" => "text/javascript",
- ".asc" => "text/plain",
- ".c" => "text/plain",
- ".h" => "text/plain",
- ".cc" => "text/plain",
- ".cpp" => "text/plain",
- ".hh" => "text/plain",
- ".hpp" => "text/plain",
- ".conf" => "text/plain",
- ".log" => "text/plain",
- ".text" => "text/plain",
- ".txt" => "text/plain",
- ".diff" => "text/plain",
- ".patch" => "text/plain",
- ".ebuild" => "text/plain",
- ".eclass" => "text/plain",
- ".vcard" => "text/vcard",
- ".vcf" => "text/vcard",
- ".dtd" => "text/xml",
- ".xml" => "text/xml",
- ".vcs" => "text/x-vcalendar",
- ".x3db" => "model/x3d+binary",
- ".x3dbz" => "model/x3d+binary",
- ".x3dv" => "model/x3d+vrml",
- ".x3dvz" => "model/x3d+vrml",
- ".x3d" => "model/x3d+xml",
- ".x3dz" => "model/x3d+xml",
- ".ts" => "video/mp2t",
- ".m4v" => "video/mp4",
- ".mp4" => "video/mp4",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".ogv" => "video/ogg",
- ".mov" => "video/quicktime",
- ".qt" => "video/quicktime",
- ".webm" => "video/webm",
- ".m4u" => "video/vnd.mpegurl",
- ".bik" => "video/vnd.radgamettools.bink",
- ".bk2" => "video/vnd.radgamettools.bink",
- ".smk" => "video/vnd.radgamettools.smacker",
- ".flv" => "video/x-flv",
- ".mkv" => "video/x-matroska",
- ".mk3d" => "video/x-matroska-3d",
- ".mng" => "video/x-mng",
- ".avi" => "video/x-msvideo",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".wmv" => "video/x-ms-wmv"
- )
-# }}}
+mimetype.assign = (
+ ".pdf" => "application/pdf",
+ ".epub" => "application/epub+zip",
+ ".spl" => "application/futuresplash",
+ ".jar" => "application/java-archive",
+ ".class" => "application/java-vm",
+ ".jsonld" => "application/ld+json",
+ ".json" => "application/json",
+ ".mdb" => "application/msaccess",
+ ".doc" => "application/msword",
+ ".ogg" => "application/ogg",
+ ".pgp" => "application/pgp-encrypted",
+ ".sig" => "application/pgp-signature",
+ ".ps" => "application/postscript",
+ ".eps" => "application/postscript",
+ ".rar" => "applicaion/rar",
+ ".rdf" => "application/rdf+xml",
+ ".rss" => "application/rss+xml",
+ ".rtf" => "application/rtf",
+ ".azw" => "application/vnd.amazon.ebook",
+ ".cbz" => "application/vnd.comicbook+zip",
+ ".cbr" => "application/vnd.comicbook-rar",
+ ".exe" => "application/vnd.microsoft.portable-executable",
+ ".xls" => "application/vnd.ms-excel",
+ ".ppt" => "application/vnd.ms-powerpoint",
+ ".docm" => "application/vnd.ms-word.document.macroEnabled.12",
+ ".odt" => "application/vnd.oasis.opendocument.text",
+ ".ods" => "application/vnd.oasis.opendocument.spreadsheet",
+ ".odp" => "application/vnd.oasis.opendocument.presentation",
+ ".odg" => "application/vnd.oasis.opendocument.graphics",
+ ".odc" => "application/vnd.oasis.opendocument.chart",
+ ".odf" => "application/vnd.oasis.opendocument.formula",
+ ".odi" => "application/vnd.oasis.opendocument.image",
+ ".pptx" => "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ ".xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ ".docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ ".vsd" => "application/vnd.visio",
+ ".wasm" => "application/wasm",
+ ".xhtml" => "application/xhtml+xml",
+ ".zip" => "application/zip",
+ ".zstd" => "application/zstd",
+ ".7z" => "application/x-7z-compressed",
+ ".dmg" => "application/x-apple-diskimage",
+ ".torrent" => "application/x-bittorrent",
+ ".bz2" => "application/x-bzip",
+ ".tbz" => "application/x-bzip-compressed-tar",
+ ".tar.bz2" => "application/x-bzip-compressed-tar",
+ ".pgn" => "application/x-chess-pgn",
+ ".deb" => "application/x-debian-package",
+ ".dvi" => "application/x-dvi",
+ ".mm" => "application/x-freemind",
+ ".gz" => "application/x-gzip",
+ ".iso" => "application/x-iso9660-image",
+ ".jnlp" => "application/x-java-jnlp-file",
+ ".pac" => "application/x-ns-proxy-autoconfig",
+ ".rpm" => "application/x-redhat-package-manager",
+ ".swf" => "application/x-shockwave-flash",
+ ".tar.gz" => "application/x-tgz",
+ ".tgz" => "application/x-tgz",
+ ".tar" => "application/x-tar",
+ ".xz" => "application/x-xz",
+ ".aac" => "audio/aac",
+ ".adts" => "audio/aac",
+ ".ac3" => "audio/ac3",
+ ".snd" => "audio/basic",
+ ".mid" => "audio/midi",
+ ".midi" => "audio/midi",
+ ".m4a" => "audio/mp4",
+ ".mp1" => "audio/mpeg",
+ ".mp2" => "audio/mpeg",
+ ".mp3" => "audio/mpeg",
+ ".oga" => "audio/ogg",
+ ".opus" => "audio/ogg",
+ ".spx" => "audio/ogg",
+ ".sid" => "audio/prs.sid",
+ ".mlp" => "audio/vnd.dolby.mlp",
+ ".dts" => "audio/vnd.dts",
+ ".dtshd" => "audio/vnd.dts.hd",
+ ".flac" => "audio/x-flac",
+ ".mka" => "audio/x-matroska",
+ ".m3u" => "audio/x-mpegurl",
+ ".mod" => "audio/x-mod",
+ ".wma" => "audio/x-ms-wma",
+ ".wax" => "audio/x-ms-wax",
+ ".wav" => "audio/x-wav",
+ ".otf" => "font/otf",
+ ".ttf" => "font/ttf",
+ ".woff" => "font/woff",
+ ".woff2" => "font/woff2",
+ ".bmp" => "image/bmp",
+ ".gif" => "image/gif",
+ ".heic" => "image/heic",
+ ".heics" => "image/heic-sequence",
+ ".heif" => "image/heif",
+ ".heifs" => "image/heif-sequence",
+ ".jpg" => "image/jpeg",
+ ".jpeg" => "image/jpeg",
+ ".png" => "image/png",
+ ".tif" => "image/tiff",
+ ".tiff" => "image/tiff",
+ ".svg" => "image/svg+xml",
+ ".svgz" => "image/svg+xml",
+ ".webp" => "image/webp",
+ ".psd" => "image/vnd.adobe.photoshop",
+ ".apng" => "image/vnd.mozilla.apng",
+ ".ico" => "image/x-icon",
+ ".xbm" => "image/x-xbitmap",
+ ".xpm" => "image/x-xpixmap",
+ ".xwd" => "image/x-xwindowdump",
+ ".ics" => "text/calendar",
+ ".css" => "text/css",
+ ".csv" => "text/csv",
+ ".html" => "text/html",
+ ".htm" => "text/html",
+ ".js" => "text/javascript",
+ ".asc" => "text/plain",
+ ".c" => "text/plain",
+ ".h" => "text/plain",
+ ".cc" => "text/plain",
+ ".cpp" => "text/plain",
+ ".hh" => "text/plain",
+ ".hpp" => "text/plain",
+ ".conf" => "text/plain",
+ ".log" => "text/plain",
+ ".text" => "text/plain",
+ ".txt" => "text/plain",
+ ".diff" => "text/plain",
+ ".patch" => "text/plain",
+ ".ebuild" => "text/plain",
+ ".eclass" => "text/plain",
+ ".vcard" => "text/vcard",
+ ".vcf" => "text/vcard",
+ ".dtd" => "text/xml",
+ ".xml" => "text/xml",
+ ".vcs" => "text/x-vcalendar",
+ ".x3db" => "model/x3d+binary",
+ ".x3dbz" => "model/x3d+binary",
+ ".x3dv" => "model/x3d+vrml",
+ ".x3dvz" => "model/x3d+vrml",
+ ".x3d" => "model/x3d+xml",
+ ".x3dz" => "model/x3d+xml",
+ ".ts" => "video/mp2t",
+ ".m4v" => "video/mp4",
+ ".mp4" => "video/mp4",
+ ".mpeg" => "video/mpeg",
+ ".mpg" => "video/mpeg",
+ ".ogv" => "video/ogg",
+ ".mov" => "video/quicktime",
+ ".qt" => "video/quicktime",
+ ".webm" => "video/webm",
+ ".m4u" => "video/vnd.mpegurl",
+ ".bik" => "video/vnd.radgamettools.bink",
+ ".bk2" => "video/vnd.radgamettools.bink",
+ ".smk" => "video/vnd.radgamettools.smacker",
+ ".flv" => "video/x-flv",
+ ".mkv" => "video/x-matroska",
+ ".mk3d" => "video/x-matroska-3d",
+ ".mng" => "video/x-mng",
+ ".avi" => "video/x-msvideo",
+ ".asf" => "video/x-ms-asf",
+ ".asx" => "video/x-ms-asf",
+ ".wmv" => "video/x-ms-wmv"
+)
diff --git a/www-servers/lighttpd/files/conf/mod_cgi.conf b/www-servers/lighttpd/files/conf/mod_cgi.conf
index 982333a007c6..9897af78eafc 100644
--- a/www-servers/lighttpd/files/conf/mod_cgi.conf
+++ b/www-servers/lighttpd/files/conf/mod_cgi.conf
@@ -3,30 +3,22 @@
# include'd by lighttpd.conf.
###############################################################################
-#
-# see cgi.txt for more information on using mod_cgi
-#
-
server.modules += ("mod_cgi")
-# NOTE: this requires mod_alias
+# this requires mod_alias
alias.url = (
- "/cgi-bin/" => var.basedir + "/cgi-bin/"
+ "/cgi-bin/" => var.basedir + "/cgi-bin/"
)
-#
# Note that you'll also want to enable the
# cgi-bin alias via mod_alias (above).
-#
$HTTP["url"] =~ "^/cgi-bin/" {
- # disable directory listings
- dir-listing.activate = "disable"
- # only allow cgi's in this directory
- cgi.assign = (
- ".pl" => "/usr/bin/perl",
- ".cgi" => "/usr/bin/perl"
- )
-}
-
-# vim: set ft=conf foldmethod=marker et :
+ # disable directory listings
+ dir-listing.activate = "disable"
+ # only allow cgi's in this directory
+ cgi.assign = (
+ ".pl" => "/usr/bin/perl",
+ ".cgi" => "/usr/bin/perl"
+ )
+} \ No newline at end of file
diff --git a/www-servers/lighttpd/files/conf/mod_fastcgi.conf b/www-servers/lighttpd/files/conf/mod_fastcgi.conf
index 5d5ea51ef252..515e7c52aafd 100644
--- a/www-servers/lighttpd/files/conf/mod_fastcgi.conf
+++ b/www-servers/lighttpd/files/conf/mod_fastcgi.conf
@@ -4,13 +4,12 @@
###############################################################################
server.modules += ("mod_fastcgi")
-fastcgi.server = ( ".php" =>
- ( "localhost" =>
- (
- "socket" => "/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket",
- "bin-path" => "/usr/bin/php-cgi"
- )
- )
- )
-# vim: set ft=conf foldmethod=marker et :
+fastcgi.server = (
+ ".php" => (
+ "localhost" => (
+ "socket" => "/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket",
+ "bin-path" => "/usr/bin/php-cgi"
+ )
+ )
+)
diff --git a/www-servers/lighttpd/files/lighttpd.initd-r1 b/www-servers/lighttpd/files/lighttpd.initd-r1
new file mode 100644
index 000000000000..f355a5c7232d
--- /dev/null
+++ b/www-servers/lighttpd/files/lighttpd.initd-r1
@@ -0,0 +1,79 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload graceful"
+
+LIGHTTPD_PID="$($(which lighttpd) -pf ${LIGHTTPD_CONF} | grep server.pid-file | cut -d '=' -f 2 | tr -d \\\" | tr -d [:space:])"
+
+depend() {
+ need net
+ use mysql logger spawn-fcgi ldap slapd netmount dns
+ after famd
+ after sshd
+}
+
+checkconfig() {
+ if [ ! -f "${LIGHTTPD_CONF}" ] ; then
+ ewarn "${LIGHTTPD_CONF} does not exist."
+ return 1
+ fi
+
+ if [ -z "${LIGHTTPD_PID}" ] ; then
+ eerror "server.pid-file variable in ${LIGHTTPD_CONF}"
+ eerror "is not set. Please set this variable properly"
+ eerror "and try again"
+ return 1
+ fi
+ /usr/sbin/lighttpd -t -f ${LIGHTTPD_CONF} >/dev/null
+}
+
+start() {
+ checkconfig || return 1
+ # Glean lighttpd's credentials from the configuration file
+ # Fixes bug 454366
+ LIGHTTPD_USER="$(awk '/^server.username/{s=$3};{sub("\"","",s)};END{print s}' ${LIGHTTPD_CONF})"
+ LIGHTTPD_GROUP="$(awk '/^server.groupname/{s=$3};{sub("\"","",s)};END{print s}' ${LIGHTTPD_CONF})"
+ checkpath -d -q -m 0750 -o "${LIGHTTPD_USER}":"${LIGHTTPD_GROUP}" /run/lighttpd/
+
+ ebegin "Starting lighttpd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lighttpd \
+ --pidfile "${LIGHTTPD_PID}" -- -f "${LIGHTTPD_CONF}"
+ eend $?
+}
+
+stop() {
+ local rv=0
+ ebegin "Stopping lighttpd"
+ start-stop-daemon --stop --quiet --pidfile "${LIGHTTPD_PID}"
+ eend $?
+}
+
+reload() {
+ if ! service_started "${SVCNAME}" ; then
+ eerror "${SVCNAME} isn't running"
+ return 1
+ fi
+ checkconfig || return 1
+
+ ebegin "Re-opening lighttpd log files"
+ start-stop-daemon --quiet --pidfile "${LIGHTTPD_PID}" \
+ --signal HUP
+ eend $?
+}
+
+graceful() {
+ if ! service_started "${SVCNAME}" ; then
+ eerror "${SVCNAME} isn't running"
+ return 1
+ fi
+ checkconfig || return 1
+
+ ebegin "Gracefully stopping lighttpd"
+ start-stop-daemon --quiet --pidfile "${LIGHTTPD_PID}" \
+ --signal INT
+ if eend $? ; then
+ rm -f "${LIGHTTPD_PID}"
+ start
+ fi
+}
diff --git a/www-servers/lighttpd/lighttpd-1.4.64.ebuild b/www-servers/lighttpd/lighttpd-1.4.64.ebuild
new file mode 100644
index 000000000000..567635bdc540
--- /dev/null
+++ b/www-servers/lighttpd/lighttpd-1.4.64.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit autotools lua-single readme.gentoo-r1 systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="Lightweight high-performance web server"
+HOMEPAGE="https://www.lighttpd.net https://github.com/lighttpd"
+SRC_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="+brotli dbi doc gnutls ipv6 kerberos ldap +lua maxminddb mbedtls mmap mysql +nettle nss +pcre php postgres rrdtool sasl selinux ssl sqlite +system-xxhash test unwind webdav xattr +zlib zstd"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
+ mysql? ( dbi )
+ postgres? ( dbi )
+ sqlite? ( dbi )
+ webdav? ( sqlite )
+"
+
+COMMON_DEPEND="
+ acct-group/lighttpd
+ acct-user/lighttpd
+ virtual/libcrypt:=
+ brotli? ( app-arch/brotli )
+ dbi? (
+ dev-db/libdbi
+ mysql? ( dev-db/libdbi-drivers[mysql] )
+ postgres? ( dev-db/libdbi-drivers[postgres] )
+ sqlite? ( dev-db/libdbi-drivers[sqlite] )
+ )
+ gnutls? ( net-libs/gnutls )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-2.1.26 )
+ lua? ( ${LUA_DEPS} )
+ maxminddb? ( dev-libs/libmaxminddb )
+ mbedtls? ( net-libs/mbedtls )
+ nettle? ( dev-libs/nettle )
+ nss? ( dev-libs/nss )
+ pcre? ( dev-libs/libpcre2 )
+ php? ( dev-lang/php:*[cgi] )
+ rrdtool? ( net-analyzer/rrdtool )
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( >=dev-libs/openssl-0.9.7:0= )
+ system-xxhash? ( dev-libs/xxhash )
+ unwind? ( sys-libs/libunwind )
+ webdav? (
+ dev-libs/libxml2
+ sys-fs/e2fsprogs
+ )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ zlib? ( >=sys-libs/zlib-1.1 )
+ zstd? ( app-arch/zstd )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-python/docutils )
+ test? (
+ virtual/perl-Test-Harness
+ )"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-apache )
+"
+
+# update certain parts of lighttpd.conf based on conditionals
+update_config() {
+ local config="${D}/etc/lighttpd/lighttpd.conf"
+
+ # enable php/mod_fastcgi settings
+ if use php; then sed -i -e 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} || die; fi
+
+ # automatically listen on IPv6 if built with USE=ipv6. Bug #234987
+ if use ipv6; then sed -i -e 's|# server.use-ipv6|server.use-ipv6|' ${config} || die; fi
+}
+
+pkg_setup() {
+ if use lua; then
+ lua-single_pkg_setup
+ fi
+
+ if ! use pcre ; then
+ ewarn "It is highly recommended that you build ${PN}"
+ ewarn "with perl regular expressions support via USE=pcre."
+ ewarn "Otherwise you lose support for some core options such"
+ ewarn "as conditionals and modules such as mod_re{write,direct}."
+ fi
+
+ DOC_CONTENTS="IPv6 migration guide:\n
+ http://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config"
+}
+
+src_prepare() {
+ default
+ # dev-python/docutils installs rst2html.py not rst2html
+ sed -i -e 's|\(rst2html\)|\1.py|g' doc/outdated/Makefile.am || \
+ die "sed doc/Makefile.am failed"
+ eautoreconf
+}
+
+src_configure() {
+ # The lua bit requires a bit of explanation. The lighttpd autoconf script
+ # handles the value passed to --with-lua as follows:
+ # - "no" - do nothing
+ # - "yes" - query pkgconfig for VERSIONED lua packages, starting with 5.3
+ # and going down; only if lua5.1 cannot be found plain "lua" is tried
+ # - any other value is passed to pkgconfig as the exact package name to use.
+ # We want a specific implementation to be used even if a newer one is present
+ # in the system so we use the latter mode.
+ econf \
+ CC_FOR_BUILD=$(tc-getBUILD_CC) \
+ --libdir=/usr/$(get_libdir)/${PN} \
+ --enable-lfs \
+ $(use_enable ipv6) \
+ $(use_enable mmap) \
+ $(use_with brotli) \
+ $(use_with dbi) \
+ $(use_with gnutls ) \
+ $(use_with kerberos krb5) \
+ $(use_with ldap) \
+ $(use_with lua lua ${ELUA}) \
+ $(use_with maxminddb) \
+ $(use_with mbedtls) \
+ $(use_with nettle) \
+ $(use_with nss) \
+ $(use_with pcre pcre2) \
+ $(use_with sasl) \
+ $(use_with ssl openssl) \
+ $(use_with system-xxhash xxhash) \
+ $(use_with webdav webdav-props) \
+ $(use_with webdav webdav-locks) \
+ $(use_with xattr attr) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_with unwind libunwind)
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ einfo "Building HTML documentation"
+ cd doc || die
+ emake html
+ fi
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]]; then
+ default_src_test
+ else
+ ewarn "test skipped, please re-run as root if you wish to test ${PN}"
+ fi
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+
+ # init script stuff
+ newinitd "${FILESDIR}"/lighttpd.initd-r1 lighttpd
+ newconfd "${FILESDIR}"/lighttpd.confd lighttpd
+
+ # configs
+ insinto /etc/lighttpd
+ newins "${FILESDIR}"/conf/lighttpd.conf-r1 lighttpd.conf
+ doins "${FILESDIR}"/conf/mime-types.conf
+ doins "${FILESDIR}"/conf/mod_cgi.conf
+ doins "${FILESDIR}"/conf/mod_fastcgi.conf
+
+ # update lighttpd.conf directives based on conditionals
+ update_config
+
+ # docs
+ dodoc AUTHORS README NEWS doc/scripts/*.sh
+ newdoc doc/config//lighttpd.conf lighttpd.conf.distrib
+ if use ipv6; then readme.gentoo_create_doc; fi
+
+ if use doc; then dodoc -r doc; fi
+
+ docinto txt
+ dodoc doc/outdated/*.txt
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/lighttpd.logrotate-r1 lighttpd
+
+ keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs
+ fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd
+ fperms 0750 /var/l{ib,og}/lighttpd
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ newtmpfiles "${FILESDIR}/${PN}.tmpfiles.conf" "${PN}.conf"
+}
+
+pkg_postinst() {
+ tmpfiles_process ${PN}.conf
+
+ if use ipv6; then readme.gentoo_print_elog; fi
+
+ if [[ -f ${ROOT}/etc/lighttpd.conf ]] ; then
+ elog
+ elog "Gentoo has a customized configuration,"
+ elog "which is now located in ${EROOT}/etc/lighttpd. Please migrate your"
+ elog "existing configuration."
+ fi
+
+ if use brotli || use zstd || use zlib; then
+ elog
+ elog "Remember to clean your cache directory when using"
+ elog "output compression!"
+ elog "https://wiki.lighttpd.net/Docs_ModDeflate"
+ fi
+
+ if use mysql; then
+ elog
+ elog "Note that upstream has moved away from using mysql directly"
+ elog "via mod_mysql and is now accessing it through mod_dbi. You"
+ elog "may need to update your configuration"
+ fi
+
+ elog
+ elog "Upstream has deprecated a number of features. They are not missing"
+ elog "but have been migrated to other mechanisms. Please see upstream"
+ elog "changelog for details."
+ elog "https://www.lighttpd.net/2022/1/19/1.4.64/"
+}
diff --git a/www-servers/lighttpd/metadata.xml b/www-servers/lighttpd/metadata.xml
index 25fe93ef41cd..df57890b0f75 100644
--- a/www-servers/lighttpd/metadata.xml
+++ b/www-servers/lighttpd/metadata.xml
@@ -10,25 +10,27 @@
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
- lighttpd is a secure, fast, compliant and very flexible web-server
- which has been optimized for high-performance environments. It has a very
- low memory footprint compared to other webservers and takes care of cpu-load.
- Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
- URL-Rewriting and many more) make lighttpd the perfect webserver-software
- for every server that is suffering load problems.
+ lighttpd (pronounced /lighty/) is a secure, fast, compliant, and very
+ flexible web server that has been optimized for high-performance
+ environments. lighttpd uses memory and CPU efficiently and has lower
+ resource use than other popular web servers. Its advanced feature-set
+ (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and much more)
+ make lighttpd the perfect web server for all systems, small and large.
</longdescription>
<use>
- <flag name="brotli">Enable output compression via Brotli (recommended)</flag>
+ <flag name="brotli">Enable output compression via <pkg>app-arch/brotli</pkg> (recommended)</flag>
<flag name="bzip2">Enable output compression via bzip2</flag>
<flag name="libev">Enable fdevent handler</flag>
- <flag name="gnutls">Build module for TLS via GnuTLS</flag>
- <flag name="maxminddb">Add support for geolocation using libMaxMindDB</flag>
- <flag name="mbedtls">Build module for TLS via Mbed TLS</flag>
- <flag name="mmap">Use mmap with files owned by lighttpd. This is a dangerous option as it may allow local users to trigger SIGBUS crashes.</flag>
+ <flag name="gnutls">Build module for TLS via <pkg>net-libs/gnutls</pkg></flag>
+ <flag name="maxminddb">Add support for geolocation using <pkg>dev-libs/libmaxminddb</pkg></flag>
+ <flag name="mbedtls">Build module for TLS via <pkg>net-libs/mbedtls</pkg></flag>
+ <flag name="mmap">Use mmap when sendfile is not available</flag>
+ <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> as crypto backend</flag>
<flag name="nss">Build module for TLS via Mozilla's Network Security Services</flag>
<flag name="rrdtool">Enable rrdtool support via mod_rrdtool</flag>
+ <flag name="system-xxhash">Use system provided <pkg>dev-libs/xxhash</pkg></flag>
<flag name="webdav">Enable webdav properties</flag>
- <flag name="zlib">Enable output compression via gzip or deflate algorithms</flag>
- <flag name="zstd">Enable output compression via Zstandard algorithm</flag>
+ <flag name="zlib">Enable output compression via gzip or deflate algorithms from <pkg>sys-libs/zlib</pkg></flag>
+ <flag name="zstd">Enable output compression via Zstandard (<pkg>app-arch/zstd</pkg>) algorithm</flag>
</use>
</pkgmetadata>
diff --git a/www-servers/nginx-unit/Manifest b/www-servers/nginx-unit/Manifest
index bd21440ca27e..70af77874ba2 100644
--- a/www-servers/nginx-unit/Manifest
+++ b/www-servers/nginx-unit/Manifest
@@ -1,9 +1,5 @@
AUX nginx-unit.initd 291 BLAKE2B e0d8b4bbdd9d57214551f4257b95271210a942fed747797f102b7932323b9bcbe871d9fd7cd0e8dee81eca2b41f21d5118a7f4f31c3fe6cbe18c1df09b164be0 SHA512 1212b49a56e4318476d051f8a3a82c6bb65f55adadd2dc51e3e91100823f6bdd8f82f162041db92fbc4f1a777cdafd22c32efce121a57f5d6eb3f5883da1abaa
AUX nginx-unit.service 237 BLAKE2B 7e8b373372b7908bee80f4a57718a6b9ef7fd99872057006377284fb3bda088a0b6720b0246e5a27b6853d6351244432482f12afe5758b0f36dbdd1c04cce118 SHA512 fdf7ec12f58064c9a9fbd431fc4f56699563ff6bbf8124195810ca7a2e0ed813dbfdc41e6e1455b12960bd8d96fcf0eb2b632243d71d6a3b74d93a263c11596d
-DIST nginx-unit-1.22.0.tar.gz 824763 BLAKE2B 3ef343d62f3cfe793840c78fe18fd68ecad93170c87df1769636e8516df21901712d7e82caa5bafc3bf76231f32531cb7b0c1bdbe04706ee176a1e57526c50eb SHA512 7418e9dd86c10d64184f5a2f3e26c27bacc53b90ba35658fba6af00a57df89645c16c16b510d3e570eee6f8fdeef4ec7f92971f7231093e3da118e858ed386f5
-DIST nginx-unit-1.26.0.tar.gz 865556 BLAKE2B 8ef2f32364ae9858ec41c21639c2b9514d7aed4d4150d2952634946b0b180f5fee7c4be6e67e3608040d9bc7bd0f4fd19c158b5457fe629566bc42ff845f599b SHA512 9e10cd320bc6182e94f8b5296367922b39e2149166793f46c5012f9dbba806a4508ee4ec65a8677391f5c4d7b06481c176ccf94b8fd1ab5d4b018eb167877f5f
DIST nginx-unit-1.26.1.tar.gz 865811 BLAKE2B eb0b62e48a8d0f9199dfe77a2d6ec90a06ac24f83b362ae16fde83eea53e03923127be7b24da47a83cf51fc4ebe7930cba9a3ee7550a5243f242cc4bfba3a3b9 SHA512 1caadb35cb208067a5d437e1f649c9f9a833a39c4344b2c3a5ae94d9fcd811913e2f23114cf8d7886030306e036da18c55f09044b8a575c1616568321b8d84ec
-EBUILD nginx-unit-1.22.0-r1.ebuild 1986 BLAKE2B 3acda1df9975cb822bb051544984567dc47e5ac7b57ee848235d5bce2cd0173e39ec26e43d7fea1f2b01c6280c348bba24b5fdd77b9f82fcbb4b3a9fc712c5eb SHA512 1115deb7a894188cf819b2611651f7b3515145e33f378d2ecf1f44d053b76722b3dade71d83faf9591d1bdb983737366958b201cb0e14a254343c32651fc5fda
-EBUILD nginx-unit-1.26.0.ebuild 2040 BLAKE2B 0ceaf50b6da5a0dbc00938a7c6a3bc72b7f30bd214e363cb457c5828da8077fb1db0aadf4e5558c8cb7103d30248a0bf551b6c6177fa850ae7f51344cbbb1dc4 SHA512 a733c96ce5f4be49fc0db1d2389313544e0a072d98b6e38e41b57b274148d2e281ee10723314000b827de97ada5fa1b6a46abafd33574b78cda5083bb60d8928
-EBUILD nginx-unit-1.26.1.ebuild 2039 BLAKE2B 8cb9687d2dadae33245df5917e133c9b184c4f15f64b7a1dda5fedadec449cfe45165d24b1ff539bf63355340da48e6e8d60944b0cd239808f52200410b4f13c SHA512 226a36346b42e66da800ab9ba22b0e29f03e9b1bd9b6a7cf01681457221bce33656a7c48bc2961a77e9ac3c4c5879e93d2a7a438dbab3c3ce7c01c1a42eec352
-MISC metadata.xml 1100 BLAKE2B aace2457ae0f0c2d4f294b4e4b596e4939dd967ea0126c40ae39d34c9ae9257d527b54f0f4e2dd315e944c59bac4319b6c4b6b9a5a2de2239bd35accb1a93b36 SHA512 91af085df5d35fd10de25cf5d4c843d03d38aac302c825566ee7db801923b69ef4f35ab7b3a9e2b7d670a5b4785bdad7ab902ffb6b8a5c23b42a7cae98407e38
+EBUILD nginx-unit-1.26.1.ebuild 2039 BLAKE2B 9be21599b03a00bae312d974d01a3454eb197382ff3877e9f54c1d4c309e9e2f3601fd0cfd9633a2f0d4a82b1f8cedc87305c0f412d18093ca2be8d77e8a8792 SHA512 fb394c14106950166678c07bc615aaca76066d37790308265626a553b9492d74ccb4e2b9083e57bdcae73b6d02847cde0d0b8f91008f6e849aaa2607b961bf60
+MISC metadata.xml 1051 BLAKE2B f636fc0f79c7d3a1aa920e2595df3dd457e69cc3c5d19243be17f19a14b16e2ecb04fc20e7337188e40d388e8d5c8d3118f17c2c56299bc139b8ef098f82ee56 SHA512 b0c2d28581689e404eb68412ad2fd2bd921d8b164065b9c7968ee38bbb621287cf2ec67eabfb33723bb6779dcb411c7aa9814d150f8d98cf2616c3bf6cb42b87
diff --git a/www-servers/nginx-unit/metadata.xml b/www-servers/nginx-unit/metadata.xml
index 88bdbf1127e4..4a985c432a3b 100644
--- a/www-servers/nginx-unit/metadata.xml
+++ b/www-servers/nginx-unit/metadata.xml
@@ -21,7 +21,6 @@
engineering or operations.
</longdescription>
<use>
- <flag name="php7-2">Support for PHP 7.2</flag>
<flag name="php7-3">Support for PHP 7.3</flag>
<flag name="php7-4">Support for PHP 7.4</flag>
</use>
diff --git a/www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild b/www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild
deleted file mode 100644
index 1611cdbc984f..000000000000
--- a/www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit flag-o-matic python-single-r1 toolchain-funcs
-
-MY_P="unit-${PV}"
-DESCRIPTION="Dynamic web and application server"
-HOMEPAGE="https://unit.nginx.org"
-SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-MY_USE="perl python ruby"
-MY_USE_PHP="php7-2 php7-3 php7-4"
-IUSE="${MY_USE} ${MY_USE_PHP} ssl"
-REQUIRED_USE="|| ( ${IUSE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="perl? ( dev-lang/perl:= )
- php7-2? ( dev-lang/php:7.2[embed] )
- php7-3? ( dev-lang/php:7.3[embed] )
- php7-4? ( dev-lang/php:7.4[embed] )
- python? ( ${PYTHON_DEPS} )
- ruby? (
- dev-lang/ruby:*
- dev-ruby/rubygems:*
- )
- ssl? ( dev-libs/openssl:0= )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- eapply_user
- sed -i '/^CFLAGS/d' auto/make || die
-}
-
-src_configure() {
- local opt=(
- --control=unix:/run/${PN}.sock
- --log=/var/log/${PN}
- --modules=$(get_libdir)/${PN}
- --pid=/run/${PN}.pid
- --prefix=/usr
- --state=/var/lib/${PN}
- )
-
- use ssl && opt+=( --openssl )
- export AR="$(tc-getAR)"
- export CC="$(tc-getCC)"
- ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed"
-
- # Modules require position-independent code
- append-cflags $(test-flags-CC -fPIC)
-
- for flag in ${MY_USE} ; do
- if use ${flag} ; then
- ./configure ${flag} || die "Module configuration failed: ${flag}"
- fi
- done
-
- for flag in ${MY_USE_PHP} ; do
- if use ${flag} ; then
- local php_slot="/usr/$(get_libdir)/${flag/-/.}"
- ./configure php \
- --module=${flag} \
- --config=${php_slot}/bin/php-config \
- --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}"
- fi
- done
-}
-
-src_install() {
- default
-
- diropts -m 0770
- keepdir /var/lib/${PN}
- newinitd "${FILESDIR}/${PN}.initd" ${PN}
-}
diff --git a/www-servers/nginx-unit/nginx-unit-1.26.0.ebuild b/www-servers/nginx-unit/nginx-unit-1.26.0.ebuild
deleted file mode 100644
index dcbeae43d4de..000000000000
--- a/www-servers/nginx-unit/nginx-unit-1.26.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit flag-o-matic python-single-r1 systemd toolchain-funcs
-
-MY_P="unit-${PV}"
-DESCRIPTION="Dynamic web and application server"
-HOMEPAGE="https://unit.nginx.org"
-SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-MY_USE="perl python ruby"
-MY_USE_PHP="php7-3 php7-4"
-IUSE="${MY_USE} ${MY_USE_PHP} ssl"
-REQUIRED_USE="|| ( ${IUSE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="perl? ( dev-lang/perl:= )
- php7-3? ( dev-lang/php:7.3[embed] )
- php7-4? ( dev-lang/php:7.4[embed] )
- python? ( ${PYTHON_DEPS} )
- ruby? (
- dev-lang/ruby:=
- dev-ruby/rubygems:=
- )
- ssl? ( dev-libs/openssl:0= )
- virtual/libcrypt:0="
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- eapply_user
- sed -i '/^CFLAGS/d' auto/make || die
- default
-}
-
-src_configure() {
- local opt=(
- --control=unix:/run/${PN}.sock
- --log=/var/log/${PN}
- --modules=$(get_libdir)/${PN}
- --pid=/run/${PN}.pid
- --prefix=/usr
- --state=/var/lib/${PN}
- )
-
- use ssl && opt+=( --openssl )
- export AR="$(tc-getAR)"
- export CC="$(tc-getCC)"
- ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed"
-
- # Modules require position-independent code
- append-cflags $(test-flags-CC -fPIC)
-
- for flag in ${MY_USE} ; do
- if use ${flag} ; then
- ./configure ${flag} || die "Module configuration failed: ${flag}"
- fi
- done
-
- for flag in ${MY_USE_PHP} ; do
- if use ${flag} ; then
- local php_slot="/usr/$(get_libdir)/${flag/-/.}"
- ./configure php \
- --module=${flag} \
- --config=${php_slot}/bin/php-config \
- --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}"
- fi
- done
-}
-
-src_install() {
- default
-
- diropts -m 0770
- keepdir /var/lib/${PN}
- newinitd "${FILESDIR}/${PN}.initd" ${PN}
- systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
-}
diff --git a/www-servers/nginx-unit/nginx-unit-1.26.1.ebuild b/www-servers/nginx-unit/nginx-unit-1.26.1.ebuild
index 27671877d68c..48dca172ad9a 100644
--- a/www-servers/nginx-unit/nginx-unit-1.26.1.ebuild
+++ b/www-servers/nginx-unit/nginx-unit-1.26.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{7..10} )
inherit flag-o-matic python-single-r1 systemd toolchain-funcs
diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest
index faabe567745d..b5fcf5edc374 100644
--- a/www-servers/nginx/Manifest
+++ b/www-servers/nginx/Manifest
@@ -17,6 +17,7 @@ DIST nginx-1.21.1.tar.gz 1064925 BLAKE2B ff5dfb4a07d0dd3c8dd10e2545659cc25e15db7
DIST nginx-1.21.2.tar.gz 1066678 BLAKE2B 7af3a6f4cfc84c98058cb5ef3e0991b4f3cc2d8d9ca3b84111c30eac158253ac7f444e5b6ac9fd3a296f03a6c906e8a411b02c54e8df199f67a9ee0acce683d4 SHA512 5fa9c8f3a1bd9366b30de2bdbbd5baef47381e6d8672341ed601116baeb077ea1b596716ca06ec03d8a2773a437b78acd408084e49ba239f74de915f1b7fb8a5
DIST nginx-1.21.3.tar.gz 1066609 BLAKE2B 424e9525f8f27dad6a49e7ec7c76160331ce98015d1023c71e9c60146aef7d330c780dc69bf2db01da0bedce3acecb156b3e108c24d2683ffee2954396ff440e SHA512 173d6d5c1471df1f5fbcf43fab19699ac509faee44a6c603f5e96ba59ac58774bbd84be5b45f5922a12b4037e4b32f875ce71c28e3e6adb70f306a2d25b40736
DIST nginx-1.21.4.tar.gz 1070260 BLAKE2B 61297386c59b4c29ec120f963e76fb7570a262304a0401381b0b2fbd2fa0ce9b3392c552d6c70eeda88b45553cca39bb5ccb42cce7f23a45c57745c366907b68 SHA512 8f0be700bbec70abdb9902c27044334038087d03bdf07b9bdf1520f416edd12ca504bdd0244b34c542b222c28d5bd2d0add54dcb04b235e763d088fa3e2cee6e
+DIST nginx-1.21.6.tar.gz 1073364 BLAKE2B 815d035df33bd947eec41a2f5c993d1f179aa0bd4d069280916aa089a2f96fd3bada7a7192b4a0ef7b8f43036f3a2def0e93d8c8f720dd7145a5d55ea058652f SHA512 10b0cdd13b26687104bf11e6b850fd851e9d8881bdf67f72c062d956e661da4d70482e6ec3123405b324ad7ed821a8bcc67b742dce9f59e972407fa437ddcad4
DIST nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz 18457 BLAKE2B 22225ca9e5299b20ab5a93a001cac48e446bd86b3a24ac49e716bc975b128890bdb4b0dbbf5730fbaaeadfd958160093c7a6af798dd0e6de27062f149a760333 SHA512 ec59637fda5acac053e815cb1d04b545fc6b765e5ec63d8c2c9c301abad87afaa2698145acac08e9e14c91e1423ebff7aff0cca2b940b19ccccbf4cf53973269
DIST nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 124047 BLAKE2B d37ef9a15c91abe3c6258e420d1f99fa452f9d9966a0e13102174973314a3bac5413957a5fe632a9dcb1163b3be5df8116e05cc053ee061e19319ec25f341570 SHA512 6c1bfdcf89884b2855d51ae7da0f6e53a4ca3629e1aaf58433b70c07dcb2af797ba6e87d9b3eb4fe2fb6d4d697e862f2b4c2f8d8b3fdaea201740c97ec936529
DIST ngx_brotli-1.0.0rc.tar.gz 16207 BLAKE2B 450d0ea693bd98d4a1b615f2cdcaad41ccd28266f6d80beec7fe77fe750ab8c5d1bb55aabe15161b9b6d819d2b4d99a7774f2706f2f6fd084b52a7c7dddbc00c SHA512 05a880d5e48ac83be84498ed41fb4750211b827a9d7541acfd6ef494e5205a6e853d5594bfec3ab4ae668ea3f803e4f4b0ba550c76811971c8e266e42663c56d
@@ -42,6 +43,7 @@ DIST ngx_rtmp-1.2.1.tar.gz 519919 BLAKE2B 744ccb8031eb9653f158f9eceba64fc9c8af7b
DIST njs-0.6.0.tar.gz 528419 BLAKE2B 7b3c9dd4be8182298cc283e8b19eb4efeef66416d26332ae73dde66b5b67ad980c3e07f12fe0006dfb9710f3df449ac2598bfd1803f6c86d721f48697d975087 SHA512 fa569623fd594e859c535c75041be443ef6329a4ee33d9e0f29eeb56e69ae2f3c44264ccba736b4a97ab0b33700f381acb65a884889d6f644f3fbce7c1bc586e
DIST njs-0.6.1.tar.gz 529124 BLAKE2B a24b6542dcef6599d18b86d38dbaeb554beeddb5c100f5bfb97c87c81bd66842afc6f77f23ef2c542ba32da96d5c2f999d3c869fa8d76d919a4f964020d19e30 SHA512 996cdc11d65af5e3d5b3a8f28087868c40409a062e6e1ed3eac8e516cb60b13f88a945c86bea5dde1bc089fe5f96f3ba351d87dbfd513f7140ea4ce98119959f
DIST njs-0.6.2.tar.gz 538303 BLAKE2B 6c505a6ec20222095d4d10efdf274d2ea2fa61f236ceae71311f2c47dacc4b21f6af2a7b6f8bde21db6453455aff2994341c420fa14722120a98ac9d8bd6e934 SHA512 0c359501665ca303fcfb29353d4ad6ed398679b10906a6bbe6f6f6f69418f08adce9849a50206fdbd4e8fa89a5b73ea4fa43f1f02a28b7bd02e3f990d11263d0
+DIST njs-0.7.2.tar.gz 584483 BLAKE2B 98f28e599f73aaacf2c155dd2a630b8dec9767725e47e6d93de05fb15b854277cd2fcc38ec915d8b04a769d40513725fe2061054521fed73967a6d61f04ce8e1 SHA512 7ff9c8f4e8cf1a3aeb0f2ed9f37e2b3f4966812966d1aca17dae8b454dd7fa725ccdc631b7dc1f3434f588e589f4cd419b9e087f3c745cd6ca092a683c92d82f
EBUILD nginx-1.20.1-r2.ebuild 40181 BLAKE2B e3cc81baacbfaefb8c3cf92cbefb1625983b0d87b3e533218310446e44a2288c4084ede98bf6babab2db1d5ed2cf515f0274c3234ea2a5bae2bbc7953f8311f7 SHA512 0e3758533a44907f96ad6c9d2f4a483175a0ee5f5e5a141bc38cf68dd7595251400e9121a0f6e6fd6c114b4d63da48209861e4748fd1a69ef1acd72ddf2e6a2a
EBUILD nginx-1.20.2.ebuild 40185 BLAKE2B e66fd39642e670ebd32fce922d51a333fa4517d7dfafbbaea91870a70adea171fdbc9c0d60ddd9e4bc46ec6b102f597427fb8e0116f5dcd8ca249b34f552aca0 SHA512 9dea4079ddf72c188bce8243a4ca6efa001c280678f31f8e532bab3189f7256df651465d34e683b89df1fda885d1bb26893d5ae3a005ec1ac7d614e3b5736b56
EBUILD nginx-1.21.0-r2.ebuild 40185 BLAKE2B 3a989fa5a3f930895611d7900063fc68e965a4e88eb085eed82f64e48286441107126c3268002b33e1857a85b087287aa48b845cb0108feef295c13de2e819ec SHA512 bcb8b0e3488d4832211b4795f72d6d559ba5c15966250bde91b6ed3c69c3ec553799aa53e9eb63536cca452314ba08e89f885c7d9545c92c501bf287e06a520d
@@ -49,4 +51,5 @@ EBUILD nginx-1.21.1.ebuild 40192 BLAKE2B ce1ee40abbc9ffd86bf05642076f48915eab2b5
EBUILD nginx-1.21.2.ebuild 40192 BLAKE2B 33a99e661964164d11afe05cbea153220b183167c5ca3dae2befb5b9ec85027107946eda6f1229af62da6ecceb1b74b126471dee7fec62f5866422256a6ed818 SHA512 3cc5431ad5e68a2f0348d78f685ed303396d3da621b1c9191108636d460d9cf640964306e56805c5161daa88119446f8243aa69c626575e80585537624ffcb4d
EBUILD nginx-1.21.3.ebuild 40192 BLAKE2B 33a99e661964164d11afe05cbea153220b183167c5ca3dae2befb5b9ec85027107946eda6f1229af62da6ecceb1b74b126471dee7fec62f5866422256a6ed818 SHA512 3cc5431ad5e68a2f0348d78f685ed303396d3da621b1c9191108636d460d9cf640964306e56805c5161daa88119446f8243aa69c626575e80585537624ffcb4d
EBUILD nginx-1.21.4.ebuild 40192 BLAKE2B 33a99e661964164d11afe05cbea153220b183167c5ca3dae2befb5b9ec85027107946eda6f1229af62da6ecceb1b74b126471dee7fec62f5866422256a6ed818 SHA512 3cc5431ad5e68a2f0348d78f685ed303396d3da621b1c9191108636d460d9cf640964306e56805c5161daa88119446f8243aa69c626575e80585537624ffcb4d
+EBUILD nginx-1.21.6.ebuild 40192 BLAKE2B dc6b2f5c03e9a70278fab3967d8eade286b2627e551e1fa36db1baf31df7f0418bf581e7d3f8bdef97594331d055cbe5274aa0e1be9e2fb18f8a898c13c6c6fd SHA512 ad26a24fe7b0fabef11aa0514e4657981369fe01033e5c1efb28ae8ba66f41f980a9e52333596a593a85dac9815d0349e97b0e9fcad6e4817f0b50054142282d
MISC metadata.xml 1046 BLAKE2B 728cb0090ad5271cf9a020dfbfee787ccb9a7e076b58a8f4d64af2d33991c949ec345afb9746614d296e7a82606a031daf845cdd894ace9dd98710e934e63ef4 SHA512 845ca85c361750290fdc594907549d970c148a7c3ad42a6d41284511043f5cc6e2709bbab5ab50908254b7c141c4303604d979814b2b2ffc22abed5837f309e7
diff --git a/www-servers/nginx/nginx-1.21.6.ebuild b/www-servers/nginx/nginx-1.21.6.ebuild
new file mode 100644
index 000000000000..7a75955acae5
--- /dev/null
+++ b/www-servers/nginx/nginx-1.21.6.ebuild
@@ -0,0 +1,1081 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Maintainer notes:
+# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
+# - any http-module activates the main http-functionality and overrides USE=-http
+# - keep the following requirements in mind before adding external modules:
+# * alive upstream
+# * sane packaging
+# * builds cleanly
+# * does not need a patch for nginx core
+# - TODO: test the google-perftools module (included in vanilla tarball)
+
+# prevent perl-module from adding automagic perl DEPENDs
+GENTOO_DEPEND_ON_PERL="no"
+
+# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license)
+DEVEL_KIT_MODULE_PV="0.3.1"
+DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
+DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz"
+DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
+
+# ngx_brotli (https://github.com/google/ngx_brotli, BSD-2)
+HTTP_BROTLI_MODULE_PV="1.0.0rc"
+HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}"
+HTTP_BROTLI_MODULE_URI="https://github.com/google/ngx_brotli/archive/v${HTTP_BROTLI_MODULE_PV}.tar.gz"
+HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}"
+
+# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
+HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2"
+HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1"
+HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz"
+HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+
+# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.33"
+HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz"
+HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}"
+
+# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license)
+HTTP_CACHE_PURGE_MODULE_PV="2.3"
+HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz"
+HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+
+# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
+HTTP_SLOWFS_CACHE_MODULE_PV="1.10"
+HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz"
+HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+
+# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license)
+HTTP_FANCYINDEX_MODULE_PV="0.4.4"
+HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
+HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz"
+HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
+
+# http_lua (https://github.com/openresty/lua-nginx-module, BSD license)
+HTTP_LUA_MODULE_PV="0.10.15"
+HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}"
+HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz"
+HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}"
+LUA_COMPAT=( luajit )
+
+# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license)
+HTTP_AUTH_PAM_MODULE_PV="1.5.2"
+HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}"
+HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz"
+HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}"
+
+# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license)
+HTTP_UPSTREAM_CHECK_MODULE_PV="9aecf15ec379fe98f62355c57b60c0bc83296f04"
+HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
+HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz"
+HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
+
+# http_metrics (https://github.com/zenops/ngx_metrics, BSD license)
+HTTP_METRICS_MODULE_PV="0.1.1"
+HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}"
+HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz"
+HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}"
+
+# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license)
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz"
+HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}"
+
+# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+)
+HTTP_NAXSI_MODULE_PV="0.56"
+HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}"
+HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz"
+HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src"
+
+# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license)
+RTMP_MODULE_PV="1.2.1"
+RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}"
+RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz"
+RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}"
+
+# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license)
+HTTP_DAV_EXT_MODULE_PV="3.0.0"
+HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}"
+HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz"
+HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}"
+
+# echo-nginx-module (https://github.com/openresty/echo-nginx-module, BSD license)
+HTTP_ECHO_MODULE_PV="0.62"
+HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}"
+HTTP_ECHO_MODULE_URI="https://github.com/openresty/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz"
+HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}"
+
+# mod_security for nginx (https://modsecurity.org/, Apache-2.0)
+# keep the MODULE_P here consistent with upstream to avoid tarball duplication
+HTTP_SECURITY_MODULE_PV="2.9.3"
+HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}"
+HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz"
+HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}"
+
+# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3)
+HTTP_PUSH_STREAM_MODULE_PV="0.5.4"
+HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}"
+HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz"
+HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}"
+
+# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2)
+HTTP_STICKY_MODULE_PV="1.2.6-10-g08a395c66e42"
+HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}"
+HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2"
+HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42"
+
+# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2)
+HTTP_MOGILEFS_MODULE_PV="1.0.4"
+HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
+HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz"
+HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
+
+# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2)
+HTTP_MEMC_MODULE_PV="0.19"
+HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}"
+HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz"
+HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}"
+
+# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2)
+HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c"
+HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
+HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz"
+HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
+
+# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2)
+GEOIP2_MODULE_PV="3.3"
+GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}"
+GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz"
+GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}"
+
+# njs-module (https://github.com/nginx/njs, as-is)
+NJS_MODULE_PV="0.7.2"
+NJS_MODULE_P="njs-${NJS_MODULE_PV}"
+NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz"
+NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}"
+
+# We handle deps below ourselves
+SSL_DEPS_SKIP=1
+AUTOTOOLS_AUTO_DEPEND="no"
+
+inherit autotools lua-single ssl-cert toolchain-funcs perl-module flag-o-matic user systemd multilib pax-utils
+
+DESCRIPTION="Robust, small and high performance http and reverse proxy server"
+HOMEPAGE="https://nginx.org"
+SRC_URI="https://nginx.org/download/${P}.tar.gz
+ ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz
+ nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz )
+ nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz )
+ nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz )
+ nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )
+ nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz )
+ nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz )
+ nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz )
+ nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz )
+ nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
+ nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz )
+ nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz )
+ nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz )
+ nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz )
+ nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz )
+ nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz )
+ nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz )
+ nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz )
+ nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz )
+ nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 )
+ nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
+ nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz )
+ nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz )
+ nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz )
+ nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz )
+ rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )"
+
+LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+
+ nginx_modules_http_security? ( Apache-2.0 )
+ nginx_modules_http_push_stream? ( GPL-3 )"
+
+SLOT="mainline"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+# Package doesn't provide a real test suite
+RESTRICT="test"
+
+NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif
+ fastcgi geo grpc gzip limit_req limit_conn map memcached mirror
+ proxy referer rewrite scgi ssi split_clients upstream_hash
+ upstream_ip_hash upstream_keepalive upstream_least_conn
+ upstream_zone userid uwsgi"
+NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip
+ gzip_static image_filter mp4 perl random_index realip secure_link
+ slice stub_status sub xslt"
+NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients
+ upstream_hash upstream_least_conn upstream_zone"
+NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread"
+NGINX_MODULES_MAIL="imap pop3 smtp"
+NGINX_MODULES_3RD="
+ http_auth_ldap
+ http_auth_pam
+ http_brotli
+ http_cache_purge
+ http_dav_ext
+ http_echo
+ http_fancyindex
+ http_geoip2
+ http_headers_more
+ http_javascript
+ http_lua
+ http_memc
+ http_metrics
+ http_mogilefs
+ http_naxsi
+ http_push_stream
+ http_security
+ http_slowfs_cache
+ http_sticky
+ http_upload_progress
+ http_upstream_check
+ http_vhost_traffic_status
+ stream_geoip2
+ stream_javascript
+"
+
+IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic +pcre
+ pcre-jit rtmp selinux ssl threads vim-syntax"
+
+for mod in $NGINX_MODULES_STD; do
+ IUSE="${IUSE} +nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_OPT; do
+ IUSE="${IUSE} nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_STREAM_STD; do
+ IUSE="${IUSE} nginx_modules_stream_${mod}"
+done
+
+for mod in $NGINX_MODULES_STREAM_OPT; do
+ IUSE="${IUSE} nginx_modules_stream_${mod}"
+done
+
+for mod in $NGINX_MODULES_MAIL; do
+ IUSE="${IUSE} nginx_modules_mail_${mod}"
+done
+
+for mod in $NGINX_MODULES_3RD; do
+ IUSE="${IUSE} nginx_modules_${mod}"
+done
+
+# Add so we can warn users updating about config changes
+# @TODO: jbergstroem: remove on next release series
+IUSE="${IUSE} nginx_modules_http_spdy"
+
+CDEPEND="
+ virtual/libcrypt:=
+ pcre? ( dev-libs/libpcre:= )
+ pcre-jit? ( dev-libs/libpcre:=[jit] )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ http2? (
+ >=dev-libs/openssl-1.0.1c:0=
+ )
+ http-cache? (
+ dev-libs/openssl:0=
+ )
+ nginx_modules_http_brotli? ( app-arch/brotli:= )
+ nginx_modules_http_geoip? ( dev-libs/geoip )
+ nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= )
+ nginx_modules_http_gunzip? ( sys-libs/zlib )
+ nginx_modules_http_gzip? ( sys-libs/zlib )
+ nginx_modules_http_gzip_static? ( sys-libs/zlib )
+ nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] )
+ nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= )
+ nginx_modules_http_rewrite? ( dev-libs/libpcre:= )
+ nginx_modules_http_secure_link? ( dev-libs/openssl:0= )
+ nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt )
+ nginx_modules_http_lua? ( ${LUA_DEPS} )
+ nginx_modules_http_auth_pam? ( sys-libs/pam )
+ nginx_modules_http_metrics? ( dev-libs/yajl:= )
+ nginx_modules_http_dav_ext? ( dev-libs/libxml2 )
+ nginx_modules_http_security? (
+ dev-libs/apr:=
+ dev-libs/apr-util:=
+ dev-libs/libxml2:=
+ net-misc/curl
+ www-servers/apache
+ )
+ nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] )
+ nginx_modules_stream_geoip? ( dev-libs/geoip )
+ nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-nginx )
+ !www-servers/nginx:0"
+DEPEND="${CDEPEND}
+ arm? ( dev-libs/libatomic_ops )
+ libatomic? ( dev-libs/libatomic_ops )"
+BDEPEND="nginx_modules_http_brotli? ( virtual/pkgconfig )
+ nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} )"
+PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
+
+REQUIRED_USE="pcre-jit? ( pcre )
+ nginx_modules_http_fancyindex? ( nginx_modules_http_addition )
+ nginx_modules_http_grpc? ( http2 )
+ nginx_modules_http_lua? (
+ ${LUA_REQUIRED_USE}
+ nginx_modules_http_rewrite
+ )
+ nginx_modules_http_naxsi? ( pcre )
+ nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt )
+ nginx_modules_http_metrics? ( nginx_modules_http_stub_status )
+ nginx_modules_http_security? ( pcre )
+ nginx_modules_http_push_stream? ( ssl )"
+
+pkg_setup() {
+ NGINX_HOME="/var/lib/nginx"
+ NGINX_HOME_TMP="${NGINX_HOME}/tmp"
+
+ ebegin "Creating nginx user and group"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN}
+ eend $?
+
+ if use libatomic; then
+ ewarn "GCC 4.1+ features built-in atomic operations."
+ ewarn "Using libatomic_ops is only needed if using"
+ ewarn "a different compiler or a GCC prior to 4.1"
+ fi
+
+ if [[ -n $NGINX_ADD_MODULES ]]; then
+ ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
+ ewarn "This nginx installation is not supported!"
+ ewarn "Make sure you can reproduce the bug without those modules"
+ ewarn "_before_ reporting bugs."
+ fi
+
+ if use !http; then
+ ewarn "To actually disable all http-functionality you also have to disable"
+ ewarn "all nginx http modules."
+ fi
+
+ if use nginx_modules_http_mogilefs && use threads; then
+ eerror "mogilefs won't compile with threads support."
+ eerror "Please disable either flag and try again."
+ die "Can't compile mogilefs with threads support"
+ fi
+
+ use nginx_modules_http_lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch"
+ eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch"
+
+ if use nginx_modules_http_brotli; then
+ cd "${HTTP_BROTLI_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_brotli-detect-brotli-r3.patch
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_security; then
+ cd "${HTTP_SECURITY_MODULE_WD}" || die
+
+ eautoreconf
+
+ if use nginx_modules_http_lua; then
+ sed -i \
+ -e "s|^\(LUA_PKGNAMES\)=.*|\1=\"${ELUA}\"|" \
+ configure || die
+ fi
+
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_upload_progress; then
+ cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch
+ cd "${S}" || die
+ fi
+
+ find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die
+ # We have config protection, don't rename etc files
+ sed -i 's:.default::' auto/install || die
+ # remove useless files
+ sed -i -e '/koi-/d' -e '/win-/d' auto/install || die
+
+ # don't install to /etc/nginx/ if not in use
+ local module
+ for module in fastcgi scgi uwsgi ; do
+ if ! use nginx_modules_http_${module}; then
+ sed -i -e "/${module}/d" auto/install || die
+ fi
+ done
+
+ eapply_user
+}
+
+src_configure() {
+ # mod_security needs to generate nginx/modsecurity/config before including it
+ if use nginx_modules_http_security; then
+ cd "${HTTP_SECURITY_MODULE_WD}" || die
+
+ ./configure \
+ --enable-standalone-module \
+ --disable-mlogc \
+ --with-ssdeep=no \
+ $(use_enable pcre-jit) \
+ $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security"
+
+ cd "${S}" || die
+ fi
+
+ local myconf=() http_enabled= mail_enabled= stream_enabled=
+
+ use aio && myconf+=( --with-file-aio )
+ use debug && myconf+=( --with-debug )
+ use http2 && myconf+=( --with-http_v2_module )
+ use libatomic && myconf+=( --with-libatomic )
+ use pcre && myconf+=( --with-pcre )
+ use pcre-jit && myconf+=( --with-pcre-jit )
+ use threads && myconf+=( --with-threads )
+
+ # HTTP modules
+ for mod in $NGINX_MODULES_STD; do
+ if use nginx_modules_http_${mod}; then
+ http_enabled=1
+ else
+ myconf+=( --without-http_${mod}_module )
+ fi
+ done
+
+ for mod in $NGINX_MODULES_OPT; do
+ if use nginx_modules_http_${mod}; then
+ http_enabled=1
+ myconf+=( --with-http_${mod}_module )
+ fi
+ done
+
+ if use nginx_modules_http_fastcgi; then
+ myconf+=( --with-http_realip_module )
+ fi
+
+ # third-party modules
+ if use nginx_modules_http_upload_progress; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_headers_more; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_slowfs_cache; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_fancyindex; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_lua; then
+ http_enabled=1
+ export LUAJIT_LIB=$(dirname $(lua_get_shared_lib))
+ export LUAJIT_INC=$(lua_get_include_dir)
+ myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} )
+ myconf+=( --add-module=${HTTP_LUA_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_auth_pam; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_metrics; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_naxsi ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} )
+ fi
+
+ if use rtmp ; then
+ http_enabled=1
+ myconf+=( --add-module=${RTMP_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_dav_ext ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_echo ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_security ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity )
+ fi
+
+ if use nginx_modules_http_push_stream ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_sticky ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_mogilefs ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_memc ; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_auth_ldap; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_vhost_traffic_status; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then
+ myconf+=( --add-module=${GEOIP2_MODULE_WD} )
+ fi
+
+ if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then
+ myconf+=( --add-module="${NJS_MODULE_WD}/nginx" )
+ fi
+
+ if use nginx_modules_http_brotli; then
+ http_enabled=1
+ myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} )
+ fi
+
+ if use http || use http-cache || use http2 || use nginx_modules_http_javascript; then
+ http_enabled=1
+ fi
+
+ if [ $http_enabled ]; then
+ use http-cache || myconf+=( --without-http-cache )
+ use ssl && myconf+=( --with-http_ssl_module )
+ else
+ myconf+=( --without-http --without-http-cache )
+ fi
+
+ # Stream modules
+ for mod in $NGINX_MODULES_STREAM_STD; do
+ if use nginx_modules_stream_${mod}; then
+ stream_enabled=1
+ else
+ myconf+=( --without-stream_${mod}_module )
+ fi
+ done
+
+ for mod in $NGINX_MODULES_STREAM_OPT; do
+ if use nginx_modules_stream_${mod}; then
+ stream_enabled=1
+ myconf+=( --with-stream_${mod}_module )
+ fi
+ done
+
+ if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then
+ stream_enabled=1
+ fi
+
+ if [ $stream_enabled ]; then
+ myconf+=( --with-stream )
+ use ssl && myconf+=( --with-stream_ssl_module )
+ fi
+
+ # MAIL modules
+ for mod in $NGINX_MODULES_MAIL; do
+ if use nginx_modules_mail_${mod}; then
+ mail_enabled=1
+ else
+ myconf+=( --without-mail_${mod}_module )
+ fi
+ done
+
+ if [ $mail_enabled ]; then
+ myconf+=( --with-mail )
+ use ssl && myconf+=( --with-mail_ssl_module )
+ fi
+
+ # custom modules
+ for mod in $NGINX_ADD_MODULES; do
+ myconf+=( --add-module=${mod} )
+ done
+
+ # https://bugs.gentoo.org/286772
+ export LANG=C LC_ALL=C
+ tc-export AR CC
+
+ if ! use prefix; then
+ myconf+=( --user=${PN} )
+ myconf+=( --group=${PN} )
+ fi
+
+ local WITHOUT_IPV6=
+ if ! use ipv6; then
+ WITHOUT_IPV6=" -DNGX_HAVE_INET6=0"
+ fi
+
+ if [[ -n "${EXTRA_ECONF}" ]]; then
+ myconf+=( ${EXTRA_ECONF} )
+ ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!"
+ fi
+
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \
+ --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \
+ --pid-path="${EPREFIX}"/run/${PN}.pid \
+ --lock-path="${EPREFIX}"/run/lock/${PN}.lock \
+ --with-cc-opt="-I${ESYSROOT}/usr/include${WITHOUT_IPV6}" \
+ --with-ld-opt="-L${ESYSROOT}/usr/$(get_libdir)" \
+ --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \
+ --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \
+ --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \
+ --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \
+ --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \
+ --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \
+ --with-compat \
+ "${myconf[@]}" || die "configure failed"
+
+ # A purely cosmetic change that makes nginx -V more readable. This can be
+ # good if people outside the gentoo community would troubleshoot and
+ # question the users setup.
+ sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die
+}
+
+src_compile() {
+ use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}"
+
+ # https://bugs.gentoo.org/286772
+ export LANG=C LC_ALL=C
+ emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ cp "${FILESDIR}"/nginx.conf-r2 "${ED}"/etc/nginx/nginx.conf || die
+
+ newinitd "${FILESDIR}"/nginx.initd-r4 nginx
+ newconfd "${FILESDIR}"/nginx.confd nginx
+
+ systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service
+
+ doman man/nginx.8
+ dodoc CHANGES* README
+
+ # just keepdir. do not copy the default htdocs files (bug #449136)
+ keepdir /var/www/localhost
+ rm -rf "${ED}"/usr/html || die
+
+ # set up a list of directories to keep
+ local keepdir_list="${NGINX_HOME_TMP}"/client
+ local module
+ for module in proxy fastcgi scgi uwsgi; do
+ use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}"
+ done
+
+ keepdir /var/log/nginx ${keepdir_list}
+
+ # this solves a problem with SELinux where nginx doesn't see the directories
+ # as root and tries to create them as nginx
+ fperms 0750 "${NGINX_HOME_TMP}"
+ fowners ${PN}:0 "${NGINX_HOME_TMP}"
+
+ fperms 0700 ${keepdir_list}
+ fowners ${PN}:${PN} ${keepdir_list}
+
+ fperms 0710 /var/log/nginx
+ fowners 0:${PN} /var/log/nginx
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/nginx.logrotate-r1 nginx
+
+ # Don't create /run
+ rm -rf "${ED}"/run || die
+
+ if use lua_single_target_luajit; then
+ pax-mark m "${ED}/usr/sbin/nginx"
+ fi
+
+ if use nginx_modules_http_perl; then
+ cd "${S}"/objs/src/http/modules/perl/ || die
+ emake DESTDIR="${D}" INSTALLDIRS=vendor
+ perl_delete_localpod
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ docinto ${HTTP_CACHE_PURGE_MODULE_P}
+ dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md}
+ fi
+
+ if use nginx_modules_http_slowfs_cache; then
+ docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
+ dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md}
+ fi
+
+ if use nginx_modules_http_fancyindex; then
+ docinto ${HTTP_FANCYINDEX_MODULE_P}
+ dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst
+ fi
+
+ if use nginx_modules_http_lua; then
+ docinto ${HTTP_LUA_MODULE_P}
+ dodoc "${HTTP_LUA_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_auth_pam; then
+ docinto ${HTTP_AUTH_PAM_MODULE_P}
+ dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog}
+ fi
+
+ if use nginx_modules_http_upstream_check; then
+ docinto ${HTTP_UPSTREAM_CHECK_MODULE_P}
+ dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES}
+ fi
+
+ if use nginx_modules_http_naxsi; then
+ insinto /etc/nginx
+ doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules
+ fi
+
+ if use rtmp; then
+ docinto ${RTMP_MODULE_P}
+ dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl}
+ fi
+
+ if use nginx_modules_http_dav_ext; then
+ docinto ${HTTP_DAV_EXT_MODULE_P}
+ dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst
+ fi
+
+ if use nginx_modules_http_echo; then
+ docinto ${HTTP_ECHO_MODULE_P}
+ dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_security; then
+ docinto ${HTTP_SECURITY_MODULE_P}
+ dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,authors.txt}
+ fi
+
+ if use nginx_modules_http_push_stream; then
+ docinto ${HTTP_PUSH_STREAM_MODULE_P}
+ dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile}
+ fi
+
+ if use nginx_modules_http_sticky; then
+ docinto ${HTTP_STICKY_MODULE_P}
+ dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf}
+ fi
+
+ if use nginx_modules_http_memc; then
+ docinto ${HTTP_MEMC_MODULE_P}
+ dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown
+ fi
+
+ if use nginx_modules_http_auth_ldap; then
+ docinto ${HTTP_LDAP_MODULE_P}
+ dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf
+ fi
+}
+
+pkg_postinst() {
+ if use ssl; then
+ if [[ ! -f "${EROOT}"/etc/ssl/${PN}/${PN}.key ]]; then
+ install_cert /etc/ssl/${PN}/${PN}
+ use prefix || chown ${PN}:${PN} "${EROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
+ fi
+ fi
+
+ if use nginx_modules_http_spdy; then
+ ewarn ""
+ ewarn "In nginx 1.9.5 the spdy module was superseded by http2."
+ ewarn "Update your configs and package.use accordingly."
+ fi
+
+ if use nginx_modules_http_lua; then
+ ewarn ""
+ ewarn "While you can build lua 3rd party module against ${P}"
+ ewarn "the author warns that >=${PN}-1.11.11 is still not an"
+ ewarn "officially supported target yet. You are on your own."
+ ewarn "Expect runtime failures, memory leaks and other problems!"
+ fi
+
+ if use nginx_modules_http_lua && use http2; then
+ ewarn ""
+ ewarn "Lua 3rd party module author warns against using ${P} with"
+ ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg"
+ fi
+
+ local _n_permission_layout_checks=0
+ local _has_to_adjust_permissions=0
+ local _has_to_show_permission_warning=0
+
+ # Defaults to 1 to inform people doing a fresh installation
+ # that we ship modified {scgi,uwsgi,fastcgi}_params files
+ local _has_to_show_httpoxy_mitigation_notice=1
+
+ local _replacing_version=
+ for _replacing_version in ${REPLACING_VERSIONS}; do
+ _n_permission_layout_checks=$((${_n_permission_layout_checks}+1))
+
+ if [[ ${_n_permission_layout_checks} -gt 1 ]]; then
+ # Should never happen:
+ # Package is abusing slots but doesn't allow multiple parallel installations.
+ # If we run into this situation it is unsafe to automatically adjust any
+ # permission...
+ _has_to_show_permission_warning=1
+
+ ewarn "Replacing multiple ${PN}' versions is unsupported! " \
+ "You will have to adjust permissions on your own."
+
+ break
+ fi
+
+ local _replacing_version_branch=$(ver_cut 1-2 "${_replacing_version}")
+ debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
+
+ # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)?
+ # This was before we introduced multiple nginx versions so we
+ # do not need to distinguish between stable and mainline
+ local _need_to_fix_CVE2013_0337=1
+
+ if ver_test ${_replacing_version} -ge 1.4.1-r2; then
+ # We are updating an installation which should already be fixed
+ _need_to_fix_CVE2013_0337=0
+ debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!"
+ else
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2013-0337!"
+ fi
+
+ # Do we need to inform about HTTPoxy mitigation?
+ # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f
+ if ver_test ${_replacing_version_branch} -lt 1.10; then
+ # Updating from <1.10
+ _has_to_show_httpoxy_mitigation_notice=1
+ debug-print "Need to inform about HTTPoxy mitigation!"
+ else
+ # Updating from >=1.10
+ local _fixed_in_pvr=
+ case "${_replacing_version_branch}" in
+ "1.10")
+ _fixed_in_pvr="1.10.1-r2"
+ ;;
+ "1.11")
+ _fixed_in_pvr="1.11.3-r1"
+ ;;
+ *)
+ # This should be any future branch.
+ # If we run this code it is safe to assume that the user has
+ # already seen the HTTPoxy mitigation notice because he/she is doing
+ # an update from previous version where we have already shown
+ # the warning. Otherwise, we wouldn't hit this code path ...
+ _fixed_in_pvr=
+ esac
+
+ if [[ -z "${_fixed_in_pvr}" ]] || ver_test ${_replacing_version} -ge ${_fixed_in_pvr}; then
+ # We are updating an installation where we already informed
+ # that we are mitigating HTTPoxy per default
+ _has_to_show_httpoxy_mitigation_notice=0
+ debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!"
+ else
+ _has_to_show_httpoxy_mitigation_notice=1
+ debug-print "Need to inform about HTTPoxy mitigation!"
+ fi
+ fi
+
+ # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)?
+ # All branches up to 1.11 are affected
+ local _need_to_fix_CVE2016_1247=1
+
+ if ver_test ${_replacing_version_branch} -lt 1.10; then
+ # Updating from <1.10
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2016-1247!"
+ else
+ # Updating from >=1.10
+ local _fixed_in_pvr=
+ case "${_replacing_version_branch}" in
+ "1.10")
+ _fixed_in_pvr="1.10.2-r3"
+ ;;
+ "1.11")
+ _fixed_in_pvr="1.11.6-r1"
+ ;;
+ *)
+ # This should be any future branch.
+ # If we run this code it is safe to assume that we have already
+ # adjusted permissions or were never affected because user is
+ # doing an update from previous version which was safe or did
+ # the adjustments. Otherwise, we wouldn't hit this code path ...
+ _fixed_in_pvr=
+ esac
+
+ if [[ -z "${_fixed_in_pvr}" ]] || ver_test ${_replacing_version} -ge ${_fixed_in_pvr}; then
+ # We are updating an installation which should already be adjusted
+ # or which was never affected
+ _need_to_fix_CVE2016_1247=0
+ debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!"
+ else
+ _has_to_adjust_permissions=1
+ debug-print "Need to adjust permissions to fix CVE-2016-1247!"
+ fi
+ fi
+ done
+
+ if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then
+ # We do not DIE when chmod/chown commands are failing because
+ # package is already merged on user's system at this stage
+ # and we cannot retry without losing the information that
+ # the existing installation needs to adjust permissions.
+ # Instead we are going to a show a big warning ...
+
+ if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then
+ ewarn ""
+ ewarn "The world-readable bit (if set) has been removed from the"
+ ewarn "following directories to mitigate a security bug"
+ ewarn "(CVE-2013-0337, bug #458726):"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}"
+ ewarn ""
+ ewarn "Check if this is correct for your setup before restarting nginx!"
+ ewarn "This is a one-time change and will not happen on subsequent updates."
+ ewarn "Furthermore nginx' temp directories got moved to '${EPREFIX}${NGINX_HOME_TMP}'"
+ chmod o-rwx \
+ "${EPREFIX}"/var/log/nginx \
+ "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \
+ _has_to_show_permission_warning=1
+ fi
+
+ if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then
+ ewarn ""
+ ewarn "The permissions on the following directory have been reset in"
+ ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn ""
+ ewarn "Check if this is correct for your setup before restarting nginx!"
+ ewarn "Also ensure that no other log directory used by any of your"
+ ewarn "vhost(s) is not writeable for nginx user. Any of your log files"
+ ewarn "used by nginx can be abused to escalate privileges!"
+ ewarn "This is a one-time change and will not happen on subsequent updates."
+ chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1
+ chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1
+ fi
+
+ if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then
+ # Should never happen ...
+ ewarn ""
+ ewarn "*************************************************************"
+ ewarn "*************** W A R N I N G ***************"
+ ewarn "*************************************************************"
+ ewarn "The one-time only attempt to adjust permissions of the"
+ ewarn "existing nginx installation failed. Be aware that we will not"
+ ewarn "try to adjust the same permissions again because now you are"
+ ewarn "using a nginx version where we expect that the permissions"
+ ewarn "are already adjusted or that you know what you are doing and"
+ ewarn "want to keep custom permissions."
+ ewarn ""
+ fi
+ fi
+
+ # Sanity check for CVE-2016-1247
+ # Required to warn users who received the warning above and thought
+ # they could fix it by unmerging and re-merging the package or have
+ # unmerged a affected installation on purpose in the past leaving
+ # /var/log/nginx on their system due to keepdir/non-empty folder
+ # and are now installing the package again.
+ local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX)
+ su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null
+ if [ $? -eq 0 ] ; then
+ # Cleanup -- no reason to die here!
+ rm -f "${_sanity_check_testfile}"
+
+ ewarn ""
+ ewarn "*************************************************************"
+ ewarn "*************** W A R N I N G ***************"
+ ewarn "*************************************************************"
+ ewarn "Looks like your installation is vulnerable to CVE-2016-1247"
+ ewarn "(bug #605008) because nginx user is able to create files in"
+ ewarn ""
+ ewarn " ${EPREFIX}/var/log/nginx"
+ ewarn ""
+ ewarn "Also ensure that no other log directory used by any of your"
+ ewarn "vhost(s) is not writeable for nginx user. Any of your log files"
+ ewarn "used by nginx can be abused to escalate privileges!"
+ fi
+
+ if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then
+ # HTTPoxy mitigation
+ ewarn ""
+ ewarn "This nginx installation comes with a mitigation for the HTTPoxy"
+ ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting"
+ ewarn "the HTTP_PROXY parameter to an empty string per default when you"
+ ewarn "are sourcing one of the default"
+ ewarn ""
+ ewarn " - 'fastcgi_params' or 'fastcgi.conf'"
+ ewarn " - 'scgi_params'"
+ ewarn " - 'uwsgi_params'"
+ ewarn ""
+ ewarn "files in your server block(s)."
+ ewarn ""
+ ewarn "If this is causing any problems for you make sure that you are sourcing the"
+ ewarn "default parameters _before_ you set your own values."
+ ewarn "If you are relying on user-supplied proxy values you have to remove the"
+ ewarn "correlating lines from the file(s) mentioned above."
+ ewarn ""
+ fi
+}
diff --git a/www-servers/puma/Manifest b/www-servers/puma/Manifest
index da30b288b871..440cebcae7e1 100644
--- a/www-servers/puma/Manifest
+++ b/www-servers/puma/Manifest
@@ -1,7 +1,9 @@
DIST puma-5.3.2.tar.gz 297673 BLAKE2B e3bfa38347526063587db966d20ea68f32cd88616d89b5f2d9152228d5d420b50c2918e24304c1bc8119af5790a2464f0a055ab92862a56262013ddbba006a1f SHA512 32e80b413184d371d451a35985a371a7655df0f7e81624f2a05e3cf65c2e1b035275a8e25ab03d13c9c1f921ec30cdeb3659e1201baae5940dcb3edcb525ff25
DIST puma-5.4.0.tar.gz 298525 BLAKE2B d93231582cd83519c258093fd9ac5e2b06398133e82e2d350103e7438a4ed1fd9b36f627739dbbad86e839211850c5387be57d5d114835e7e4d99940e842b128 SHA512 032a507d852c555393f401d4e72c358cf8c49d1c93ff7a559969f3d1f84c0b49180cbcee975bb6fea621d034a00874268ff05ae76f91775cc24089de0b4560da
DIST puma-5.5.2.tar.gz 302778 BLAKE2B 5911accde19aaed34cffecc71eb2db02f0d9f9ea7b57437ff7cf7580b0b51245ed68b254778cbdc11bea624b9f192aef0bfa7e24acde73b77290d780ab177933 SHA512 9887b465c6ed2a8e551b15fd161f19a9d2baa96b8eb8e247f13c98df9d34f6097bce81a52e8f88d69088d9b5f8477137af9110b7546afabc53767f337ad00ef8
+DIST puma-5.6.1.tar.gz 308896 BLAKE2B 0fa28fee64da577965c16fa564275760fbb3ebd04ed3eff583e53733b2f674ec6d29c20d2734bd16cb83aca8747ff5049e86d692bb5dd70fa5112a7a2c64ebf4 SHA512 262f17343668f5bf68842664eb6445208755385428151354fdb4039411e339c5c686f684bdb32c974516add3ca86af5693d1e169cf2bf74a8614be3cc06eccb0
EBUILD puma-5.3.2-r1.ebuild 1851 BLAKE2B 56e2293d48a3a862bea7b875afb7bc86d743996abdb0d9c2f7db0b962e5bd1616ea213b2c8eb6f4cdbaa6b2c0a9ae1d7a1f87e2943931c05cd14c9efd4acf095 SHA512 d3de6f6d1c5ace870b89e08a9169dd05ce10e5cc65e8c7013bcb1cd7b6902e9acfb73ce6d95f3ca7806c1b8106460529a51000f3e6b49296fb38c4c6780faa73
EBUILD puma-5.4.0.ebuild 1853 BLAKE2B 7568cd85ec3925a107a4f4c6dcfff0764eb307bf211b3c0c1fa4b340ef29f8a3a8cf617009ff6382fed5db8d06a3d93fb6d256404649d616b4a655023ea392b6 SHA512 28ea6e783aeacd7f33451b5600fb33921760b2297b236e8f141caa01b8f807d05093ef1b910f260a22e9c2eed293e21d287eb27dd274cff46a99f8bc56b3a8b6
-EBUILD puma-5.5.2.ebuild 1865 BLAKE2B a9a6274ceb2d5929de42324cbe3b129a38e71f554917fb88bd50a7a6eaff5490c83240a0cf2d0003de57e88d6fa6a2eb89f4a37e3a61368fa44d4c38a3f19d40 SHA512 e2a3f8f21e38b312e78a9b9249e0b719163dfbe19d6fb7f185774d659bf7834804cd0430377b00d651434bd5b9e47f96018dfaee7f58a5ac677415ef99e9a374
+EBUILD puma-5.5.2.ebuild 1863 BLAKE2B 1d9cb33e05bfe334291017f89b5d2cce2d8a45d8926345b75aa64781c7d0278825c9688478926dc16c8c126d909d71d1bcc4688599f6a5222f7dfc14261d747f SHA512 dbe571b0eccbe16e3f801c85fbcaada51ff7c3fb470f776a00c4d169b785d4b80037a6df12d6bf154571387793f1cb7d04c3931a865e04e97c6eaeacb5915204
+EBUILD puma-5.6.1.ebuild 1865 BLAKE2B 127a5cb8ef8094bb53fee94296b13627bfe0ce423dc16c2aef68c87df56da6bd7eb166559f10621e98d0d5d466321fec589bd44e95dd26bf9710f8b5626c8919 SHA512 9789bb869f6c5de66122a547fe4d4dc54ed65dea0d11c0d7ae43b284a5adc11cf2eb99a766facdc78045a6f47eb3d4bfe1658caea285aeab2951fad6ad5a2e0c
MISC metadata.xml 710 BLAKE2B bf109653812999e453fb414a83bf404786d16df301ba9dff87c123e0f1dbff8e3024109e96b7f36a3d9e1ebe57eb7aecc7acfd923f0de1bc8c4f358a87b32379 SHA512 894c677c61b3c7f8081b1511c64c274497c4ea85171f5b19d9606a19e4dff33df00d169653e3aede3eee07737b1cf9faadb812eebcf67292be68150c026b7f8e
diff --git a/www-servers/puma/puma-5.5.2.ebuild b/www-servers/puma/puma-5.5.2.ebuild
index 0401ed1bebcd..e02658c5c849 100644
--- a/www-servers/puma/puma-5.5.2.ebuild
+++ b/www-servers/puma/puma-5.5.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/puma/puma/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="3"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
IUSE=""
DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )"
diff --git a/www-servers/puma/puma-5.6.1.ebuild b/www-servers/puma/puma-5.6.1.ebuild
new file mode 100644
index 000000000000..808b8fced84f
--- /dev/null
+++ b/www-servers/puma/puma-5.6.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30"
+
+RUBY_FAKEGEM_GEMSPEC="puma.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/puma_http11/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/puma
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack"
+HOMEPAGE="https://puma.io/"
+SRC_URI="https://github.com/puma/puma/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )"
+RDEPEND+=" dev-libs/openssl:0="
+
+ruby_add_bdepend "virtual/ruby-ssl
+ test? ( dev-ruby/localhost dev-ruby/rack >=dev-ruby/minitest-5.9:5 >=dev-ruby/test-unit-3.0:2 )"
+
+ruby_add_rdepend "dev-ruby/nio4r:2"
+
+all_ruby_prepare() {
+ sed -e '/bundler/ s:^:#:' \
+ -e '/prove/ s:^:#:' \
+ -e '/stub_const/ s:^:#:' \
+ -i test/helper.rb || die
+
+ # Avoid tests failing inconsistently
+ sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die
+
+ # Avoid launcher tests since they make assumptions about bundler use
+ rm -f test/test_launcher.rb test/test_worker_gem_independence.rb || die
+
+ # Skip integration tests since they make a lot of assumptions about
+ # the environment
+ rm -f test/test_integration_* test/test_preserve_bundler_env.rb|| die
+
+ # Avoid test that uses unpackaged stub_const
+ sed -i -e '/test_shutdown_with_grace/,/^ end/ s:^:#:' test/test_thread_pool.rb || die
+
+ sed -e 's/git ls-files --/find/' \
+ -e 's:_relative ": "./:' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+}
+
+each_ruby_test() {
+ einfo "Running test suite"
+ ${RUBY} -Ilib:.:test -e "gem 'minitest', '~>5.9'; gem 'test-unit', '~>3.0'; require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{|f| require f}" || die
+}
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index d5ab93833ba5..064fae1b0257 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -1,21 +1,30 @@
+AUX tomcat-10.0.16-build.xml-strip-html5.patch 1201 BLAKE2B 57df5e44b741bc3c981312ce48330d0f43353f3ca010870c5f4a43539c120178147371129a66baa6d3a16da31328d21e0653060aa5cd4647b5935a05349d20e9 SHA512 38e194748ffae04be81624fe3dd5175acc1d0f62d07f9762e0831c5e840180c947492d03bde9722271690f6c94b5805992a5f7513520968bfdc037e33f9ba455
+AUX tomcat-10.0.16-build.xml.patch 13885 BLAKE2B e1c8b3b51fb64a3fe39f33dfa0bb9fa565a53d6d1d3ff994a8d90de52fcec8ebf1f6a9998987f9146f8237cd6abbd028c186cd1e926a85a719e74bc50920d3d6 SHA512 8f3e22120a514b26dfcace7190c2d7c2bfdbca3de1b9ee5749e6e3ece69a452e5f8e741770a99f7d69433679338a840af3289d95cd523b36888f0c4152b37b66
AUX tomcat-10.0.4-build.xml.patch 11459 BLAKE2B 841a96b09280a8790cf5bff7718219027abf793d3bf2f93c72086ca709102775995d06a4eeadcfab297742f6c0e74ac74736407606074cf6106b5948a8359ace SHA512 54e0c3ad71afa28b14c1644438daa0df0d2e6b95b55fd83d8776b30bb6ed3f8735bc18d5a8d9da6c56323c297245a34c441e126e7d1e1d2deeb331c8c382ba30
AUX tomcat-7.0.99-build.xml.patch 5913 BLAKE2B 21316c4ce76bd3e87c2749354cbd455c1322431649b276b59a93f10b97f59d03690f3531c2fd3a8ce67b81969544d498bf04e829407005dbed867067f8970347 SHA512 f8d0cb4ba0effdeea3db4049381efc84513551a1e28551b59a254340a8add306824d1dba344f6eaddc93e8b61fc0b71e1a8d0bcfc860500134cc19072deef30e
AUX tomcat-8.5.66-build.xml.patch 10850 BLAKE2B 69353bcf5697e6ae0b930c71fbb870401e822340f0eb0b8a6283e0d8cd1388d1d22a12190d089f7001a06e2491bb2309aab8c93b8f2a79e8439571fed8d0aebb SHA512 498c2ac8ab49cd83151ddfc6b47bd3a7a7148096e331ae55c7fe3da90007c19387208de64f5b3e796ec54b4b8534b11f906940fcf49343157acc862fcf06f5c7
AUX tomcat-9.0.37-fix-build-rewrite.patch 513 BLAKE2B e806ca32771bcad0fbc2f1b3f223af2b17d2caffe6ed034783294650d4ec22c8d9d9d215ade85569f6627508c61b7d469412d582093708b6bb728d6123d65155 SHA512 7aab16d1b52fa88352df849ca051dcaf27f645b1b3edd3df3a7d87385b5068d300105f89c18ba3a0f65818739b85ec847ddd5b28b8b655efbb7b39036099cae2
AUX tomcat-9.0.46-build.xml.patch 11402 BLAKE2B f9f7bbef835318220f0486c4eafe6e2db12d8ae3a252be921638c15ba3685f92a0ee8bc816bfde2f4bbab546117eb0fa654cb4c6cfac4ffd76dab88faecea656 SHA512 8301d7225b7c02fe79678ce0b2d6d9176de81ffa9e973f5c8c9ea0ec48c17a023ec27151793f1ed39248f15f0e6ecad92093acaf587ccf5f48031e8d302e7fe7
AUX tomcat-9.0.50-insufficient-ecj.patch 2890 BLAKE2B 586fed374f9da437d441d59272faaadf898b684375edd999f7ea50c81a5fe1ffe98e89037ee64997e583fa835f32598a7b16f0595be75fbf947264d84eea4379 SHA512 3d31beab19f79b8bd477d06e2b0ff7575e8c5cfb6c056da6fb1c19e2a1efebe9151c9b698baa1e4168006a9c28974eb49924bf52c89795ba227111d678e38439
+AUX tomcat-9.0.58-build.xml.patch 12810 BLAKE2B abcb44fea2ef4cd117f0eab62fd2e3fab6f5538ce378fd85d28027ff7878efd98d5fd1ef7bfb23bdbab9edda5fa11e753e2041c957fa71b5a3a52dd21b7d70d5 SHA512 fbc15358c087d4aadcf88aa39f83a861b18641e784949026cb256b33027088e71aa205adaf3940bc56042c1546f0bdcb444b1dedebd856c302720d1566ac1f97
AUX tomcat-instance-manager-r1.bash 6451 BLAKE2B 3bcd9dd4d3360a91f4a548c050eab6f7174453cfbe7b4a1a7167e122efa3ec2ea6c17c88de1f9223e21e773cf717ed04d79fe0b1e7fc816400033094a07a35c6 SHA512 3c8f994519d1ca5ff24229798786ad3d75dd20dbf8b3b81f6c0ccd121b978d2cb12633270f463a39ed5c4097e5869b1a4bfbf867994a64c5e41916e378038570
AUX tomcat-instance-manager-r2.bash 6999 BLAKE2B f1c771678bd8b894ecf242d5a8fb22f5b2f0f33445a1ff158c242b5154edc4483a5707ce33a5dcee53a3106e631ad8218243d8b72a32a10cd99e9646fa54085d SHA512 c30c156cbf2b53cf8498288bacaedd48872dce52f461ff32071310b438bdb5015c1cd1d512a2905c4db01e2b22342590e1b8aeadbd44f29062606fabbb2f2fed
AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b449601a89a4518286d61dbca76417265289782a7a08540d8e78a3ea1cd1427d43d87e24813261c0fee SHA512 3d32e2ad998adfbaea5fe0ffcbbe6659dcb530a110faed5f2712ae2fd767353b1fc3f1ac83a24d43138c1bfc55949e645833a428ab982be14415887fc46d9fab
AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d
DIST apache-tomcat-10.0.14-src.tar.gz 6074341 BLAKE2B e6607773aebb5b5279720cbcf667e9f82d752833a323dd611d411bcb48d6b0f42a98b9120d2bf29bb53e563f7f421194e92a41c89dadff76db2f6aaa171af64b SHA512 13614a410ecb7d5d1e4e6cc0e5dab9fe21809a8a70b3f42d5b0f75a2006d098857395858cdfacbe84349f73c1ce7eecca59c1bdeac809f434df8ae3f4cff46c1
+DIST apache-tomcat-10.0.16-src.tar.gz 6088262 BLAKE2B f02a5b08e4502d4e7be2fa14f8dae8760c2844f262cdc75e2cc821038d248ed961281d11f7bb847cf55ecf012ee05c870366508fb1fe1485da2100e87aa13c55 SHA512 44a1ac752077603c5366ec92c6a5860d33ce810bf2554190a013329106ec118d1a18d1a26823b3024d046b05160a20dda65573365451d0481be8be97218445c8
DIST apache-tomcat-7.0.109-src.tar.gz 5314401 BLAKE2B 56583caea6879bf8ca5cc02a886de3d7af413032f88d367653e709dc1c8f590e78620c788317bbff4b6e65dd3e242cc26863164ac8e7c87334a22636f3ed0703 SHA512 ecf9c0bee0e3e1aa24f299fe633705c5a2f6aa264d9e4968cfc96aa5d0a425c2b0ff07765a8b6c67221766733bdfaed6e6c6377a8d0870d889e7063ce90a46ce
DIST apache-tomcat-8.5.73-src.tar.gz 5973026 BLAKE2B d3d275b7462a3bd2ce9ce03869e09e42ec0da064eb764cf8168b8d003431d075952f15c083b5486e006629ec1f9dade154b0fceb20f2584168b36599c3c5485b SHA512 6190d78e2dd5d478131443807e464821a337c5c6c24ee91953fece377ad1c758339ce1588a7a5e90443ababac239b45e4aaa0422d68cba988d7c3da5fe95d1c6
+DIST apache-tomcat-8.5.75-src.tar.gz 5961981 BLAKE2B a8d3c0ef390ce6b12b09cedb71cd9c102e3a37265f7ef6db9797eb7eaf04429f75bdedf6a7dbaa7ade0b57a12cbb461498c37d9c7e234bb9dc98e3d095b66b8a SHA512 c1c2609db623eb94a5e177c0f7ccabf8753a34151961ddc0fdea47704aca86123ef63f746b7ca76e818185cae19121823f7700f9bd47ba27625b3c801ddc8bad
DIST apache-tomcat-9.0.56-src.tar.gz 6138381 BLAKE2B 5e49287531fcb9bcb80ba124ed83fc3acbf3406b53424c3be5c2b3fb04da86785ba9e3ef89283c3ebb88bc8aadf8211328608edf068f0d7733c2f0ec0401d7ce SHA512 43332241fda149f9da107496cc6b812e38544c9043c567e3fe11ee01b5abfbd02b6a377c3f6090902048bd9dc67746cdc65d59f03bd0de68c05e0955bfe018c5
+DIST apache-tomcat-9.0.58-src.tar.gz 6142037 BLAKE2B 0515273882468958f5bc2ef95e3085c22975e0ec9f8153a20773266a43710645c2262da8cb10736f0f0b255716fa05a12252194e1f32851704364ef89a62e5e9 SHA512 b2b572dcad2efadf3e5e5a6ae6e108f5699af23b7751ca3c9c00e6ba896f5179745108fa602d8bd87a9611fd8bebe8817fad53c38fc75b0063835b953c67d74a
DIST biz.aQute.bnd-5.1.1.jar 16088761 BLAKE2B 59906cc39ea27ef20cbf82de1ba78096f34dc417da6dc5c28e21f6e92c0625efecf14cec6c5faf0ab17551c31a6c87a24614c2ac75ac902cfea30199ecc0d39f SHA512 8092b083e7b86e75bf27233964763b88bee74d8ae141c85e387c1cc8bd0cbf3a54be27afea29931fb3ae950700a515fd4a28cfe8e7f26cbaaec506aa06357a37
DIST biz.aQute.bndlib-5.1.1.jar 3652944 BLAKE2B dad9f9835fb407a36e0eae4b65fa2fda147e06ab3f3211a2ed2f1631aeccd6d14d198c325793cb1ce9a57b719a836db230d0452715744ba5a4a6c2983c17916b SHA512 d7da056ba541ae0862159bf5e38e1a5351b2ab5388c88733b46601c2d7dab8970f16af00df186a6cb67fbe81ef53f2c8402db9d28a8c6819dadf60a1df40879b
EBUILD tomcat-10.0.14.ebuild 5920 BLAKE2B 6bc1cb899bfac912196be33f6e4f03dda576987af8786ae5233981b930a39d1b1f7600410d7a0c9cb80e8a0e345e12218de8129121c58480c882ba4f350b12c6 SHA512 7a68ce76cb33398a8a4d3a1eb93139be2f14e5e22c75421dc03136aeed06a8bcc3d5d5bd94bea93d8f8c6c2d0625fb0c2d1aac73838ff3d6eaeaddf900b6fd6b
+EBUILD tomcat-10.0.16.ebuild 6075 BLAKE2B 317c30319760eb933c9b2b4b4501e890269711106bbc66c4325d3786028803f7adafc81453d712cb7b9a6ede4a4e57a0b067528ba480180a883398cfd81bb097 SHA512 15f2b9868d46a9e1a8f4a86fd1f4a77aee150913721f5b1b9870a467f82fd8522f4ba4c0e21cc82b3c37218ee4432fc96dd16aedac832edcb3ef7da9f0d47eca
EBUILD tomcat-7.0.109.ebuild 4147 BLAKE2B 8023fb9265a3e57bbdb506559bfe9a337f566e09b6cccd0e74e84341e54d1434134eb0aecaf72a97113826d8f7359dea1e5672db44e9dfb706b020cf79c51802 SHA512 0730da2fe90a5fa203e03eef5044eb8b90c5b800d064d65467370834b788c3de03ea5c57ccfe20b29deac9c560c68029e94a80be180b240356565121d453a2a4
EBUILD tomcat-8.5.73.ebuild 4736 BLAKE2B 99ac3fe1e217729c87256b892cbd781cbda8f3235b526d19f087fcb39613f725825fde1802c013427c5b2621ca9e1380a2afe0f7fc4600570c640619d52cef0a SHA512 122f809b5148b3da0e83a3fe2e3fc4db4a6db8e0b8ec1270cde7a282ee074eaba6a8b716814b2065b9f29730a8dca221712830088f378417dd47789ab0174c62
+EBUILD tomcat-8.5.75.ebuild 4737 BLAKE2B 41235f088de26b4a0d57701222e90b8bea1ce2707e95961d489e60ef5ac1f9eb9deaa442565806eb1b20c93d11952c11d81838ba281d1625175e2583c67952dd SHA512 ba954f5453886661a2c5a32728f5a00b8a65dd8c7b9ade351db780b8bf20157b80037a4f6208cb4aa1cfe9dc70b9f254c7f5121eeb457d4d5a723f24bb49f4f3
EBUILD tomcat-9.0.56.ebuild 5632 BLAKE2B 616ff7cfe9e1e408be386a2c6f9146370440ac4cd84a3afa15893bc5e00afa73a47b8760d5c2434099b38cfaa069bd65f23efe78eee64b0abcbf499bb72a97d4 SHA512 9eca0997e3559fad1b90b567a68e915e6d22a25e05eacd08cb7abba0575e7e6db76168a3aa1fd33d60b19754d6082f1578417deb4c04ae82fb1575531e50709a
+EBUILD tomcat-9.0.58.ebuild 5632 BLAKE2B 18ddc948faf4d3362d28fdceddc313b27d426f21b49ff7897bdfede53ad5d1cf0c4aa034ace1947ff069cfd2e0e8beee761c2568937e3dd655d7db67e862360f SHA512 66563e46611616f48c939ea87dcf85634af05edf1ea50aa35cc43bcfccc783a0c14087af1940b97451c5ef2a6e93b294600c5956e034fc82498368ccec546aa9
MISC metadata.xml 713 BLAKE2B 8a4ecfb2190e156b77598a825550953f936ddc1a1303a95bcae173592ac4f482e81af1d7b62bc62248c20ac92cdd1dd3a9c351c74f684193085c0b242043fee7 SHA512 946fed270cb43e9c239f6f831ac2e8021526a9c3b1b8fea91d00d1b48f979273de3f7c227bce03009de04bcc8386803606864ffdb85666005d6b0ef5c49f01c5
diff --git a/www-servers/tomcat/files/tomcat-10.0.16-build.xml-strip-html5.patch b/www-servers/tomcat/files/tomcat-10.0.16-build.xml-strip-html5.patch
new file mode 100644
index 000000000000..44f629ec29b0
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-10.0.16-build.xml-strip-html5.patch
@@ -0,0 +1,31 @@
+diff --git a/build.xml b/build.xml
+index 6b2b5d5..16d55c2 100644
+--- a/build.xml
++++ b/build.xml
+@@ -2148,7 +2148,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ encoding="UTF-8"
+ docencoding="UTF-8"
+ charset="UTF-8"
+- additionalparam="-breakiterator -notimestamp -html5"
++ additionalparam="-breakiterator -notimestamp"
+ source="${compile.release}"
+ maxmemory="512m"
+ failonerror="true">
+@@ -2231,7 +2231,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ encoding="UTF-8"
+ docencoding="UTF-8"
+ charset="UTF-8"
+- additionalparam="-breakiterator -notimestamp -html5"
++ additionalparam="-breakiterator -notimestamp"
+ source="${compile.release}"
+ maxmemory="512m"
+ failonerror="true">
+@@ -2269,7 +2269,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ encoding="UTF-8"
+ docencoding="UTF-8"
+ charset="UTF-8"
+- additionalparam="-breakiterator -notimestamp -html5"
++ additionalparam="-breakiterator -notimestamp"
+ source="${compile.release}"
+ maxmemory="512m"
+ failonerror="true">
diff --git a/www-servers/tomcat/files/tomcat-10.0.16-build.xml.patch b/www-servers/tomcat/files/tomcat-10.0.16-build.xml.patch
new file mode 100644
index 000000000000..38b3a335eca6
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-10.0.16-build.xml.patch
@@ -0,0 +1,349 @@
+diff --git a/build.xml b/build.xml
+index 33a4fde..6b2b5d5 100644
+--- a/build.xml
++++ b/build.xml
+@@ -1012,6 +1012,7 @@
+ addOSGi="true" />
+
+ <!-- Servlet Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+@@ -1019,21 +1020,23 @@
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license"
+ addOSGi="true" />
+-
++-->
+ <!-- EL Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- JSP Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- WebSocket API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+ filesDir="${tomcat.classes}"
+@@ -1146,10 +1149,10 @@
+ addOSGi="true" />
+
+ <!-- Re-packaged Apache Commons DBCP 2-->
+- <jarIt jarfile="${tomcat-dbcp.jar}"
++<!-- <jarIt jarfile="${tomcat-dbcp.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.tomcat-dbcp"
+- addOSGi="true" />
++ addOSGi="true" /> -->
+
+ <!-- i18n JARs -->
+ <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
+@@ -1386,9 +1389,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1448,7 +1451,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Delete all other versions of Tomcat Migration Tool for Jakarta EE and copy the current one -->
+ <local name="migration.jar.filename" />
+@@ -1459,7 +1462,7 @@
+ <exclude name="${migration-lib.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1498,7 +1501,7 @@
+
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1514,7 +1517,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1617,9 +1620,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -2117,11 +2122,12 @@
+ </copy>
+
+ <!-- Source bundles for native components -->
++<!--
+ <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+ <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
+ file="${commons-daemon.native.src.tgz}" />
+-
++-->
+ <!-- platform README files -->
+ <echo append="false" file="${tomcat.dist}/bin/x64/README">
+ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+@@ -2145,13 +2151,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++<!--
+ <javadoc packagenames="jakarta.servlet.*"
+ excludepackagenames="jakarta.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -2167,8 +2173,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2188,8 +2193,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2209,13 +2213,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="jakarta.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2230,8 +2234,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2250,8 +2253,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ charset="UTF-8"
+ additionalparam="-breakiterator -notimestamp"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2270,21 +2272,24 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp -html5"
+ source="${compile.release}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+ <path location="${osgi-annotations.jar}"/>
+ </classpath>
+ <link href="../annotationapi"/>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="../jaspicapi"/>
++<!--
+ <link href="https://docs.oracle.com/javase/8/docs/api/"/>
+ <link href="https://javaee.github.io/javaee-spec/javadocs/"/>
++-->
+ <packageset dir="${tomcat.dist}/src/java/">
+ <include name="org/**"/>
+ <exclude name="org/apache/el/parser/**"/>
+@@ -3103,7 +3108,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -3222,7 +3227,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -3277,13 +3282,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3405,7 +3410,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3422,7 +3427,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadgz-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3447,7 +3452,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3463,7 +3468,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadzip-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3487,7 +3492,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3502,7 +3507,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadfile-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3530,7 +3535,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3541,7 +3546,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3552,7 +3557,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
+@@ -3570,7 +3575,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho
+
+ <target name="ide-intellij"
+ depends="download-compile, download-test-compile"
+- description="Creates project directory .idea for IntelliJ IDEA">
++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget">
+
+ <copy todir="${tomcat.home}/.idea">
+ <fileset dir="${tomcat.home}/res/ide-support/idea"/>
diff --git a/www-servers/tomcat/files/tomcat-9.0.58-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.58-build.xml.patch
new file mode 100644
index 000000000000..51f97e72e0b2
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-9.0.58-build.xml.patch
@@ -0,0 +1,321 @@
+diff --git a/build.xml b/build.xml
+index a51cbfb..43596ac 100644
+--- a/build.xml
++++ b/build.xml
+@@ -1036,6 +1036,7 @@
+ addOSGi="true" />
+
+ <!-- Servlet Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+@@ -1043,21 +1044,23 @@
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license"
+ addOSGi="true" />
+-
++-->
+ <!-- EL Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- JSP Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- WebSocket API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+ filesDir="${tomcat.classes}"
+@@ -1170,10 +1173,10 @@
+ addOSGi="true" />
+
+ <!-- Re-packaged Apache Commons DBCP 2-->
+- <jarIt jarfile="${tomcat-dbcp.jar}"
++<!-- <jarIt jarfile="${tomcat-dbcp.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.tomcat-dbcp"
+- addOSGi="true" />
++ addOSGi="true" /> -->
+
+ <!-- i18n JARs -->
+ <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
+@@ -1410,9 +1413,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1472,7 +1475,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1515,7 +1518,7 @@
+
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1531,7 +1534,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1634,9 +1637,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -2139,11 +2144,12 @@
+ </copy>
+
+ <!-- Source bundles for native components -->
++<!--
+ <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+ <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
+ file="${commons-daemon.native.src.tgz}" />
+-
++-->
+ <!-- platform README files -->
+ <echo append="false" file="${tomcat.dist}/bin/x64/README">
+ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+@@ -2167,13 +2173,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -2238,6 +2244,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2252,8 +2259,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2272,8 +2278,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ charset="UTF-8"
+ additionalparam="-breakiterator -notimestamp"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+@@ -2292,21 +2297,24 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
+ maxmemory="512m"
+- failonerror="true"
+- failonwarning="true">
++ failonerror="true">
+ <classpath>
+ <path refid="compile.classpath"/>
+ <path location="${ant.core.lib}"/>
+ <path location="${osgi-annotations.jar}"/>
+ </classpath>
+ <link href="../annotationapi"/>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="../jaspicapi"/>
++<!--
+ <link href="https://docs.oracle.com/javase/8/docs/api/"/>
+ <link href="https://javaee.github.io/javaee-spec/javadocs/"/>
++-->
+ <packageset dir="${tomcat.dist}/src/java/">
+ <include name="org/**"/>
+ <exclude name="org/apache/el/parser/**"/>
+@@ -3071,7 +3079,7 @@ skip.installer property in build.properties" />
+
+ <target name="download-compile"
+ description="Download components necessary to compile"
+- depends="setup-bnd">
++ depends="setup-bnd" unless="noget">
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -3115,7 +3123,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -3234,7 +3242,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -3289,13 +3297,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3417,7 +3425,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3434,7 +3442,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadgz-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3459,7 +3467,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3475,7 +3483,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadzip-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3499,7 +3507,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3514,7 +3522,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadfile-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3542,7 +3550,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3553,7 +3561,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3564,7 +3572,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
+@@ -3582,7 +3590,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho
+
+ <target name="ide-intellij"
+ depends="download-compile, download-test-compile"
+- description="Creates project directory .idea for IntelliJ IDEA">
++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget">
+
+ <copy todir="${tomcat.home}/.idea">
+ <fileset dir="${tomcat.home}/res/ide-support/idea"/>
diff --git a/www-servers/tomcat/tomcat-10.0.16.ebuild b/www-servers/tomcat/tomcat-10.0.16.ebuild
new file mode 100644
index 000000000000..39f9b89f0c29
--- /dev/null
+++ b/www-servers/tomcat/tomcat-10.0.16.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${PN}-${PV}-src"
+
+# Currently we bundle binary versions of bnd.jar and bndlib.jar
+# See bugs #203080 and #676116
+BND_VERSION="5.1.1"
+BND="biz.aQute.bnd-${BND_VERSION}.jar"
+BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
+
+DESCRIPTION="Tomcat Servlet-5.0/JSP-3.0/EL-4.0/WebSocket-2.0/JASIC-2.0 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
+
+LICENSE="Apache-2.0"
+SLOT="10"
+KEYWORDS="~amd64 ~amd64-linux"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.15"
+SAPI_SLOT="5.0"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/jakartaee-migration:0
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
+ dev-java/wsdl4j:0"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ dev-java/ant-core
+ virtual/jdk:1.8
+ test? (
+ dev-java/ant-junit:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0.50-insufficient-ecj.patch"
+)
+
+BND_HOME="${S}/tomcat-build-libs/bnd"
+BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
+BND_JAR="${BND_HOME}/${BND}"
+BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+
+ mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
+ ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
+ ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
+}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/jakarta/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-10.0.16-build.xml.patch"
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ [[ "${vm_version}" == "1.8" ]] && eapply "${FILESDIR}/${PN}-10.0.16-build.xml-strip-html5.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},jakartaee-migration,tomcat-servlet-api-${SAPI_SLOT},wsdl4j"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_configure() {
+ java-ant-2_src_configure
+
+ eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch"
+}
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only glassfish-xmlrpc-api)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "Please note that since version 10 the primary package for all implemented APIs"
+ ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code"
+ ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later."
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tomcat/tomcat-8.5.75.ebuild b/www-servers/tomcat/tomcat-8.5.75.ebuild
new file mode 100644
index 000000000000..24cff827f6b7
--- /dev/null
+++ b/www-servers/tomcat/tomcat-8.5.75.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${P}-src"
+
+DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="8.5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.5"
+SAPI_SLOT="3.1"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ dev-java/ant-core
+ virtual/jdk:1.8
+ doc? (
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/wsdl4j:0
+ )
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/javax/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-8.5.66-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
+ use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only glassfish-xmlrpc-api glassfish-xmlrpc-api.jar):$(java-pkg_getjar --build-only wsdl4j wsdl4j.jar)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tomcat/tomcat-9.0.58.ebuild b/www-servers/tomcat/tomcat-9.0.58.ebuild
new file mode 100644
index 000000000000..f022f3e7ea9c
--- /dev/null
+++ b/www-servers/tomcat/tomcat-9.0.58.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${PN}-${PV}-src"
+
+# Currently we bundle binary versions of bnd.jar and bndlib.jar
+# See bugs #203080 and #676116
+BND_VERSION="5.1.1"
+BND="biz.aQute.bnd-${BND_VERSION}.jar"
+BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
+
+DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
+
+LICENSE="Apache-2.0"
+SLOT="9"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.15"
+SAPI_SLOT="4.0"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ dev-java/glassfish-xmlrpc-api:0
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
+ dev-java/wsdl4j:0"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ >=dev-java/ant-core-1.9.13
+ virtual/jdk:1.8
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0.50-insufficient-ecj.patch"
+)
+
+BND_HOME="${S}/tomcat-build-libs/bnd"
+BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
+BND_JAR="${BND_HOME}/${BND}"
+BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+
+ mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
+ ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
+ ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
+}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/javax/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-9.0.58-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT},wsdl4j"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_configure() {
+ java-ant-2_src_configure
+
+ eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch"
+}
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only glassfish-xmlrpc-api)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tornado/Manifest b/www-servers/tornado/Manifest
index 9b67a5946d57..191b22f27041 100644
--- a/www-servers/tornado/Manifest
+++ b/www-servers/tornado/Manifest
@@ -1,3 +1,3 @@
DIST tornado-6.1.tar.gz 497359 BLAKE2B ed5981dec5cca962f907f97b7f906c1eef40d2b2b6d6cc16a21bd0a0a91ee58a60bea84b7ceeeff30b3462d707c56a5062c71d4ac8f25ca6a306ded6c6f072c5 SHA512 0ec1db1fad911182bda547c177a18b107b906cf66576443069e2b986cf041b3d4ebe08e5a168aa5cd3b56547f32f8b384bacaf74db89f582951d7b610b7494e8
-EBUILD tornado-6.1.ebuild 1426 BLAKE2B aa9fb7674c06b17a6175ce573144b4159b5a461e0283e732fa84bad4151fb36381d2b81c411cdf09290945e4ee25f0adbe423b175a6d79d10b93136c7c4401fc SHA512 6089bb6c2fbf7a9aedbb2ea01a2b923634313248c8f05323a731770cb6044a26fbbcc6ceacf0fc07ec098c44acb45ec239cc927e09db9bed874322f6ddcba640
+EBUILD tornado-6.1.ebuild 1432 BLAKE2B 8756030c4c9df6500656e11d133d3da2de765624a840ec9f6b00c5233ee3a0cdd9c5fc72187476610a1a32ae1009a99dac8daf5ba1445f8486e0d4ee4a90553f SHA512 eec81e174587b4570f426a986decec238643948ca765113e1a432906a4155380ceb5c1546e7221c7a12d1d3c9f5ae9758986ba9a609f162ec48586150c59f38d
MISC metadata.xml 381 BLAKE2B 96d5942b11b6364eeac2248f6e92a9e7a54094ba2b6e9ef966be4143e1fa01fa0c417027d33a71c51bb094b905b9ff79e05107e1a9debb4b1ef932ba11fd8565 SHA512 cd4db13e0c6a9cf8b3c788c53dc5ecd0dce2cf783e7b2d67dba71299d1c6a3d1dd2c2a76c0d69816ab0da4ca23f831613323c55864fd858690c605da5426bf60
diff --git a/www-servers/tornado/tornado-6.1.ebuild b/www-servers/tornado/tornado-6.1.ebuild
index 07dc01f2ed59..2f2533b8e189 100644
--- a/www-servers/tornado/tornado-6.1.ebuild
+++ b/www-servers/tornado/tornado-6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="examples test"
RESTRICT="!test? ( test )"
diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest
index 0a4bef321e05..302f1f98a2e9 100644
--- a/www-servers/uwsgi/Manifest
+++ b/www-servers/uwsgi/Manifest
@@ -1,6 +1,9 @@
AUX gentoo.buildconf 490 BLAKE2B 320b0471c0c76ab6c8ada7b034f612fc20398eb60e1edc3530be9d177bff755779251ea880d98addacf5476e3aae20145c95fad4d7baf594e58b9ebcaf2b0dde SHA512 d5bdc136374aed58ce206ea72cc45c72750f60117eef98960356b5cd64e2152c454af6b5aebb28f03ad46b42ea95a16fbf1e4a6f976ae78744550803ac775fe2
+AUX uwsgi-2.0.19.1-py310-fix-2.patch 731 BLAKE2B 401b03e888b8a081cddf34ab16197fd728cfbfb5c877206c0b1f65f1b1e5ef335fa3d45bf1e7786b555fc4dbbe1a9b0fd29a4bcce0be70e605bf20ca2f0e3c3c SHA512 303b25095db88a1e84a9b212c0381f8e6025f2b9bc1913882b7e376fce300575c10ceb7666fbb9622536950ee0a0c2496fca5aea20f532d7e2f3fb299e17bbbb
+AUX uwsgi-2.0.19.1-py310-fix.patch 1457 BLAKE2B 35859fabde74604a67d0fe71dbf2889465ffc4a3de7ded343c44e9accbb49daa6d45992b7b824e6fc6c0be1a84884e13ed31cc2846ccafc659ef3be06d703f62 SHA512 42fa8fd537385dcb2cf088291d249c584cce2965c4131e45ee58c7cb6d0789b5f84bc9473925700bd55a5f75667cbc361130684c28d44b597e8e66246a63b2d2
+AUX uwsgi-2.0.19.1-pynode-compile.patch 3950 BLAKE2B 4ec0f5357b7b99f3365ddfbc8643ecd8c96eb227ccc8bee78948170a00d4bce89cdaeeff3de5d2be25c428e5a7e4da220d023daff8b783deea421dc0bc67e972 SHA512 de076448c43195de0ca7fd198787de60bf29d3966ff3f6c8f0b2bacc6d29a50e4b622aeba6de56489ecae808648b099cb6bfa5322aa1d30c31d607debd6f9c6b
AUX uwsgi.confd-r4 1849 BLAKE2B 80afdf7a5ebc520d887061aba9f7cd64b1bca06d3da478d8d1090a8b9cba973ac2d3dbcbc2ceb980415e98317bc55b07a9a7e6641fac593dc4dd5466bd8d67c9 SHA512 041d1bd694fad6f7c5e28944aab6d7ba53b3c7fc990ce6b7c2d97b9f3d6650c46dda8069e545c252a7400e1d825c8e46d7393a289757b1bd665e64241ca3789a
AUX uwsgi.initd-r7 3746 BLAKE2B a56c5f4e32ccb415fab10f357e2a7404179285e656d9f886809da281b214e2110c76e2cf8826d8fd90aba01262a5edc7a941522ff59348972c5a4325c784b9b9 SHA512 81ed974fb2957e05c890cab29f5b5a75845e6b7de899d2695fb2fa5f49b4545daa437c81c8dc5c735b24a45655cf6320c9256bc8faa7e32ffd7a2d981922def5
DIST uwsgi-2.0.19.1.tar.gz 804398 BLAKE2B 73fc19990866eb1058a742b34a817b3bd87e00c838da055bece2bff5e13c161f53c642866ed591aa4afeb23ef924205502f2cb0a4cf9d303b5b63fb9a53f57e2 SHA512 34b55f7c7a77dc0b0dab34d1a9ca9a4cba8a9261969656c88435e7f32fe8a0c5654e1562706775f77e2f60c4ad0f5c6055257a23ab7d387c1579639e054807b5
-EBUILD uwsgi-2.0.19.1-r107.ebuild 11520 BLAKE2B 022aeefd01cd4a672f2dfdedf16e3c4a26e4ce6c28101073b0a2f030c0fb83ae2771f7b5cf547a176724b1226a8aad25e3439cf803593799e4d069000bb04cef SHA512 215b6f4af79daeb6e0b2cb14b688383951ab59d1429fc30532a8dae689d34db06efe48be024669ef367de5b6ecfb093259356f31c9b94d599aee6aaa9af62e01
+EBUILD uwsgi-2.0.19.1-r108.ebuild 11635 BLAKE2B f47b8b3dc6e53ded99c68420f91faeb170317e70e45cab831f79a512caa8c67719214432502dd8404e9b52ad6ec0d5ce9680d8f4604c15716bf4892462ba1dcd SHA512 e0f53bd589c945445d527d6e986874ab80d5a528640b3fdfbd5020e180067a1c6649c1157eb1f823b2ab48beb5f302666de72f64f4a6a98c0912ea612d40b1fd
MISC metadata.xml 1412 BLAKE2B c4f2831a4f5e53f49953045619adbe15ae45dc5d9c019eae8defe3de586121b3fe2292c9c7921b086d8bbf6a0c727ef1cd443c01df99e7532db9126f1b82bdb6 SHA512 2fa796e52f80dc37fe43190541675bd69a082932b00b8c92998b717d8a332300a12b19dab7cfdf1ebf0c1363252b6035a8f17e285bd86bbd685aaa2ac3464dd8
diff --git a/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch b/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch
new file mode 100644
index 000000000000..d175a99c65fb
--- /dev/null
+++ b/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch
@@ -0,0 +1,23 @@
+https://github.com/unbit/uwsgi/commit/94b28b156c26d5b0b4ba93fedb057e9aebf59545.patch
+
+From 94b28b156c26d5b0b4ba93fedb057e9aebf59545 Mon Sep 17 00:00:00 2001
+From: Thea Flowers <me@thea.codes>
+Date: Tue, 2 Nov 2021 16:29:36 -0400
+Subject: [PATCH] Add PY_SSIZE_T_CLEAN define for Python 3.10 support
+
+---
+ plugins/python/uwsgi_python.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/plugins/python/uwsgi_python.h b/plugins/python/uwsgi_python.h
+index aca1f83b7..ec64ad80c 100644
+--- a/plugins/python/uwsgi_python.h
++++ b/plugins/python/uwsgi_python.h
+@@ -1,4 +1,6 @@
+ #include <uwsgi.h>
++/* See https://docs.python.org/3.10/whatsnew/3.10.html#id2 */
++#define PY_SSIZE_T_CLEAN
+ #include <Python.h>
+
+ #include <frameobject.h>
+
diff --git a/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch b/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch
new file mode 100644
index 000000000000..8fe64d1b3d3b
--- /dev/null
+++ b/www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch
@@ -0,0 +1,36 @@
+https://github.com/unbit/uwsgi/commit/c8c4bd1b5439217f2cb2f146caf162de69638bc1
+
+From c8c4bd1b5439217f2cb2f146caf162de69638bc1 Mon Sep 17 00:00:00 2001
+From: Cyrille Pontvieux <cyrille@enialis.net>
+Date: Thu, 1 Jul 2021 12:45:29 +0200
+Subject: [PATCH] Allow to compile on Python versions with more that two digits
+ (Python 3.10)
+
+---
+ plugins/python/pyloader.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plugins/python/pyloader.c b/plugins/python/pyloader.c
+index d8ab6fe35..3a1465d67 100644
+--- a/plugins/python/pyloader.c
++++ b/plugins/python/pyloader.c
+@@ -22,7 +22,7 @@ PyMethodDef uwsgi_eventfd_write_method[] = { {"uwsgi_eventfd_write", py_eventfd_
+ void set_dyn_pyhome(char *home, uint16_t pyhome_len) {
+
+
+- char venv_version[15];
++ char venv_version[30];
+ PyObject *site_module;
+
+ PyObject *pysys_dict = get_uwsgi_pydict("sys");
+@@ -45,8 +45,8 @@ void set_dyn_pyhome(char *home, uint16_t pyhome_len) {
+ PyDict_SetItemString(pysys_dict, "prefix", venv_path);
+ PyDict_SetItemString(pysys_dict, "exec_prefix", venv_path);
+
+- venv_version[14] = 0;
+- if (snprintf(venv_version, 15, "/lib/python%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION) == -1) {
++ bzero(venv_version, 30);
++ if (snprintf(venv_version, 30, "/lib/python%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION) == -1) {
+ return;
+ }
+
diff --git a/www-servers/uwsgi/files/uwsgi-2.0.19.1-pynode-compile.patch b/www-servers/uwsgi/files/uwsgi-2.0.19.1-pynode-compile.patch
new file mode 100644
index 000000000000..6bcf04ae2bc3
--- /dev/null
+++ b/www-servers/uwsgi/files/uwsgi-2.0.19.1-pynode-compile.patch
@@ -0,0 +1,123 @@
+https://github.com/unbit/uwsgi/commit/8c890c84604a0477b46a66eab8a620733f596cc8
+
+From 8c890c84604a0477b46a66eab8a620733f596cc8 Mon Sep 17 00:00:00 2001
+From: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
+Date: Sun, 22 Nov 2020 18:20:19 +0100
+Subject: [PATCH] plugins/python: use Py_CompileString
+
+Instead of the deprecated PyParser_SimpleParseString, PyParser_SimpleParseFile
+and PyNode_Compile.
+While at it fixup a possible null pointer dereference when uwsgi_open_and_read
+returns an empty string.
+
+See https://bugs.python.org/issue40939
+---
+ plugins/python/pyloader.c | 12 +-----------
+ plugins/python/python_plugin.c | 36 ++++++++++++++--------------------
+ 2 files changed, 16 insertions(+), 32 deletions(-)
+
+diff --git a/plugins/python/pyloader.c b/plugins/python/pyloader.c
+index a63c375b5..d8ab6fe35 100644
+--- a/plugins/python/pyloader.c
++++ b/plugins/python/pyloader.c
+@@ -757,25 +757,15 @@ PyObject *uwsgi_eval_loader(void *arg1) {
+
+ PyObject *wsgi_eval_module, *wsgi_eval_callable = NULL;
+
+- struct _node *wsgi_eval_node = NULL;
+ PyObject *wsgi_compiled_node;
+
+- wsgi_eval_node = PyParser_SimpleParseString(code, Py_file_input);
+- if (!wsgi_eval_node) {
+- PyErr_Print();
+- uwsgi_log( "failed to parse <eval> code\n");
+- exit(UWSGI_FAILED_APP_CODE);
+- }
+-
+- wsgi_compiled_node = (PyObject *) PyNode_Compile(wsgi_eval_node, "uwsgi_eval_config");
+-
++ wsgi_compiled_node = Py_CompileString(code, "uwsgi_eval_config", Py_file_input);
+ if (!wsgi_compiled_node) {
+ PyErr_Print();
+ uwsgi_log( "failed to compile eval code\n");
+ exit(UWSGI_FAILED_APP_CODE);
+ }
+
+-
+ wsgi_eval_module = PyImport_ExecCodeModule("uwsgi_eval_config", wsgi_compiled_node);
+ if (!wsgi_eval_module) {
+ PyErr_Print();
+diff --git a/plugins/python/python_plugin.c b/plugins/python/python_plugin.c
+index 37d0b7bbf..79f29d43c 100644
+--- a/plugins/python/python_plugin.c
++++ b/plugins/python/python_plugin.c
+@@ -473,8 +473,7 @@ UWSGI_RELEASE_GIL
+
+ PyObject *uwsgi_pyimport_by_filename(char *name, char *filename) {
+
+- FILE *pyfile;
+- struct _node *py_file_node = NULL;
++ char *pycontent;
+ PyObject *py_compiled_node, *py_file_module;
+ int is_a_package = 0;
+ struct stat pystat;
+@@ -483,7 +482,7 @@ PyObject *uwsgi_pyimport_by_filename(char *name, char *filename) {
+
+ if (!uwsgi_check_scheme(filename)) {
+
+- pyfile = fopen(filename, "r");
++ FILE *pyfile = fopen(filename, "r");
+ if (!pyfile) {
+ uwsgi_log("failed to open python file %s\n", filename);
+ return NULL;
+@@ -507,37 +506,32 @@ PyObject *uwsgi_pyimport_by_filename(char *name, char *filename) {
+ }
+ }
+
+- py_file_node = PyParser_SimpleParseFile(pyfile, real_filename, Py_file_input);
+- if (!py_file_node) {
+- PyErr_Print();
+- uwsgi_log("failed to parse file %s\n", real_filename);
+- if (is_a_package)
++ fclose(pyfile);
++ pycontent = uwsgi_simple_file_read(real_filename);
++
++ if (!pycontent) {
++ if (is_a_package) {
+ free(real_filename);
+- fclose(pyfile);
++ }
++ uwsgi_log("no data read from file %s\n", real_filename);
+ return NULL;
+ }
+
+- fclose(pyfile);
+ }
+ else {
+ size_t pycontent_size = 0;
+- char *pycontent = uwsgi_open_and_read(filename, &pycontent_size, 1, NULL);
++ pycontent = uwsgi_open_and_read(filename, &pycontent_size, 1, NULL);
+
+- if (pycontent) {
+- py_file_node = PyParser_SimpleParseString(pycontent, Py_file_input);
+- if (!py_file_node) {
+- PyErr_Print();
+- uwsgi_log("failed to parse url %s\n", real_filename);
+- return NULL;
+- }
++ if (!pycontent) {
++ uwsgi_log("no data read from url %s\n", real_filename);
++ return NULL;
+ }
+ }
+
+- py_compiled_node = (PyObject *) PyNode_Compile(py_file_node, real_filename);
+-
++ py_compiled_node = Py_CompileString(pycontent, real_filename, Py_file_input);
+ if (!py_compiled_node) {
+ PyErr_Print();
+- uwsgi_log("failed to compile python file %s\n", real_filename);
++ uwsgi_log("failed to compile %s\n", real_filename);
+ return NULL;
+ }
+
diff --git a/www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild b/www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild
index 5f63f129cf8a..089c51e499e2 100644
--- a/www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild
+++ b/www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-1 )
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="threads(+)"
RUBY_OPTIONAL="yes"
@@ -17,7 +17,7 @@ USE_PHP="php7-3 php7-4" # deps must be registered separately below
MY_P="${P/_/-}"
-inherit flag-o-matic lua-single pax-utils php-ext-source-r3 python-r1 ruby-ng
+inherit lua-single pax-utils php-ext-source-r3 python-r1 ruby-ng
DESCRIPTION="uWSGI server for Python web applications"
HOMEPAGE="https://projects.unbit.it/uwsgi/"
@@ -128,6 +128,12 @@ RDEPEND="${CDEPEND}
uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}/${P}-py310-fix.patch"
+ "${FILESDIR}/${P}-pynode-compile.patch"
+ "${FILESDIR}/${P}-py310-fix-2.patch"
+)
+
S="${WORKDIR}/${MY_P}"
src_unpack() {
diff --git a/www-servers/varnish/Manifest b/www-servers/varnish/Manifest
index d735349686a5..156f2c4bf318 100644
--- a/www-servers/varnish/Manifest
+++ b/www-servers/varnish/Manifest
@@ -9,8 +9,8 @@ AUX varnishncsa.confd 84 BLAKE2B fbb338ec2163562d7679a7371cda3cd297449186bfcaa66
AUX varnishncsa.initd 716 BLAKE2B 33fd6b044ab50aef629fa4501eb4a78bd3d690db52b86a33d1d4e87c1da28088b9f25ce917d16a9ed777b1d6e1ece5a916af0c4ff293db82b94d264fd5baafa9 SHA512 1d0c781675ecba5adce02c37a02c431c4b44d64310a0945bff4f6f57f7d0c87cb7dda874311e44d667317d5beda113b62f4ba49c81534a0c078314b3fa15a512
DIST varnish-6.5.2.tgz 3464372 BLAKE2B 68a7bca159ed9539126f66d21450c87780b49b66a2d45a5abc7db6fe9d68c8526aa059546fb1d865de753736793e700611f4f110edb1c649f4e9753c4dfedacc SHA512 31673eaa95e5d3413cd3a4a6fb324c1f0ad2efb22b75409fc0e02c61446787eb167bd530ee5b0a199da4fc76cc36f3603984d86781f856cc6a4aac48260fe4ef
DIST varnish-6.6.1.tgz 3518308 BLAKE2B 6a88165394c0578427de20588ac2c17f502242bf94f30e9284f7bc2c271b77c3d6511a9dfb8d1cb6d75e1fc4563360fb0bec762aa17481fa598cb5e9d9527705 SHA512 af3ee1743af2ede2d3efbb73e5aa9b42c7bbd5f86163ec338c8afd1989c3e51ff3e1b40bed6b72224b5d339a74f22d6e5f3c3faf2fedee8ab4715307ed5d871b
-DIST varnish-7.0.0.tgz 3721912 BLAKE2B 872b9526a252ad5b3c1388363e3aedd68772a87dc2459dd25455c0c694f2c8b5a7897c8627183a92a8cdde10a8288084e8de88e87d329710290c49e2da538277 SHA512 39c694db4ec7b35236d12fe2c03036260d6799395b1c8bb5a58e96fc88d67dcaa5eb8bc75643540d3aa0edc1a8924d7d839e88293b0521fadef4cd12f466fb4b
+DIST varnish-7.0.1.tgz 3712763 BLAKE2B ec47b557d8623e349032ac48459ea0c636a4b2810b4354666a651b652b65389abedafd0b665ca1e8178ea2b8339be8fd782dc61e1245f9307e00d665a3c20500 SHA512 7541d50b03a113f0a13660d459cc4c2eb45d57fb19380ab56a5413a4e5d702f9c0856585f09aeea6084a239ad8c69017af3805a864540b4697e0eac29f00b408
EBUILD varnish-6.5.2.ebuild 2248 BLAKE2B b673e951aa702159c080bf53a3a021df476317987d6c14f872657a14480b158de0c6181b51f04432df6dab6fd03a10597d6a1d08c3af81d280def6b24df57fe0 SHA512 1aa8dbdc05d16694443bb8f83006257cc26ec73dc7ac402f24f0f53694214736260f7bf1aca76bd612efe848a98c2b8f0603e7cdf38ef5535ff321b922567b50
EBUILD varnish-6.6.1.ebuild 2384 BLAKE2B a546085652753ade2e1c67c6ea13cf5bc52bac3d09566e4678e22982e77577a3ce685f3e7d8112f4ffc019cd9837c9bab957fd98b97b918e8f88ce50ee93bd63 SHA512 e3f4414a0a9e7e3229a6fde701221ab0487e4cfb087938ec9266a02ab8a31ed799c10191add4b7b9022cd45b16a02c8b58df618492d05c8965b814ac7012879d
-EBUILD varnish-7.0.0.ebuild 2168 BLAKE2B a3f71cd70bc5409f80c4078dd56751967a916c31e0b1b2080f8650a8ab1deb5ead70dbaa03ba9a094bb15a2616c913b2592cefd526419b4d0b8611082e31bf6a SHA512 b9214f3ab879b83ea8d03a825a6091194d1d508906e912b1530307f84c1bb84e473ffc77a19916d03f5a6c03c3061f5629f9a282189777c7430ba6e897805400
+EBUILD varnish-7.0.1.ebuild 2168 BLAKE2B 8ff90982fdfc3fd11bc1df4e128f370a8e5992f66a42b28e0f899fd508eae947fc706bc73ba996b3a752bbbd101f1a3c92f63fd23f8efdd3bf6aee2289d80592 SHA512 419d179ab362c046243a241b91b6af4b06baa7425b0156adbeddaf818cdf93b486446d74fd74ba5132d52937c2fd45fffba6b6fea1c3f5de7596f3dcadaaa5bb
MISC metadata.xml 1155 BLAKE2B 84875f3204cf314d1cb22e323ae8edb4e439e11d165c019bdf959925236ee4df671a9dbfd5a98d4c8841f8ec19cf8e602b703052d9a864d7e3c652ffe40054f0 SHA512 34bad8011b4530abc02f35b1bacb3d632ea5d57da41162a246d5601d766f192448efb31445536e02485fa195ab5f5eb564b4a1886632d0fd32626184d1173db7
diff --git a/www-servers/varnish/varnish-7.0.0.ebuild b/www-servers/varnish/varnish-7.0.1.ebuild
index cbc2e0eb6a25..c8878790c48c 100644
--- a/www-servers/varnish/varnish-7.0.0.ebuild
+++ b/www-servers/varnish/varnish-7.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"