From fcc5224904648a8e6eb528d7603154160a20022f Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Wed, 2 Feb 2022 01:39:05 +0000
Subject: gentoo resync : 02.02.2022

---
 www-servers/Manifest.gz                            |  Bin 5040 -> 5030 bytes
 www-servers/apache/Manifest                        |    2 +-
 www-servers/apache/apache-2.4.52.ebuild            |    4 +-
 www-servers/lighttpd/Manifest                      |   14 +-
 www-servers/lighttpd/files/conf/lighttpd.conf      |  366 +++----
 www-servers/lighttpd/files/conf/lighttpd.conf-r1   |  309 ++++++
 www-servers/lighttpd/files/conf/mime-types.conf    |  328 +++---
 www-servers/lighttpd/files/conf/mod_cgi.conf       |   28 +-
 www-servers/lighttpd/files/conf/mod_fastcgi.conf   |   17 +-
 www-servers/lighttpd/files/lighttpd.initd-r1       |   79 ++
 www-servers/lighttpd/lighttpd-1.4.64.ebuild        |  236 +++++
 www-servers/lighttpd/metadata.xml                  |   28 +-
 www-servers/nginx-unit/Manifest                    |    8 +-
 www-servers/nginx-unit/metadata.xml                |    1 -
 www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild |   87 --
 www-servers/nginx-unit/nginx-unit-1.26.0.ebuild    |   89 --
 www-servers/nginx-unit/nginx-unit-1.26.1.ebuild    |    2 +-
 www-servers/nginx/Manifest                         |    3 +
 www-servers/nginx/nginx-1.21.6.ebuild              | 1081 ++++++++++++++++++++
 www-servers/puma/Manifest                          |    4 +-
 www-servers/puma/puma-5.5.2.ebuild                 |    4 +-
 www-servers/puma/puma-5.6.1.ebuild                 |   59 ++
 www-servers/tomcat/Manifest                        |    9 +
 .../tomcat-10.0.16-build.xml-strip-html5.patch     |   31 +
 .../tomcat/files/tomcat-10.0.16-build.xml.patch    |  349 +++++++
 .../tomcat/files/tomcat-9.0.58-build.xml.patch     |  321 ++++++
 www-servers/tomcat/tomcat-10.0.16.ebuild           |  195 ++++
 www-servers/tomcat/tomcat-8.5.75.ebuild            |  159 +++
 www-servers/tomcat/tomcat-9.0.58.ebuild            |  187 ++++
 www-servers/tornado/Manifest                       |    2 +-
 www-servers/tornado/tornado-6.1.ebuild             |    4 +-
 www-servers/uwsgi/Manifest                         |    5 +-
 .../uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch   |   23 +
 .../uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch     |   36 +
 .../files/uwsgi-2.0.19.1-pynode-compile.patch      |  123 +++
 www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild       |  376 -------
 www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild       |  382 +++++++
 www-servers/varnish/Manifest                       |    4 +-
 www-servers/varnish/varnish-7.0.0.ebuild           |   99 --
 www-servers/varnish/varnish-7.0.1.ebuild           |   99 ++
 40 files changed, 4064 insertions(+), 1089 deletions(-)
 create mode 100644 www-servers/lighttpd/files/conf/lighttpd.conf-r1
 create mode 100644 www-servers/lighttpd/files/lighttpd.initd-r1
 create mode 100644 www-servers/lighttpd/lighttpd-1.4.64.ebuild
 delete mode 100644 www-servers/nginx-unit/nginx-unit-1.22.0-r1.ebuild
 delete mode 100644 www-servers/nginx-unit/nginx-unit-1.26.0.ebuild
 create mode 100644 www-servers/nginx/nginx-1.21.6.ebuild
 create mode 100644 www-servers/puma/puma-5.6.1.ebuild
 create mode 100644 www-servers/tomcat/files/tomcat-10.0.16-build.xml-strip-html5.patch
 create mode 100644 www-servers/tomcat/files/tomcat-10.0.16-build.xml.patch
 create mode 100644 www-servers/tomcat/files/tomcat-9.0.58-build.xml.patch
 create mode 100644 www-servers/tomcat/tomcat-10.0.16.ebuild
 create mode 100644 www-servers/tomcat/tomcat-8.5.75.ebuild
 create mode 100644 www-servers/tomcat/tomcat-9.0.58.ebuild
 create mode 100644 www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix-2.patch
 create mode 100644 www-servers/uwsgi/files/uwsgi-2.0.19.1-py310-fix.patch
 create mode 100644 www-servers/uwsgi/files/uwsgi-2.0.19.1-pynode-compile.patch
 delete mode 100644 www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild
 create mode 100644 www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild
 delete mode 100644 www-servers/varnish/varnish-7.0.0.ebuild
 create mode 100644 www-servers/varnish/varnish-7.0.1.ebuild

(limited to 'www-servers')

diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index 415cf619fa15..976ec568fd13 100644
Binary files a/www-servers/Manifest.gz and b/www-servers/Manifest.gz 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-r107.ebuild
deleted file mode 100644
index 5f63f129cf8a..000000000000
--- a/www-servers/uwsgi/uwsgi-2.0.19.1-r107.ebuild
+++ /dev/null
@@ -1,376 +0,0 @@
-# Copyright 1999-2021 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_REQ_USE="threads(+)"
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby25 ruby26 ruby27 ruby30"
-
-PHP_EXT_INI="no"
-PHP_EXT_NAME="dummy"
-PHP_EXT_OPTIONAL_USE="php"
-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
-
-DESCRIPTION="uWSGI server for Python web applications"
-HOMEPAGE="https://projects.unbit.it/uwsgi/"
-SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 x86 ~amd64-linux"
-
-UWSGI_PLUGINS_STD=( ping cache carbon nagios rpc rrdtool
-	http ugreen signal syslog rsyslog
-	router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
-	{core,fast,raw,ssl}router
-	redislog mongodblog log{file,socket}
-	spooler cheaper_busyness symcall
-	transformation_{chunked,gzip,offload,tofile}
-	zergpool )
-UWSGI_PLUGINS_OPT=( alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
-	dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
-	geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
-	rados router_{access,radius,spnego,xmldir}
-	sqlite ssi stats_pusher_statsd
-	systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix )
-
-LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
-LANG_SUPPORT_EXTENDED=( go lua php python python-asyncio python-gevent ruby )
-
-# plugins to be ignored (for now):
-# cheaper_backlog2: example plugin
-# coroae: TODO
-# cplusplus: partially example code, needs explicit class
-# dummy: no idea
-# example: example plugin
-# exception_log: example plugin
-# *java*: TODO
-# v8: TODO
-# matheval: TODO
-IUSE="apache2 +caps debug +embedded expat jemalloc json +pcre +routing selinux +ssl +xml yajl yaml zeromq"
-
-for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
-for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
-IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
-
-REQUIRED_USE="|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
-	uwsgi_plugins_logcrypto? ( ssl )
-	uwsgi_plugins_sslrouter? ( ssl )
-	routing? ( pcre )
-	uwsgi_plugins_emperor_zeromq? ( zeromq )
-	uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
-	uwsgi_plugins_router_xmldir? ( xml !expat )
-	lua? ( ${LUA_REQUIRED_USE} )
-	python? ( ${PYTHON_REQUIRED_USE} )
-	python-asyncio? ( || ( $(python_gen_useflags -3) ) )
-	python-gevent? ( python )
-	expat? ( xml )"
-
-# util-linux is required for libuuid when requesting zeromq support
-# Order:
-# 1. Unconditional
-# 2. General features
-# 3. Plugins
-# 4. Language/app support
-CDEPEND="
-	sys-libs/zlib
-	virtual/libcrypt:=
-	caps? ( sys-libs/libcap )
-	json? (
-		!yajl? ( dev-libs/jansson:= )
-		yajl? ( dev-libs/yajl )
-	)
-	pcre? ( dev-libs/libpcre:3 )
-	ssl? ( dev-libs/openssl:0= )
-	xml? (
-		!expat? ( dev-libs/libxml2 )
-		expat? ( dev-libs/expat )
-	)
-	yaml? ( dev-libs/libyaml )
-	zeromq? ( net-libs/zeromq sys-apps/util-linux )
-	uwsgi_plugins_alarm_curl? ( net-misc/curl )
-	uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
-	uwsgi_plugins_curl_cron? ( net-misc/curl )
-	uwsgi_plugins_emperor_pg? ( dev-db/postgresql:= )
-	uwsgi_plugins_geoip? ( dev-libs/geoip )
-	uwsgi_plugins_ldap? ( net-nds/openldap )
-	uwsgi_plugins_pam? ( sys-libs/pam )
-	uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
-	uwsgi_plugins_rados? ( sys-cluster/ceph )
-	uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
-	uwsgi_plugins_router_spnego? ( virtual/krb5 )
-	uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
-	uwsgi_plugins_webdav? ( dev-libs/libxml2 )
-	uwsgi_plugins_xslt? ( dev-libs/libxslt )
-	go? ( sys-devel/gcc:=[go] )
-	lua? ( ${LUA_DEPS} )
-	mono? ( dev-lang/mono:= )
-	perl? ( dev-lang/perl:= )
-	php? (
-		php_targets_php7-3? ( dev-lang/php:7.3[embed] )
-		php_targets_php7-4? ( dev-lang/php:7.4[embed] )
-	)
-	python? ( ${PYTHON_DEPS} )
-	python-asyncio? ( virtual/python-greenlet[${PYTHON_USEDEP}] )
-	python-gevent? ( >=dev-python/gevent-1.3.5[${PYTHON_USEDEP}] )
-	ruby? ( $(ruby_implementations_depend) )"
-DEPEND="${CDEPEND}"
-RDEPEND="${CDEPEND}
-	selinux? ( sec-policy/selinux-uwsgi )
-	uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-src_unpack() {
-	echo ${PYTHON_USEDEP}
-	default
-}
-
-pkg_setup() {
-	python_setup
-	use lua && lua-single_pkg_setup
-	use ruby && ruby-ng_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	sed -i \
-		-e "s|'-O2', ||" \
-		-e "s|'-Werror', ||" \
-		-e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
-		uwsgiconfig.py || die "sed failed"
-
-	sed -i \
-		-e "s|/lib|/$(get_libdir)|" \
-		plugins/php/uwsgiplugin.py || die "sed failed"
-}
-
-src_configure() {
-	local embedded_plugins=()
-	local plugins=()
-	local malloc_impl="libc"
-	local json="false"
-	local xml="false"
-
-	for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
-		use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
-	done
-	for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
-		use ${p} && plugins+=("${p}")
-	done
-
-	# do not embed any plugins
-	if ! use embedded; then
-		plugins=( ${plugins[@]} ${embedded_plugins[@]} )
-		embedded_plugins=()
-	fi
-
-	# flatten the arrays
-	plugins=${plugins[@]}
-	embedded_plugins=${embedded_plugins[@]}
-
-	# rename some of the use flags, language plugins are always real plugins
-	plugins="${plugins/perl/psgi}"
-	plugins="${plugins/sqlite/sqlite3}"
-	embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
-
-	# override defaults as requested by the user
-	if use xml; then
-		use expat && xml="expat" || xml="libxml2"
-	fi
-	if use json; then
-		use yajl && json="yajl" || json="jansson"
-	fi
-	use jemalloc && malloc_impl="jemalloc"
-
-	# prepare the buildconf for gentoo
-	cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
-	sed -i \
-		-e "s|VAR_XML|${xml}|" \
-		-e "s|VAR_YAML|$(usex yaml libyaml true)|" \
-		-e "s|VAR_JSON|${json}|" \
-		-e "s|VAR_SSL|$(usex ssl true false)|" \
-		-e "s|VAR_PCRE|$(usex pcre true false)|" \
-		-e "s|VAR_ZMQ|$(usex zeromq true false)|" \
-		-e "s|VAR_ROUTING|$(usex routing true false)|" \
-		-e "s|VAR_DEBUG|$(usex debug true false)|" \
-		-e "s|VAR_MALLOC|${malloc_impl}|" \
-		-e "s|VAR_PLUGINS|${plugins// /, }|" \
-		-e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
-		-e "s|VAR_BUILD_DIR|${T}/plugins|" \
-		-e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
-		buildconf/gentoo.ini || die "sed failed"
-
-	if ! use caps; then
-		sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
-	fi
-
-	if ! use zeromq; then
-		sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
-	fi
-
-	if use uwsgi_plugins_emperor_pg ; then
-		PGPV="$(best_version dev-db/postgresql)"
-		PGSLOT="$(ver_cut 1-2 ${PGPV##dev-db/postgresql-})"
-		sed -i \
-			-e "s|pg_config|pg_config${PGSLOT/.}|" \
-			plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
-	fi
-}
-
-each_ruby_compile() {
-	cd "${WORKDIR}/${MY_P}" || die "sed failed"
-
-	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
-	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
-	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
-}
-
-python_compile_plugins() {
-	local EPYV
-	local PYV
-	EPYV=${EPYTHON/.}
-	PYV=${EPYV/python}
-
-	${PYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
-
-	if use python-asyncio ; then
-		if [[ "${PYV}" != "27" ]] ; then
-			${PYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
-		fi
-	fi
-
-	if use python-gevent ; then
-		${PYTHON} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${PYV} || die "building plugin for gevent-support in ${EPYTHON} failed"
-	fi
-
-	if use python-gevent || use python-asyncio; then
-			${PYTHON} uwsgiconfig.py --plugin plugins/greenlet gentoo greenlet${PYV} || die "building plugin for greenlet-support in ${EPYTHON} failed"
-	fi
-}
-
-python_install_symlinks() {
-	dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
-}
-
-src_compile() {
-	mkdir -p "${T}/plugins" || die
-
-	CPUCOUNT=1 python uwsgiconfig.py --build gentoo || die "building uwsgi failed"
-
-	if use go ; then
-		python uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
-	fi
-
-	if use lua ; then
-		# setting the name for the pkg-config file to lua, since that is the name
-		# provided by the wrapper from Lua eclasses
-		UWSGICONFIG_LUAPC="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
-	fi
-
-	if use php ; then
-		for s in $(php_get_slots); do
-			UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" python uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
-		done
-	fi
-
-	if use python ; then
-		python_foreach_impl python_compile_plugins
-	fi
-
-	if use ruby ; then
-		ruby-ng_src_compile
-	fi
-}
-
-src_install() {
-	dobin uwsgi
-	pax-mark m "${D}"/usr/bin/uwsgi
-
-	insinto /usr/$(get_libdir)/uwsgi
-	doins "${T}/plugins"/*.so
-
-	use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
-	use go && dosym uwsgi /usr/bin/uwsgi_go
-	use lua && dosym uwsgi /usr/bin/uwsgi_lua
-	use mono && dosym uwsgi /usr/bin/uwsgi_mono
-	use perl && dosym uwsgi /usr/bin/uwsgi_psgi
-
-	if use php ; then
-		for s in $(php_get_slots); do
-			dosym uwsgi /usr/bin/uwsgi_${s/.}
-		done
-	fi
-
-	if use python ; then
-		python_foreach_impl python_install_symlinks
-		python_foreach_impl python_domodule uwsgidecorators.py
-	fi
-
-	newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
-	newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
-	keepdir /etc/"${PN}".d
-	use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
-}
-
-pkg_postinst() {
-	if use apache2 ; then
-		ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
-		ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
-		ewarn "We therefore do not build them any more."
-		ewarn "    [1] https://bugs.gentoo.org/650776"
-		ewarn "    [2] https://github.com/unbit/uwsgi/issues/1636"
-	fi
-
-	elog "Append the following options to the uwsgi call to load the respective language plugin:"
-	use cgi    && elog "  '--plugins cgi' for cgi"
-	use lua    && elog "  '--plugins lua' for lua"
-	use mono   && elog "  '--plugins mono' for mono"
-	use perl   && elog "  '--plugins psgi' for perl"
-
-	if use php ; then
-		for s in $(php_get_slots); do
-			elog "  '--plugins ${s/.}' for ${s}"
-		done
-	fi
-
-	python_pkg_postinst() {
-		local EPYV
-		local PYV
-		EPYV=${EPYTHON/.}
-		PYV=${EPYV/python}
-
-		elog " "
-		elog "  '--plugins ${EPYV}' for ${EPYTHON}"
-		if use python-asyncio ; then
-			if [[ ${EPYV} == python34 ]] ; then
-				elog "  '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
-			else
-				elog "  (asyncio is only supported in python3.4)"
-			fi
-		fi
-		if use python-gevent ; then
-			elog "  '--plugins ${EPYV},gevent${PYV}' for gevent support in ${EPYTHON}"
-		fi
-	}
-
-	use python && python_foreach_impl python_pkg_postinst
-
-	if use ruby ; then
-		for ruby in $(ruby_get_use_implementations) ; do
-			elog "  '--plugins rack_${ruby/.}' for ${ruby}"
-			elog "  '--plugins fiber_${ruby/.}' for ${ruby} fibers"
-			elog "  '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
-		done
-	fi
-}
diff --git a/www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild b/www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild
new file mode 100644
index 000000000000..089c51e499e2
--- /dev/null
+++ b/www-servers/uwsgi/uwsgi-2.0.19.1-r108.ebuild
@@ -0,0 +1,382 @@
+# 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_{8..10} )
+PYTHON_REQ_USE="threads(+)"
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby25 ruby26 ruby27 ruby30"
+
+PHP_EXT_INI="no"
+PHP_EXT_NAME="dummy"
+PHP_EXT_OPTIONAL_USE="php"
+USE_PHP="php7-3 php7-4" # deps must be registered separately below
+
+MY_P="${P/_/-}"
+
+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/"
+SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 x86 ~amd64-linux"
+
+UWSGI_PLUGINS_STD=( ping cache carbon nagios rpc rrdtool
+	http ugreen signal syslog rsyslog
+	router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
+	{core,fast,raw,ssl}router
+	redislog mongodblog log{file,socket}
+	spooler cheaper_busyness symcall
+	transformation_{chunked,gzip,offload,tofile}
+	zergpool )
+UWSGI_PLUGINS_OPT=( alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
+	dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
+	geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
+	rados router_{access,radius,spnego,xmldir}
+	sqlite ssi stats_pusher_statsd
+	systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix )
+
+LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
+LANG_SUPPORT_EXTENDED=( go lua php python python-asyncio python-gevent ruby )
+
+# plugins to be ignored (for now):
+# cheaper_backlog2: example plugin
+# coroae: TODO
+# cplusplus: partially example code, needs explicit class
+# dummy: no idea
+# example: example plugin
+# exception_log: example plugin
+# *java*: TODO
+# v8: TODO
+# matheval: TODO
+IUSE="apache2 +caps debug +embedded expat jemalloc json +pcre +routing selinux +ssl +xml yajl yaml zeromq"
+
+for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
+for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
+IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
+
+REQUIRED_USE="|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
+	uwsgi_plugins_logcrypto? ( ssl )
+	uwsgi_plugins_sslrouter? ( ssl )
+	routing? ( pcre )
+	uwsgi_plugins_emperor_zeromq? ( zeromq )
+	uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
+	uwsgi_plugins_router_xmldir? ( xml !expat )
+	lua? ( ${LUA_REQUIRED_USE} )
+	python? ( ${PYTHON_REQUIRED_USE} )
+	python-asyncio? ( || ( $(python_gen_useflags -3) ) )
+	python-gevent? ( python )
+	expat? ( xml )"
+
+# util-linux is required for libuuid when requesting zeromq support
+# Order:
+# 1. Unconditional
+# 2. General features
+# 3. Plugins
+# 4. Language/app support
+CDEPEND="
+	sys-libs/zlib
+	virtual/libcrypt:=
+	caps? ( sys-libs/libcap )
+	json? (
+		!yajl? ( dev-libs/jansson:= )
+		yajl? ( dev-libs/yajl )
+	)
+	pcre? ( dev-libs/libpcre:3 )
+	ssl? ( dev-libs/openssl:0= )
+	xml? (
+		!expat? ( dev-libs/libxml2 )
+		expat? ( dev-libs/expat )
+	)
+	yaml? ( dev-libs/libyaml )
+	zeromq? ( net-libs/zeromq sys-apps/util-linux )
+	uwsgi_plugins_alarm_curl? ( net-misc/curl )
+	uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
+	uwsgi_plugins_curl_cron? ( net-misc/curl )
+	uwsgi_plugins_emperor_pg? ( dev-db/postgresql:= )
+	uwsgi_plugins_geoip? ( dev-libs/geoip )
+	uwsgi_plugins_ldap? ( net-nds/openldap )
+	uwsgi_plugins_pam? ( sys-libs/pam )
+	uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
+	uwsgi_plugins_rados? ( sys-cluster/ceph )
+	uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
+	uwsgi_plugins_router_spnego? ( virtual/krb5 )
+	uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
+	uwsgi_plugins_webdav? ( dev-libs/libxml2 )
+	uwsgi_plugins_xslt? ( dev-libs/libxslt )
+	go? ( sys-devel/gcc:=[go] )
+	lua? ( ${LUA_DEPS} )
+	mono? ( dev-lang/mono:= )
+	perl? ( dev-lang/perl:= )
+	php? (
+		php_targets_php7-3? ( dev-lang/php:7.3[embed] )
+		php_targets_php7-4? ( dev-lang/php:7.4[embed] )
+	)
+	python? ( ${PYTHON_DEPS} )
+	python-asyncio? ( virtual/python-greenlet[${PYTHON_USEDEP}] )
+	python-gevent? ( >=dev-python/gevent-1.3.5[${PYTHON_USEDEP}] )
+	ruby? ( $(ruby_implementations_depend) )"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-uwsgi )
+	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() {
+	echo ${PYTHON_USEDEP}
+	default
+}
+
+pkg_setup() {
+	python_setup
+	use lua && lua-single_pkg_setup
+	use ruby && ruby-ng_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	sed -i \
+		-e "s|'-O2', ||" \
+		-e "s|'-Werror', ||" \
+		-e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
+		uwsgiconfig.py || die "sed failed"
+
+	sed -i \
+		-e "s|/lib|/$(get_libdir)|" \
+		plugins/php/uwsgiplugin.py || die "sed failed"
+}
+
+src_configure() {
+	local embedded_plugins=()
+	local plugins=()
+	local malloc_impl="libc"
+	local json="false"
+	local xml="false"
+
+	for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
+		use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
+	done
+	for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
+		use ${p} && plugins+=("${p}")
+	done
+
+	# do not embed any plugins
+	if ! use embedded; then
+		plugins=( ${plugins[@]} ${embedded_plugins[@]} )
+		embedded_plugins=()
+	fi
+
+	# flatten the arrays
+	plugins=${plugins[@]}
+	embedded_plugins=${embedded_plugins[@]}
+
+	# rename some of the use flags, language plugins are always real plugins
+	plugins="${plugins/perl/psgi}"
+	plugins="${plugins/sqlite/sqlite3}"
+	embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
+
+	# override defaults as requested by the user
+	if use xml; then
+		use expat && xml="expat" || xml="libxml2"
+	fi
+	if use json; then
+		use yajl && json="yajl" || json="jansson"
+	fi
+	use jemalloc && malloc_impl="jemalloc"
+
+	# prepare the buildconf for gentoo
+	cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
+	sed -i \
+		-e "s|VAR_XML|${xml}|" \
+		-e "s|VAR_YAML|$(usex yaml libyaml true)|" \
+		-e "s|VAR_JSON|${json}|" \
+		-e "s|VAR_SSL|$(usex ssl true false)|" \
+		-e "s|VAR_PCRE|$(usex pcre true false)|" \
+		-e "s|VAR_ZMQ|$(usex zeromq true false)|" \
+		-e "s|VAR_ROUTING|$(usex routing true false)|" \
+		-e "s|VAR_DEBUG|$(usex debug true false)|" \
+		-e "s|VAR_MALLOC|${malloc_impl}|" \
+		-e "s|VAR_PLUGINS|${plugins// /, }|" \
+		-e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
+		-e "s|VAR_BUILD_DIR|${T}/plugins|" \
+		-e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
+		buildconf/gentoo.ini || die "sed failed"
+
+	if ! use caps; then
+		sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
+	fi
+
+	if ! use zeromq; then
+		sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
+	fi
+
+	if use uwsgi_plugins_emperor_pg ; then
+		PGPV="$(best_version dev-db/postgresql)"
+		PGSLOT="$(ver_cut 1-2 ${PGPV##dev-db/postgresql-})"
+		sed -i \
+			-e "s|pg_config|pg_config${PGSLOT/.}|" \
+			plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
+	fi
+}
+
+each_ruby_compile() {
+	cd "${WORKDIR}/${MY_P}" || die "sed failed"
+
+	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
+	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
+	UWSGICONFIG_RUBYPATH="${RUBY}" python uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
+}
+
+python_compile_plugins() {
+	local EPYV
+	local PYV
+	EPYV=${EPYTHON/.}
+	PYV=${EPYV/python}
+
+	${PYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
+
+	if use python-asyncio ; then
+		if [[ "${PYV}" != "27" ]] ; then
+			${PYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
+		fi
+	fi
+
+	if use python-gevent ; then
+		${PYTHON} uwsgiconfig.py --plugin plugins/gevent gentoo gevent${PYV} || die "building plugin for gevent-support in ${EPYTHON} failed"
+	fi
+
+	if use python-gevent || use python-asyncio; then
+			${PYTHON} uwsgiconfig.py --plugin plugins/greenlet gentoo greenlet${PYV} || die "building plugin for greenlet-support in ${EPYTHON} failed"
+	fi
+}
+
+python_install_symlinks() {
+	dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
+}
+
+src_compile() {
+	mkdir -p "${T}/plugins" || die
+
+	CPUCOUNT=1 python uwsgiconfig.py --build gentoo || die "building uwsgi failed"
+
+	if use go ; then
+		python uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
+	fi
+
+	if use lua ; then
+		# setting the name for the pkg-config file to lua, since that is the name
+		# provided by the wrapper from Lua eclasses
+		UWSGICONFIG_LUAPC="lua" python uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
+	fi
+
+	if use php ; then
+		for s in $(php_get_slots); do
+			UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" python uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
+		done
+	fi
+
+	if use python ; then
+		python_foreach_impl python_compile_plugins
+	fi
+
+	if use ruby ; then
+		ruby-ng_src_compile
+	fi
+}
+
+src_install() {
+	dobin uwsgi
+	pax-mark m "${D}"/usr/bin/uwsgi
+
+	insinto /usr/$(get_libdir)/uwsgi
+	doins "${T}/plugins"/*.so
+
+	use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
+	use go && dosym uwsgi /usr/bin/uwsgi_go
+	use lua && dosym uwsgi /usr/bin/uwsgi_lua
+	use mono && dosym uwsgi /usr/bin/uwsgi_mono
+	use perl && dosym uwsgi /usr/bin/uwsgi_psgi
+
+	if use php ; then
+		for s in $(php_get_slots); do
+			dosym uwsgi /usr/bin/uwsgi_${s/.}
+		done
+	fi
+
+	if use python ; then
+		python_foreach_impl python_install_symlinks
+		python_foreach_impl python_domodule uwsgidecorators.py
+	fi
+
+	newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
+	newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
+	keepdir /etc/"${PN}".d
+	use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
+}
+
+pkg_postinst() {
+	if use apache2 ; then
+		ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
+		ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
+		ewarn "We therefore do not build them any more."
+		ewarn "    [1] https://bugs.gentoo.org/650776"
+		ewarn "    [2] https://github.com/unbit/uwsgi/issues/1636"
+	fi
+
+	elog "Append the following options to the uwsgi call to load the respective language plugin:"
+	use cgi    && elog "  '--plugins cgi' for cgi"
+	use lua    && elog "  '--plugins lua' for lua"
+	use mono   && elog "  '--plugins mono' for mono"
+	use perl   && elog "  '--plugins psgi' for perl"
+
+	if use php ; then
+		for s in $(php_get_slots); do
+			elog "  '--plugins ${s/.}' for ${s}"
+		done
+	fi
+
+	python_pkg_postinst() {
+		local EPYV
+		local PYV
+		EPYV=${EPYTHON/.}
+		PYV=${EPYV/python}
+
+		elog " "
+		elog "  '--plugins ${EPYV}' for ${EPYTHON}"
+		if use python-asyncio ; then
+			if [[ ${EPYV} == python34 ]] ; then
+				elog "  '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
+			else
+				elog "  (asyncio is only supported in python3.4)"
+			fi
+		fi
+		if use python-gevent ; then
+			elog "  '--plugins ${EPYV},gevent${PYV}' for gevent support in ${EPYTHON}"
+		fi
+	}
+
+	use python && python_foreach_impl python_pkg_postinst
+
+	if use ruby ; then
+		for ruby in $(ruby_get_use_implementations) ; do
+			elog "  '--plugins rack_${ruby/.}' for ${ruby}"
+			elog "  '--plugins fiber_${ruby/.}' for ${ruby} fibers"
+			elog "  '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
+		done
+	fi
+}
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.0.ebuild
deleted file mode 100644
index cbc2e0eb6a25..000000000000
--- a/www-servers/varnish/varnish-7.0.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit autotools systemd python-r1
-
-DESCRIPTION="Varnish is a state-of-the-art, high-performance HTTP accelerator"
-HOMEPAGE="https://varnish-cache.org/"
-SRC_URI="http://varnish-cache.org/_downloads/${P}.tgz"
-
-LICENSE="BSD-2 GPL-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~mips ~ppc ~ppc64 ~x86"
-IUSE="jemalloc jit static-libs"
-
-CDEPEND="
-	sys-libs/readline:0=
-	dev-libs/libpcre[jit?]
-	jemalloc? ( dev-libs/jemalloc )
-	sys-libs/ncurses:0="
-
-#varnish compiles stuff at run time
-RDEPEND="
-	${PYTHON_DEPS}
-	${CDEPEND}
-	acct-user/varnish
-	acct-group/varnish
-	sys-devel/gcc"
-
-DEPEND="
-	${CDEPEND}
-	dev-python/docutils
-	dev-python/sphinx
-	virtual/pkgconfig"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test" #315725
-
-src_prepare() {
-	# Remove -Werror bug #528354
-	sed -i -e 's/-Werror\([^=]\)/\1/g' configure.ac
-
-	# Upstream doesn't put varnish.m4 in the m4/ directory
-	# We link because the Makefiles look for the file in
-	# the original location
-	ln -sf ../varnish.m4 m4/varnish.m4
-
-	default
-	eautoreconf
-}
-
-src_configure() {
-	local myeconfargs=(
-		$(use_enable static-libs static)
-		$(use_enable jit pcre2-jit)
-		$(use_with jemalloc)
-	)
-	econf "${myeconfargs[@]}"
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	python_replicate_script "${D}/usr/share/varnish/vmodtool.py"
-
-	newinitd "${FILESDIR}"/varnishlog.initd varnishlog
-	newconfd "${FILESDIR}"/varnishlog.confd varnishlog
-
-	newinitd "${FILESDIR}"/varnishncsa.initd varnishncsa
-	newconfd "${FILESDIR}"/varnishncsa.confd varnishncsa
-
-	newinitd "${FILESDIR}"/varnishd.initd-r4 varnishd
-	newconfd "${FILESDIR}"/varnishd.confd-r4 varnishd
-
-	insinto /etc/logrotate.d/
-	newins "${FILESDIR}/varnishd.logrotate-r2" varnishd
-
-	diropts -m750
-
-	keepdir /var/lib/varnish
-	keepdir /var/log/varnish
-
-	systemd_dounit "${FILESDIR}/${PN}d.service"
-
-	insinto /etc/varnish/
-	doins vmod/vmod_*.vcc
-	doins etc/example.vcl
-
-	dodoc README.rst
-	dodoc doc/changes.rst
-
-	fowners root:varnish /etc/varnish/
-	fowners varnish:varnish /var/lib/varnish/
-	fperms 0750 /var/lib/varnish/ /etc/varnish/
-}
diff --git a/www-servers/varnish/varnish-7.0.1.ebuild b/www-servers/varnish/varnish-7.0.1.ebuild
new file mode 100644
index 000000000000..c8878790c48c
--- /dev/null
+++ b/www-servers/varnish/varnish-7.0.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit autotools systemd python-r1
+
+DESCRIPTION="Varnish is a state-of-the-art, high-performance HTTP accelerator"
+HOMEPAGE="https://varnish-cache.org/"
+SRC_URI="http://varnish-cache.org/_downloads/${P}.tgz"
+
+LICENSE="BSD-2 GPL-2"
+SLOT="0/2"
+KEYWORDS="~amd64 ~mips ~ppc ~ppc64 ~x86"
+IUSE="jemalloc jit static-libs"
+
+CDEPEND="
+	sys-libs/readline:0=
+	dev-libs/libpcre[jit?]
+	jemalloc? ( dev-libs/jemalloc )
+	sys-libs/ncurses:0="
+
+#varnish compiles stuff at run time
+RDEPEND="
+	${PYTHON_DEPS}
+	${CDEPEND}
+	acct-user/varnish
+	acct-group/varnish
+	sys-devel/gcc"
+
+DEPEND="
+	${CDEPEND}
+	dev-python/docutils
+	dev-python/sphinx
+	virtual/pkgconfig"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="test" #315725
+
+src_prepare() {
+	# Remove -Werror bug #528354
+	sed -i -e 's/-Werror\([^=]\)/\1/g' configure.ac
+
+	# Upstream doesn't put varnish.m4 in the m4/ directory
+	# We link because the Makefiles look for the file in
+	# the original location
+	ln -sf ../varnish.m4 m4/varnish.m4
+
+	default
+	eautoreconf
+}
+
+src_configure() {
+	local myeconfargs=(
+		$(use_enable static-libs static)
+		$(use_enable jit pcre2-jit)
+		$(use_with jemalloc)
+	)
+	econf "${myeconfargs[@]}"
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+
+	python_replicate_script "${D}/usr/share/varnish/vmodtool.py"
+
+	newinitd "${FILESDIR}"/varnishlog.initd varnishlog
+	newconfd "${FILESDIR}"/varnishlog.confd varnishlog
+
+	newinitd "${FILESDIR}"/varnishncsa.initd varnishncsa
+	newconfd "${FILESDIR}"/varnishncsa.confd varnishncsa
+
+	newinitd "${FILESDIR}"/varnishd.initd-r4 varnishd
+	newconfd "${FILESDIR}"/varnishd.confd-r4 varnishd
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/varnishd.logrotate-r2" varnishd
+
+	diropts -m750
+
+	keepdir /var/lib/varnish
+	keepdir /var/log/varnish
+
+	systemd_dounit "${FILESDIR}/${PN}d.service"
+
+	insinto /etc/varnish/
+	doins vmod/vmod_*.vcc
+	doins etc/example.vcl
+
+	dodoc README.rst
+	dodoc doc/changes.rst
+
+	fowners root:varnish /etc/varnish/
+	fowners varnish:varnish /var/lib/varnish/
+	fperms 0750 /var/lib/varnish/ /etc/varnish/
+}
-- 
cgit v1.2.3