summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-23 19:25:02 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-23 19:25:02 +0100
commite61316437bd8569d122a22afee87973ea4949120 (patch)
tree2dd7f6e2b5a10c7315fd6273be6f6373d198106a
parentcbf055ae8f2fb67e00df9ea122e64a67f930f576 (diff)
gentoo auto-resync : 23:06:2023 - 19:25:02
-rw-r--r--Manifest30
-rw-r--r--Manifest.files.gzbin29306 -> 29291 bytes
-rw-r--r--dev-lang/Manifest.gzbin19498 -> 19498 bytes
-rw-r--r--dev-lang/perl/Manifest2
-rw-r--r--dev-lang/perl/perl-5.38.0_rc2.ebuild818
-rw-r--r--dev-ruby/Manifest.gzbin105487 -> 105486 bytes
-rw-r--r--dev-ruby/polyglot/Manifest4
-rw-r--r--dev-ruby/polyglot/metadata.xml15
-rw-r--r--dev-ruby/polyglot/polyglot-0.3.5-r1.ebuild6
-rw-r--r--dev-ruby/text-hyphen/Manifest2
-rw-r--r--dev-ruby/text-hyphen/text-hyphen-1.4.1-r3.ebuild28
-rw-r--r--dev-ruby/thor/Manifest1
-rw-r--r--dev-ruby/thor/thor-1.2.1.ebuild75
-rw-r--r--dev-ruby/timers/Manifest3
-rw-r--r--dev-ruby/timers/timers-4.3.3.ebuild33
-rw-r--r--dev-ruby/timers/timers-4.3.5.ebuild29
-rw-r--r--dev-ruby/transaction-simple/Manifest2
-rw-r--r--dev-ruby/transaction-simple/transaction-simple-1.4.0.2-r3.ebuild4
-rw-r--r--dev-ruby/treetop/Manifest4
-rw-r--r--dev-ruby/treetop/treetop-1.6.11-r1.ebuild37
-rw-r--r--dev-ruby/treetop/treetop-1.6.12.ebuild4
-rw-r--r--metadata/Manifest.gzbin3508 -> 3510 bytes
-rw-r--r--metadata/dtd/timestamp.chk2
-rw-r--r--metadata/glsa/Manifest28
-rw-r--r--metadata/glsa/timestamp.chk2
-rw-r--r--metadata/md5-cache/Manifest.gzbin27878 -> 27878 bytes
-rw-r--r--metadata/md5-cache/dev-lang/Manifest.gzbin41500 -> 41656 bytes
-rw-r--r--metadata/md5-cache/dev-lang/perl-5.38.0_rc215
-rw-r--r--metadata/md5-cache/dev-ruby/Manifest.gzbin178427 -> 177623 bytes
-rw-r--r--metadata/md5-cache/dev-ruby/polyglot-0.3.5-r114
-rw-r--r--metadata/md5-cache/dev-ruby/text-hyphen-1.4.1-r317
-rw-r--r--metadata/md5-cache/dev-ruby/thor-1.2.117
-rw-r--r--metadata/md5-cache/dev-ruby/timers-4.3.317
-rw-r--r--metadata/md5-cache/dev-ruby/timers-4.3.517
-rw-r--r--metadata/md5-cache/dev-ruby/transaction-simple-1.4.0.2-r312
-rw-r--r--metadata/md5-cache/dev-ruby/treetop-1.6.11-r117
-rw-r--r--metadata/md5-cache/dev-ruby/treetop-1.6.1212
-rw-r--r--metadata/md5-cache/net-im/Manifest.gzbin15701 -> 15700 bytes
-rw-r--r--metadata/md5-cache/net-im/signal-desktop-bin-6.22.0 (renamed from metadata/md5-cache/net-im/signal-desktop-bin-6.21.0)2
-rw-r--r--metadata/md5-cache/virtual/Manifest.gzbin50384 -> 50538 bytes
-rw-r--r--metadata/md5-cache/virtual/perl-HTTP-Tiny-0.86.0 (renamed from metadata/md5-cache/virtual/perl-HTTP-Tiny-0.83.0_rc)2
-rw-r--r--metadata/md5-cache/virtual/perl-Module-CoreList-5.202.306.2307
-rw-r--r--metadata/md5-cache/www-servers/Manifest.gzbin9797 -> 9957 bytes
-rw-r--r--metadata/md5-cache/www-servers/nginx-1.25.118
-rw-r--r--metadata/news/Manifest28
-rw-r--r--metadata/news/timestamp.chk2
-rw-r--r--metadata/projects.xml16
-rw-r--r--metadata/timestamp2
-rw-r--r--metadata/timestamp.chk2
-rw-r--r--metadata/timestamp.commit2
-rw-r--r--metadata/timestamp.x2
-rw-r--r--metadata/xml-schema/timestamp.chk2
-rw-r--r--net-im/Manifest.gzbin9557 -> 9560 bytes
-rw-r--r--net-im/signal-desktop-bin/Manifest4
-rw-r--r--net-im/signal-desktop-bin/signal-desktop-bin-6.22.0.ebuild (renamed from net-im/signal-desktop-bin/signal-desktop-bin-6.21.0.ebuild)0
-rw-r--r--profiles/Manifest.gzbin179024 -> 179023 bytes
-rw-r--r--profiles/package.mask7
-rw-r--r--profiles/use.local.desc1
-rw-r--r--virtual/Manifest.gzbin28283 -> 28279 bytes
-rw-r--r--virtual/perl-HTTP-Tiny/Manifest2
-rw-r--r--virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.86.0.ebuild (renamed from virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.83.0_rc.ebuild)0
-rw-r--r--virtual/perl-Module-CoreList/Manifest1
-rw-r--r--virtual/perl-Module-CoreList/perl-Module-CoreList-5.202.306.230.ebuild17
-rw-r--r--www-servers/Manifest.gzbin4711 -> 4713 bytes
-rw-r--r--www-servers/nginx/Manifest5
-rw-r--r--www-servers/nginx/metadata.xml1
-rw-r--r--www-servers/nginx/nginx-1.25.1.ebuild1067
67 files changed, 2053 insertions, 404 deletions
diff --git a/Manifest b/Manifest
index 96dfec642a7b..b851368642d2 100644
--- a/Manifest
+++ b/Manifest
@@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-MANIFEST Manifest.files.gz 29306 BLAKE2B 22e738ab878518629d493311a820a4c793dcdf5ed28249e85e37a2f886c0ec2735aae37686ca072426e628d60bb5373e73378694c65d51cac0a3341990100eba SHA512 2d740cfad41d8a8f3181149b635ed76e3512358ec5da192ce223976c9d654d5cff4e312278dce2906566f472b00bae9798933c4108b8a6e2c1d38406556dabbc
-TIMESTAMP 2023-06-23T11:39:40Z
+MANIFEST Manifest.files.gz 29291 BLAKE2B e237113f70206a291a1a93affab2e7edb7d524f1a66e5d46b4676dfe3989f18d434b1cdcfee300f96d9ddfcc1a5f8cc6b2881dbbf5eee5413e284255f6f07915 SHA512 3010f0e07e64f1ab5060c4e7d5e0cdba6a7b3c9ad2b8026ac72c87e4b97fdca658f6a3f2a6ddef36e679e9353e10e74574116fcaa0fdd69d7f7c0cd3653336e2
+TIMESTAMP 2023-06-23T17:39:40Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSVhHxfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSV2NxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klCzUQ/9EgIM2QaEiLbp01aYNqlRl1V1Qrjy7i2SJmbqtw91V+d+FHao6aXa2/MS
-Np+X1tEM1g2+5bCT1qYi0j0bNr98y/QAHmACWAJcxoo9fmHJwIZjRnHdwq5jF2u7
-mDt5vP87Gm7OFZQtmXBRcUxd0Esu85oeOOgw3grjKtaearrildBMyJvAulbupFck
-/u8h9Qa3NicaUc6HNBPBbbo6K9GRWiK8qAxJShHMhYSdqZyak3AAHevZmndoxt5y
-nWLOvW6XIBWHgpYaQ750Kc/ExaRSM38lSr76MWZY1CevCf9P30a7hlhw5pHsOLZ8
-z6yC92rSAQHJilbYPasxOtKayyC4BZAoF8y/S7rN+wnF1rhKqY6u4MACAqu3P8uI
-xe1PDtfxzQX0VfoeXTG9aaQU8jaVFJO60VAIS7dwtaAV+EYaKCemQZPtrCUp09wU
-xTRAwu4odwaYpjXBwWelLiFpBqfeBYlFIYKJVAA7mHB0L/E2lLh7i/znAScZP13O
-9P9s3NylJ5wPisbWKxpALsflTeNNFycc8mzLcnaETFFPrDu72drklHuyVNzvfY4w
-Po3CVeQugiE2JtkXcCgg20nyCmNCmcm9lmE5qpBrXAsKm0jmWzNBfJw8DT3x48Zr
-sxH8p+sgcG32ZjwWk6ksqhjeWO4AYgjfz6ufkOyMwuuzDUAxI10=
-=bs8C
+klB1NQ/9Hse7hX09c2MOzbpR7l1hliQ5Yo3fKkEAvniboab3pb2kJP3Sn6/QXtg/
+YgyqeYdpVsgYQZaj558YOg5T7L/eEitBQMpTmkoHpwPdmCOSVDZlI8PNd3t/YOb6
+peX4R/kXm6LihPGykSfMJ5uEhHkXK0q2If3/1JZysCaWuRWgxqfz9hhJwkbYbsjB
+50YmN0ad9Gs/oMBPff+NmT74+jJAkofWPsb2ZG8yNqsFKJXrdu9nx4OxVJ/tAsGA
+lQhw+m4SkoAwPabKG5IH3KAgxnXwyTnqXvo7vCQawczo2SfvVqy2kw78IUnXv4xO
+Mtv5GP9NIP6W60RCVluW3Ag8s72YWaZ3p1ZhOl8ReKYCnkVq9/uYBOycOhirmiha
+gu+FUDBJXEdboCcPTsVQ3yXEkF4PbGrr5TtmOA0cvHNqgQXYF6nd6y6osEygdxq0
+FGs1Bq0TtDWxLQ57bay1myOFRme+VG2AN0cv8Eiu2dcnK3TcRL546iEYN1aGGj/s
+/9CnIO/ccIfOEo1eMQX6C+oFglcAzNDlMxwKog7sxPF4fmbPTTNvQYQwvpVFbcBR
+TwS65feQPzQnnLFf4yGaEy1vcwjK99rCRnQHK6OiZoKO0i7+vHC+0EEHc2SskgMU
+eqdmwcqUtWIfW0YV9geClDw3oPmAaX0TI8v2uGkolBU9o6pX6LU=
+=eXVj
-----END PGP SIGNATURE-----
diff --git a/Manifest.files.gz b/Manifest.files.gz
index f59f29ba36e9..692257b6cf85 100644
--- a/Manifest.files.gz
+++ b/Manifest.files.gz
Binary files differ
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 360e572837d0..3902dc1f968c 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 47d67f0c2f30..541bd15188f7 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -10,6 +10,7 @@ DIST perl-5.36.0-patches-1.tar.xz 20352 BLAKE2B f5413c75c5bbced230ad7fa692998cae
DIST perl-5.36.0.tar.xz 13051500 BLAKE2B e4864a4c21e5242df4164c73db8af10f7b9c36b075e0c05777abec79716db7778ccbf2c0c9e7e749518ad310019d2a6b32bd8b5ab2af5a8b16b5d920f83d034f SHA512 6dd6ac2a77566c173c5ab9c238cf555f2c3e592e89abb5600bc23ce1cbd0c349e0233f6417cbbf1f6d0aefc6a734ba491285af0d3dc68a605b658b65c89f1dab
DIST perl-5.36.1.tar.xz 13053604 BLAKE2B baab610d16e444338ad7d529bad6a88e12010786bd25f2ab117ab4dd636859ff862cb925700095434f05a802bea5b89a9d41769f26bdbae439443020950882bd SHA512 8d1ec654c59d078bfc477f11c9526233199a85e4d4f6f5a55bf9eb7802cd355189c669cc6785d2d5e741c1de4d740b7a0cfd3c0198122586a07ac7f527fb14af
DIST perl-5.38.0-RC1.tar.xz 13570400 BLAKE2B a08f5ab6d1d8cf4572929b6e47834cf3e17dec33e8e41916f5a9f3524281493f369b75054ef7232b777b9b162635e4ee7864d8fd4f97de542b3d9704ba526af2 SHA512 1bd17db43e5b25fdcd8f0addd53820371f78173fe2bf6ca12de06589ecb296314e996cfa37357f656a694cf56504b85e7d7aef4f8cd367edb64653951b7a2efd
+DIST perl-5.38.0-RC2.tar.gz 21166998 BLAKE2B 83bb4b321495c0f09ab7527cfce1f4a87c0a0aa09bf49a7fd4e5da80759cff699f79d7c5e225bdb59c114d9132f55fee095c0ad75d41a7a2b7ee88bf19a4c18f SHA512 07ed9286988858568d50b4faf6069146ec7e0d4647fa9f7b8314ff0f5668dcaceec74ae9d70da57492264f2f449a5dcb4a57c58c1a816bc2b6b90806a051e526
DIST perl-5.38.0-patches-1.tar.gz 26047 BLAKE2B 809dd5242f9868e54525ae8056598d3252c889afc72ed6f122174f828947223399a5ba4dbc16dd43501f7138205991f8c102cbe0ed94175ae3353040c53a0162 SHA512 c66160e20095555aa21d3be70050dce934d62e55e01dcf0f716129b2faa390923958a48bc448b4fab6f55e5b097eb378f7a6409a92c024fe68c8b34fddcfc5e4
DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
DIST perl-cross-1.4.1.tar.gz 117688 BLAKE2B e01103fb92764213dafb1ab92954fdc4bdcf1bd71a0064279ee75fed55a1c71850eaabdf667d6ab1c15eadccf7497668e5bb5ab13de33fef707fba14bfd52912 SHA512 5f403d3a52f724383d25c23b08e8001954300fa8f07a5b49df440ef4d06ef756404a6e448093c4f4d4f9a470b1c3f2b1b8b27d3d227ac1823552f6a377edd06a
@@ -20,4 +21,5 @@ EBUILD perl-5.36.0-r2.ebuild 25435 BLAKE2B 8e90a3853ab8f51ceb540c9a60a51bd7ab028
EBUILD perl-5.36.1-r2.ebuild 25440 BLAKE2B 81c39786a43b3de874d03ce22ce3a90da92f6a4474a067bddad517e7047e46e1adc587e5982cda21893766c64d14eb44dd50da930b94fbef9da4934ffdff3425 SHA512 9b05e9cb6c36a4be47fec7bde85b8e33d4b65eec12dd5c53ed278a4368f5e4db9123a143c50f194ec76041bd271f6598c2897e8536953a267139f47c01a542a0
EBUILD perl-5.36.1.ebuild 25230 BLAKE2B 41ff64d401e34783ba980e9aee159c66732c4cb6119660b10563217c3ea1a17776bcc67e1dc5f19f0e15cd0b7511b582b6092c913e608ffceeba9a88df18411d SHA512 d4673415a6871fd18f41b1b93f7193aa403942225ab58b905dfaaa80e702f63aca1b0e2ef3d00fc8ad9488549281d6561512d5489b9e14d9d2ee5000b946adab
EBUILD perl-5.38.0_rc1.ebuild 25413 BLAKE2B 14a37f17cff5376d7ae9ffa6755f982c96d3c165456048a3acb638dd2368e2c027489187ffeb258bb94f8ae7515e40ef76200db4f6c550f3fcebc38d4388479a SHA512 56475ff50e93cfa4469ce8348f2ff56ffca4bc9835ab524ff3a7cc3b29573f806b160439760528665ec46245b9e615115fcb187af86ffc12d546a8f5f61fb621
+EBUILD perl-5.38.0_rc2.ebuild 25464 BLAKE2B eaba6bd671df30823cd351f238de383723f493495ea3bd9921c361c64ac3b7472af3b74ca91e789858f2024aedb3f7c0331a9d86cf272e130f5c99513a34d500 SHA512 4ac2afe5c939c1c842b540f0d9f503e8b70119e512dded30ef290e1e26a7952841613adc9c9f8ed79b03ec1e370722dc9c7d3d90b8375e9faef9584ae6ba06dd
MISC metadata.xml 621 BLAKE2B 8a14a3efd31858bd5be39476ff86bb9facf3984bbb1110c5b30c3af7aacfe0148357cf7c838ad94799c090a42ed036cc5a51205c3fcfd0d010833e0dad0e4820 SHA512 656902acadb21bf951bf08ca7775c095a5ec76f881215a2b7d3a42eb344a2b9e337cb9260ab87ff5a1730b5a0ef4efe852affdf2e418df9c7c39f18a0a7b89d4
diff --git a/dev-lang/perl/perl-5.38.0_rc2.ebuild b/dev-lang/perl/perl-5.38.0_rc2.ebuild
new file mode 100644
index 000000000000..96168b9213fe
--- /dev/null
+++ b/dev-lang/perl/perl-5.38.0_rc2.ebuild
@@ -0,0 +1,818 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
+
+PATCH_VER=1
+CROSS_VER=1.4.1
+PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}"
+PATCH_DEV=dilfridge
+
+DIST_AUTHOR=RJBS
+
+# Greatest first, don't include yourself
+# Devel point-releases are not ABI-intercompatible, but stable point releases are
+# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
+PERL_BIN_OLDVERSEN=""
+
+if [[ "${PV##*.}" == "9999" ]]; then
+ DIST_VERSION=5.30.0
+else
+ DIST_VERSION="${PV/_rc/-RC}"
+fi
+SHORT_PV="${DIST_VERSION%.*}"
+
+# Even numbered major versions are ABI intercompatible
+# Odd numbered major versions are not
+if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
+ SUBSLOT="${DIST_VERSION%-RC*}"
+else
+ SUBSLOT="${DIST_VERSION%.*}"
+fi
+
+# Used only in tar paths
+MY_P="perl-${DIST_VERSION}"
+# Used in library paths
+MY_PV="${DIST_VERSION%-RC*}"
+
+DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
+
+# mirror://cpan/src/5.0/${MY_P}.tar.xz
+# mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
+SRC_URI="
+ https://semiotic.systems/perl-5.38.0-RC2.tar.gz
+ https://github.com/gentoo-perl/perl-patchset/archive/refs/tags/${PATCH_BASE}.tar.gz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.gz
+ https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
+"
+
+HOMEPAGE="https://www.perl.org/"
+
+LICENSE="|| ( Artistic GPL-1+ )"
+SLOT="0/${SUBSLOT}"
+
+if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:= )
+ app-arch/bzip2
+ >=sys-libs/zlib-1.2.12
+ virtual/libcrypt:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}"
+
+PDEPEND="
+ !minimal? (
+ >=app-admin/perl-cleaner-2.5
+ >=virtual/perl-CPAN-2.290.0
+ >=virtual/perl-Encode-3.120.0
+ >=virtual/perl-File-Temp-0.230.400-r2
+ >=virtual/perl-Data-Dumper-2.154.0
+ virtual/perl-Test-Harness
+ )
+"
+# bug 390719, bug 523624
+# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
+
+S="${WORKDIR}/${MY_P}"
+
+dual_scripts() {
+ src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.360.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.40.0 shasum
+ src_remove_dual perl-core/Encode 3.190.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.700.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.510.0 xsubpp
+ src_remove_dual perl-core/IO-Compress 2.204.0 zipdetails
+ src_remove_dual perl-core/JSON-PP 4.160.0 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.202.306.230 corelist
+ src_remove_dual perl-core/Pod-Checker 1.750.0 podchecker
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage
+ src_remove_dual perl-core/Test-Harness 3.440.0 prove
+ src_remove_dual perl-core/podlators 5.10.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 5.10.0 /usr/share/man/man1/perlpodstyle.1
+}
+
+check_rebuild() {
+ # Fresh install
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ return 0;
+ # Major Upgrade
+ # doesn't matter if there's multiple copies, it still needs a rebuild
+ # if the string is anything other than "5.CURRENTMAJOR"
+ elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
+ echo ""
+ ewarn "UPDATE THE PERL MODULES:"
+ ewarn "After updating dev-lang/perl the installed Perl modules"
+ ewarn "have to be re-installed. In most cases, this is done automatically"
+ ewarn "by the package manager, but subsequent steps are still recommended"
+ ewarn "to ensure system consistency."
+ ewarn
+ ewarn "You should start with a depclean to remove any unused perl dependencies"
+ ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
+ ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
+ ewarn "Recommended: emerge --depclean -va"
+ ewarn
+ ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
+ ewarn "remaining rebuilds portage may have missed."
+ ewarn "Use: perl-cleaner --all"
+ return 0;
+
+ # Reinstall w/ USE Change
+ elif
+ ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
+ ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
+ ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
+ ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
+ ( use debug && ! has_version dev-lang/perl[debug] ) || \
+ ( ! use debug && has_version dev-lang/perl[debug] ) ; then
+ echo ""
+ ewarn "TOGGLED USE-FLAGS WARNING:"
+ ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
+ ewarn "You must rebuild all perl-modules installed."
+ ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
+ fi
+}
+
+pkg_setup() {
+ case ${CHOST} in
+ *-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
+ *) osname="linux" ;;
+ esac
+
+ myarch="${CHOST%%-*}-${osname}"
+ if use debug ; then
+ myarch+="-debug"
+ fi
+ if use quadmath ; then
+ myarch+="-quadmath"
+ fi
+ if use ithreads ; then
+ mythreading="-multi"
+ myarch+="-thread"
+ fi
+
+ PRIV_BASE="/usr/$(get_libdir)/perl5"
+ SITE_BASE="/usr/local/$(get_libdir)/perl5"
+ VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
+
+ LIBPERL="libperl$(get_libname ${MY_PV} )"
+
+ PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
+ ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ SITE_LIB="${SITE_BASE}/${SUBSLOT}"
+ SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+ VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
+ VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
+
+ dual_scripts
+}
+
+src_remove_dual_file() {
+ local i pkg ver
+ pkg="$1"
+ ver="$2"
+ shift 2
+ case "${EBUILD_PHASE:-none}" in
+ postinst|postrm)
+ for i in "$@" ; do
+ alternatives_auto_makesym "${i}" "${i}-[0-9]*"
+ done
+ ;;
+ setup)
+ for i in "$@" ; do
+ if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
+ has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
+ break
+ fi
+ done
+ ;;
+ install)
+ for i in "$@" ; do
+ if ! [[ -f "${ED}"${i} ]] ; then
+ ewarn "${i} does not exist!"
+ continue
+ fi
+ mv "${ED}"${i}{,-${ver}-${P}} || die
+ done
+ ;;
+ esac
+}
+
+src_remove_dual_man() {
+ local i pkg ver ff
+ pkg="$1"
+ ver="$2"
+ shift 2
+ case "${EBUILD_PHASE:-none}" in
+ postinst|postrm)
+ for i in "$@" ; do
+ ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
+ ff=${ff##*${i#${i%.[0-9]}}}
+ alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
+ done
+ ;;
+ install)
+ for i in "$@" ; do
+ if ! [[ -f "${ED}"${i} ]] ; then
+ ewarn "${i} does not exist!"
+ continue
+ fi
+ mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
+ done
+ ;;
+ esac
+}
+
+src_remove_dual() {
+ local i pkg ver
+ pkg="$1"
+ ver="$2"
+ shift 2
+ for i in "$@" ; do
+ src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
+ src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
+ done
+}
+
+src_prepare_perlcross() {
+ cp -a ../perl-cross-${CROSS_VER}/* . || die
+
+ # bug 794463, needs further analysis what is exactly wrong here
+ eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
+
+ # bug 604072
+ MAKEOPTS+=" -j1"
+ export MAKEOPTS
+}
+
+src_prepare_dynamic() {
+ ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
+ ln -s ${LIBPERL} libperl$(get_libname ) || die
+}
+
+# Copy a patch into the patch series
+# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
+# - description is optional, but recommended
+# - all arguments after descriptions are bug URLs
+add_patch() {
+ local patchdir="${WORKDIR}/patches"
+ local infodir="${WORKDIR}/patch-info"
+ local src_name dest_name desc
+ src_name="$1"
+ dest_name="$2"
+ desc="$3"
+ shift; shift; shift;
+ einfo "Adding ${dest_name} to patch bundle"
+ cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
+ if [[ -n "${desc}" ]]; then
+ printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
+ fi
+ if [[ $# -gt 0 ]]; then
+ # Note: when $@ is more than one element, this emits a
+ # line for each element
+ printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
+ fi
+}
+
+# Remove a patch using a glob expr
+# eg:
+# rm_patch *-darwin-Use-CC*
+#
+rm_patch() {
+ local patchdir="${WORKDIR}/patches"
+ local expr="$1"
+ local patch="$( cd "${patchdir}"; echo $expr )"
+ einfo "Removing $patch ($expr) from patch bundle"
+ if [[ -e "${patchdir}/${patch}" ]]; then
+ rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
+ else
+ ewarn "No ${expr} found in ${patchdir} to remove"
+ fi
+}
+
+# Yes, this is a reasonable amount of code for something seemingly simple
+# but this is far easier to debug when things go wrong, and things went wrong
+# multiple times while I was getting the exact number of slashes right, which
+# requires circumnavigating both bash and sed escape mechanisms.
+c_escape_string() {
+ local slash dquote
+ slash='\'
+ dquote='"'
+ re_slash="${slash}${slash}"
+ re_dquote="${slash}${dquote}"
+
+ # Convert \ to \\,
+ # " to \"
+ echo "$1" |\
+ sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
+ sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
+}
+c_escape_file() {
+ c_escape_string "$(cat "$1")"
+}
+
+apply_patchdir() {
+ local patchdir="${WORKDIR}/patches"
+ local infodir="${WORKDIR}/patch-info"
+ local patchoutput="patchlevel-gentoo.h"
+
+ # Inject Patch-Level info into description for patchlevel.h patch
+ # to show in -V
+ local patch_expr="*List-packaged-patches*"
+ local patch="$( cd "${patchdir}"; echo $patch_expr )";
+ einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
+
+ if [[ -e "${patchdir}/${patch}" ]]; then
+ printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
+ >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
+ else
+ eerror "No $patch_expr found in ${patchdir}"
+ fi
+
+ # Compute patch list to apply
+ # different name other than PATCHES to stop default
+ # reapplying it
+ # Single depth is currently only supported, as artifacts can reside
+ # from the old layout being multiple-directories, as well as it grossly
+ # simplifying the patchlevel_gentoo.h generation.
+ local PERL_PATCHES=($(
+ find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
+ grep -E '[.](diff|patch)$' |\
+ sort -n
+ ))
+
+ for patch in "${PERL_PATCHES[@]}"; do
+ eapply "${WORKDIR}"/patches/${patch}
+ done
+
+ einfo "Generating $patchoutput"
+
+ # This code creates a header file, each iteration
+ # creates one-or-more-lines for each entry found in PERL_PATCHES
+ # and STDOUT is redirected to the .h file
+ for patch in "${PERL_PATCHES[@]}"; do
+ local desc_f="${infodir}/${patch}.desc"
+ local bugs_f="${infodir}/${patch}.bugs"
+
+ printf ',"%s"\n' "${patch}"
+ if [[ ! -e "${desc_f}" ]]; then
+ ewarn "No description provided for ${patch} (expected: ${desc_f} )"
+ else
+ local desc="$(c_escape_file "${desc_f}")"
+ printf ',"- %s"\n' "${desc}"
+ fi
+ if [[ -e "${bugs_f}" ]]; then
+ while read -d $'\n' -r line; do
+ local esc_line="$(c_escape_string "${line}")"
+ printf ',"- Bug: %s"\n' "${esc_line}"
+ done <"${bugs_f}"
+ fi
+ done > "${S}/${patchoutput}"
+ printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
+
+}
+
+src_prepare() {
+
+ local patchdir="${WORKDIR}/patches"
+
+ mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die
+ mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die
+
+ # Prepare Patch dir with additional patches / remove unwanted patches
+ # Inject bug/desc entries for perl -V
+ # Old example:
+ # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
+ # "Fix broken miniperl on hppa"\
+ # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # do NOT mess with nsl, on Solaris this is always necessary,
+ # when -lsocket is used e.g. to get h_errno
+ rm_patch "*-nsl-and-cl*"
+ fi
+
+ apply_patchdir
+
+ tc-is-cross-compiler && src_prepare_perlcross
+
+ tc-is-static-only || src_prepare_dynamic
+
+ if use gdbm; then
+ sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
+ ext/NDBM_File/Makefile.PL || die
+ fi
+
+ # Use errno.h from prefix rather than from host system, bug #645804
+ if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
+ sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # set a soname, fix linking against just built libperl
+ sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_name (soname) not to reference $D
+ sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
+
+ # fix environ linkage absence (only a real issue on Darwin9)
+ if [[ ${CHOST##*-darwin} -le 9 ]] ; then
+ sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
+ Makefile.SH || die
+ fi
+ fi
+
+ default
+}
+
+myconf() {
+ # the myconf array is declared in src_configure
+ myconf=( "${myconf[@]}" "$@" )
+}
+
+# Outputs a list of versions which have been seen in any of the
+# primary perl @INC prefix paths, such as:
+# /usr/lib64/perl5/<NUMBER>
+# /usr/local/lib64/perl5/<NUMBER>
+# /usr/lib64/perl5/vendor_perl/<NUMBER>
+#
+# All values of NUMBER must be like "5.x.y" or like "5.x"
+#
+find_candidate_inc_versions() {
+ local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
+ local dirs=(
+ "${EROOT}${PRIV_BASE}"
+ "${EROOT}${SITE_BASE}"
+ "${EROOT}${VENDOR_BASE}"
+ )
+ for dir in "${dirs[@]}"; do
+ if [[ ! -e "${dir}" ]]; then
+ continue
+ fi
+ # Without access to readdir() on these dirs, find will not be able
+ # to reveal any @INC directories inside them, and will subsequently prune
+ # them from the built perl's @INC support, breaking our compatiblity options
+ # entirely.
+ if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
+ eerror "Bad permissions on ${dir}, this will probably break things"
+ eerror "Ensure ${dir} is +rx for at least uid=$EUID"
+ eerror "Recommended permission is +rx for all"
+ eerror "> chmod o+rx ${dir}"
+ fi
+ done
+ einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
+ find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
+}
+
+# Sort versions passed versiony-ly, remove self-version if present
+# dedup. Takes each version as an argument
+sanitize_inc_versions() {
+ local vexclude="${SUBSLOT}"
+ einfo "Normalizing/Sorting candidate list: $*"
+ einfo " to remove '${vexclude}'"
+ # Note, general numeric sort has to be used
+ # for the last component, or unique will convert
+ # 5.30.0 + 5.30 into just 5.30
+ printf "%s\n" "$@" |\
+ grep -vxF "${vexclude}" |\
+ sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
+}
+
+versions_to_inclist() {
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+
+ for v; do
+ has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
+ echo -n "${v}/ ";
+ done
+}
+
+versions_to_gentoolibdirs() {
+ local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
+ local root
+ local v
+ for v; do
+ for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
+ local fullpath="${EROOT}${root}/${v}"
+ if [[ -e "${fullpath}" ]]; then
+ has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
+ printf "%s:" "${fullpath}"
+ fi
+ done
+ done
+}
+
+src_configure() {
+ declare -a myconf
+
+ export LC_ALL="C"
+ [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
+
+ # Perl has problems compiling with -Os in your flags with glibc
+ replace-flags "-Os" "-O2"
+
+ # xlocale.h is going away in glibc-2.26, so it's counterproductive
+ # if we use it and include it in CORE/perl.h ... Perl builds just
+ # fine with glibc and locale.h only.
+ # However, the darwin prefix people have no locale.h ...
+ use elibc_glibc && myconf -Ui_xlocale
+
+ # This flag makes compiling crash in interesting ways
+ filter-flags "-malign-double"
+
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
+ use sparc && myconf -Ud_longdbl
+
+ export BUILD_BZIP2=0
+ export BZIP2_INCLUDE=${EROOT}/usr/include
+ export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
+
+ export BUILD_ZLIB=False
+ export ZLIB_INCLUDE=${EROOT}/usr/include
+ export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
+
+ # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
+ myndbm='U'
+ mygdbm='U'
+ mydb='U'
+ if use gdbm ; then
+ mygdbm='D'
+ if use berkdb ; then
+ myndbm='D'
+ fi
+ fi
+ if use berkdb ; then
+ mydb='D'
+ has_version '=sys-libs/db-1*' && myndbm='D'
+ fi
+
+ myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
+
+ if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
+ ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
+ myconf -Ui_db -Ui_ndbm
+ fi
+
+ use ithreads && myconf -Dusethreads
+
+ use quadmath && myconf -Dusequadmath
+
+ if use debug ; then
+ append-cflags "-g"
+ myconf -DDEBUGGING
+ elif [[ ${CFLAGS} == *-g* ]] ; then
+ myconf -DDEBUGGING=-g
+ else
+ myconf -DDEBUGGING=none
+ fi
+
+ # modifying 'optimize' prevents cross configure script from appending required flags
+ if tc-is-cross-compiler; then
+ append-cflags "-fwrapv"
+ fi
+
+ # bug #877659, bug #821577
+ append-cflags -fno-strict-aliasing
+
+ # Autodiscover all old version directories, some of them will even be newer
+ # if you downgrade
+ if [[ -z ${PERL_OLDVERSEN} ]]; then
+ PERL_OLDVERSEN="$( find_candidate_inc_versions )"
+ fi
+
+ # Fixup versions, removing self match, fixing order and dupes
+ PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
+
+ # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
+ if [[ -n "${PERL_OLDVERSEN// }" ]]; then
+ local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
+ einfo "This version of perl may partially support modules previously"
+ einfo "installed in any of the following paths:"
+ for incpath in ${inclist}; do
+ [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
+ [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
+ [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
+ done
+ einfo "This is a temporary measure and you should aim to cleanup these paths"
+ einfo "via world updates and perl-cleaner"
+ # myconf -Dinc_version_list="${inclist}"
+ myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
+ fi
+
+ [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
+
+ # Make sure we can do the final link #523730, need to set deployment
+ # target to override hardcoded 10.3 which breaks on modern OSX
+ [[ ${CHOST} == *-darwin* ]] && \
+ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+
+ # Older macOS with non-Apple GCC chokes on inline in system headers
+ # using c89 mode as injected by cflags.SH, in addition, we override
+ # cflags, so we loose PERL_DARWIN which enables compat code that
+ # apparently on more recent macOS releases is no longer necessary
+ [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
+ append-cflags -Dinline=__inline__ -DPERL_DARWIN
+
+ # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
+ # Prefix itself we don't do multilib either, so make sure perl can find
+ # something compatible.
+ if use prefix ; then
+ # Set a hook to check for each detected library whether it actually works.
+ export libscheck="
+ ( echo 'main(){}' > '${T}'/conftest.c &&
+ $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
+ ) || xxx=/dev/null"
+
+ # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
+ local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
+ myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
+ elif [[ $(get_libdir) != "lib" ]] ; then
+ # We need to use " and not ', as the written config.sh use ' ...
+ myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
+ fi
+
+ # don't try building ODBM, bug #354453
+ disabled_extensions="ODBM_File"
+
+ if ! use gdbm ; then
+ # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
+ disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
+ fi
+
+ myconf -Dnoextensions="${disabled_extensions}"
+
+ [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
+
+ [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
+ # allow fiddling via EXTRA_ECONF, bug 558070
+ eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
+
+ # setting -Dld= to tc-getLD breaks perl and all perl things
+ # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
+ myconf \
+ -Duseshrplib \
+ -Darchname="${myarch}" \
+ -Dcc="$(tc-getCC)" \
+ -Dar="$(tc-getAR)" \
+ -Dnm="$(tc-getNM)" \
+ -Dcpp="$(tc-getCPP)" \
+ -Dranlib="$(tc-getRANLIB)" \
+ -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \
+ -Doptimize="${CFLAGS}" \
+ -Dldflags="${LDFLAGS}" \
+ -Dprefix="${EPREFIX}"'/usr' \
+ -Dsiteprefix="${EPREFIX}"'/usr/local' \
+ -Dvendorprefix="${EPREFIX}"'/usr' \
+ -Dscriptdir="${EPREFIX}"'/usr/bin' \
+ -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+ -Darchlib="${EPREFIX}${ARCH_LIB}" \
+ -Dsitelib="${EPREFIX}${SITE_LIB}" \
+ -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+ -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+ -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+ -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+ -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+ -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+ -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+ -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+ -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+ -Dman1ext='1' \
+ -Dman3ext='3pm' \
+ -Dlibperl="${LIBPERL}" \
+ -Dlocincpth="${EPREFIX}"'/usr/include ' \
+ -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
+ -Duselargefiles \
+ -Dd_semctl_semun \
+ -Dcf_by='Gentoo' \
+ -Dmyhostname='localhost' \
+ -Dperladmin='root@localhost' \
+ -Ud_csh \
+ -Dsh="${EPREFIX}"/bin/sh \
+ -Dtargetsh="${EPREFIX}"/bin/sh \
+ -Uusenm \
+ "${EXTRA_ECONF[@]}"
+
+ if tc-is-cross-compiler; then
+ ./configure \
+ --target="${CHOST}" \
+ --build="${CBUILD}" \
+ -Dinstallprefix='' \
+ -Dinstallusrbinperl='undef' \
+ -Dusevendorprefix='define' \
+ "${myconf[@]}" \
+ || die "Unable to configure"
+ else
+ sh Configure \
+ -des \
+ -Dinstallprefix="${EPREFIX}"'/usr' \
+ -Dinstallusrbinperl='n' \
+ "${myconf[@]}" \
+ || die "Unable to configure"
+ fi
+}
+
+src_test() {
+ export NO_GENTOO_NETWORK_TESTS=1;
+ export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
+ export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
+ if [[ ${EUID} == 0 ]] ; then
+ ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
+ return 0
+ fi
+ TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
+}
+
+src_install() {
+ local i
+ local coredir="${ARCH_LIB}/CORE"
+
+ emake DESTDIR="${D}" install
+
+ rm -f "${ED}/usr/bin/perl${MY_PV}"
+ ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
+
+ if ! tc-is-static-only ; then
+ dolib.so "${ED}"${coredir}/${LIBPERL}
+ rm -f "${ED}"${coredir}/${LIBPERL}
+ ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
+
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
+ ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
+ fi
+
+ rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
+
+ # This removes ${D} from Config.pm
+ for i in $(find "${D}" -iname "Config.pm" ) ; do
+ einfo "Removing ${D} from ${i}..."
+ sed -i -e "s:${D}::" "${i}" || die "Sed failed"
+ done
+
+ dodoc Changes* README AUTHORS
+
+ if use doc ; then
+ # HTML Documentation
+ # We expect errors, warnings, and such with the following.
+
+ dodir /usr/share/doc/${PF}/html
+ LD_LIBRARY_PATH=. ./perl installhtml \
+ --podroot='.' \
+ --podpath='lib:ext:pod:vms' \
+ --recurse \
+ --htmldir="${ED}/usr/share/doc/${PF}/html"
+ fi
+
+ [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
+
+ dual_scripts
+}
+
+pkg_preinst() {
+ check_rebuild
+}
+
+pkg_postinst() {
+ dual_scripts
+
+ if [[ -z "${ROOT}" ]] ; then
+ local INC DIR file
+ INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
+ einfo "Removing old .ph files"
+ for DIR in ${INC} ; do
+ if [[ -d "${DIR}" ]] ; then
+ for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
+ rm -f "${file}"
+ einfo "<< ${file}"
+ done
+ fi
+ done
+ # Silently remove the now empty dirs
+ for DIR in ${INC} ; do
+ if [[ -d "${DIR}" ]] ; then
+ find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
+ fi
+ done
+
+ fi
+}
+
+pkg_postrm() {
+ dual_scripts
+}
diff --git a/dev-ruby/Manifest.gz b/dev-ruby/Manifest.gz
index 0205c2db6197..49946584bd0f 100644
--- a/dev-ruby/Manifest.gz
+++ b/dev-ruby/Manifest.gz
Binary files differ
diff --git a/dev-ruby/polyglot/Manifest b/dev-ruby/polyglot/Manifest
index ce50d9977acb..02bdbd25d86b 100644
--- a/dev-ruby/polyglot/Manifest
+++ b/dev-ruby/polyglot/Manifest
@@ -1,3 +1,3 @@
DIST polyglot-0.3.5.gem 8192 BLAKE2B c9f78c05109345e09aa0d0c899e551e67ce7bf191ef00bf169cb05c9860ab538e303fa177c6aec8ac9944bd3ad4263fbf0819af0fa190e989caad1c75c1e5377 SHA512 405790c8edf5a98010334a62f7efeddd60f6dcff91ad5ff599579be3201a7e1b359787da59523a612fed5ccf8385116865316fa8872f0350e33dc078410a54cf
-EBUILD polyglot-0.3.5-r1.ebuild 490 BLAKE2B 56375954485448f107717789bc12fece4a99b94f791fd288d354243699ee35519a6f8926f6b3feacb731da20dcb2e145d8ea81db67f78e6ca509ddb0313260c1 SHA512 8ca90caab817407c9c75630a62d448401360a259bfd72d8d636c4b9f7bd7f5f9c612e0c403a3c6875e3c6f51dd201f6ac866444cf7300b40aa788924c0526714
-MISC metadata.xml 476 BLAKE2B 760e3572f49b9d88a8145ab5a2e6215f8a030c81b63a30db5b64fefc6b60f9029be1ea697f7607b045c7bb231b6655221f5523f59ec4e37b7d9a2e5c0a49f6b3 SHA512 a4e4a67c97d0647765408c6e9dde4e8f5221979eb898214a728649945b9caff2df37168c7c4e93472a960a9b3673e67612974040aff83bde8f4a008d019ade4a
+EBUILD polyglot-0.3.5-r1.ebuild 495 BLAKE2B f746b0373f0a928eed2d827e261e6bced4a9ba142393c17d74d05925af0877c7269969673c9ddbce9d9249a869819307eda8438455d72d8c033d23ad663c6682 SHA512 5770203bfddea9398a60207d4d0e8fc82b4258249c948b39985fe901aa49e676459e595a9f0024874b81440f1f8e80f22e5ce37a75670c1ff5e3a44653ef51e7
+MISC metadata.xml 569 BLAKE2B 01c7cdb1305062a7cd96e7135e77b208a56670d64d52536cfd5a01af3263bbf52887176438bf8970e9a5e9effb80e15b250e54685762520c59a6d1bca88eb7e0 SHA512 90e996e1747503912ce11e363242a5b34703ccebfb89304b55ec16593a7d65ffe5fa2a67b884352bdf2bd5091509ee0053967aef929f9247939be3e5ca12bcf3
diff --git a/dev-ruby/polyglot/metadata.xml b/dev-ruby/polyglot/metadata.xml
index f2941078f009..92cdcad5348c 100644
--- a/dev-ruby/polyglot/metadata.xml
+++ b/dev-ruby/polyglot/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>ruby@gentoo.org</email>
- <name>Gentoo Ruby Project</name>
- </maintainer>
- <longdescription>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <longdescription>
Polyglot provides support for fully-custom DSLs by providing a
registry of file types that can be loaded by its improved version of
'require', using a custom loader for each file type.
- </longdescription>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">cjheath/polyglot</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ruby/polyglot/polyglot-0.3.5-r1.ebuild b/dev-ruby/polyglot/polyglot-0.3.5-r1.ebuild
index 9eb64f00481d..d280bbd80eec 100644
--- a/dev-ruby/polyglot/polyglot-0.3.5-r1.ebuild
+++ b/dev-ruby/polyglot/polyglot-0.3.5-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_TEST=""
@@ -11,7 +11,7 @@ RUBY_FAKEGEM_EXTRADOC="History.txt README.txt"
inherit ruby-fakegem
DESCRIPTION="Polyglot provides support for fully-custom DSLs"
-HOMEPAGE="http://polyglot.rubyforge.org/"
+HOMEPAGE="https://github.com/cjheath/polyglot"
LICENSE="MIT"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
diff --git a/dev-ruby/text-hyphen/Manifest b/dev-ruby/text-hyphen/Manifest
index 323467968fc0..84872b30f79c 100644
--- a/dev-ruby/text-hyphen/Manifest
+++ b/dev-ruby/text-hyphen/Manifest
@@ -1,5 +1,3 @@
-DIST text-hyphen-1.4.1.gem 751616 BLAKE2B 4a6d6a9b430c2dee2a486dde9f49405b98bc32fe8f96448c0cbe8d55f416c4e4e9bef5ae3adb57576dee6fa285680fc57b958cb279786872c8d95282cbf72e73 SHA512 4a6667aff01e56afce79302f46d0afdbf9c965ad80dbf9a7266a213143e6b6bc2cb00092d26900286bf72a700e47be6b0860cfdf87fa2856477db02261f9ef3d
DIST text-hyphen-1.5.0.gem 836096 BLAKE2B 702363b99c33e614dab5b2509d0b77e5f37ca2f401e2c13fab466aec5bbc4f24247fe306ed6f7ed16c3e3b8cad35ca5948725175759827ec9a1b45642a7399ea SHA512 7390b057f0fe4918aa98811adc3922bf6b959aedbf327a035324fc92935675f8016574519d0ff34e11c24bc4b8fe0d110b296344ed8a7cfae018ca5a7d6ce5c9
-EBUILD text-hyphen-1.4.1-r3.ebuild 672 BLAKE2B d2f1a8741513fb30ac7c8e796b10ff3b0d75c0b14b1b4cd7289b25f0d6574a16d8482c472bca11f0d7f2f3f2b255cc28ade4eb0dd3fe19201316df01e281347b SHA512 f200c5d2d4ed256b01e91e2a59868e1437f91155fae8967c125f32d83a7c87d13035c50201a1c8741c4aa5b55ef2a57fa848b65aa393f316bdd714ab646fb052
EBUILD text-hyphen-1.5.0.ebuild 664 BLAKE2B b5ac7007b73be0a71cfde58c2239ed64cb0835d17b883d24a17512dd1eebfa64a2150647e83dfd7def67154df3334b2f973cecc9a2594577c855b3f08cf0ca81 SHA512 62f904b0822573980b62103d3c6c5ff7a95bd5c4f9939309b4eef8b6f2f7cbeaccde715743080fb45e076985ead4924838c79dc858873875906b945d52b61820
MISC metadata.xml 252 BLAKE2B 77e9556ac1d210367a95f4c47816618b685c707cf01d1543d988338e14794fb9ccfb9976ebd11f389db618616d91ee024d8e46dc3a1a356ba7a017a7796b44d1 SHA512 0a970a16d73747993198dd301a3127cef7e65a9f46816b40ca149669ba617826c1d81bac1e5ecf93d16079922964923d37301cd8160f22c823c1ec3b79ee56f1
diff --git a/dev-ruby/text-hyphen/text-hyphen-1.4.1-r3.ebuild b/dev-ruby/text-hyphen/text-hyphen-1.4.1-r3.ebuild
deleted file mode 100644
index 51f9506382fe..000000000000
--- a/dev-ruby/text-hyphen/text-hyphen-1.4.1-r3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
-
-RUBY_FAKEGEM_EXTRADOC="README.rdoc History.rdoc"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Hyphenates words according to the rules of the language the word is written in"
-HOMEPAGE="http://rubyforge.org/projects/text-format"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE=""
-
-ruby_add_bdepend "
- test? (
- >=dev-ruby/hoe-2.8.0
- dev-ruby/test-unit:2
- )"
-
-all_ruby_prepare() {
- sed -i -e '2igem "test-unit", ">= 2.0"' test/test_*.rb || die
-}
diff --git a/dev-ruby/thor/Manifest b/dev-ruby/thor/Manifest
index 6d9e1ae80411..e9079059acf5 100644
--- a/dev-ruby/thor/Manifest
+++ b/dev-ruby/thor/Manifest
@@ -3,6 +3,5 @@ AUX thor-1.2.2-no-coverage.patch 752 BLAKE2B 936e3ef4ba494a8e1b221fbf2688c9487c1
DIST thor-git-1.2.1.tgz 96638 BLAKE2B 03826d2545c61f5fd433325bc65b244921fd0ed0f030ea173fa6f558ca9fd62ac52dca829c66de32569321b3d52353f306559fa34c34e472b1aa52184ba3d812 SHA512 88e58b6ca6c812cb84ab59e0ee8afcd8fa70b6c24d403cd5ea05d1d40ac30e85f2c7412611cc176eb541d16878e309d25c7e4284f64c760475925ffe359250b9
DIST thor-git-1.2.2.tgz 98213 BLAKE2B e71ee51eb5c982c585cf9bd9dffda8933975c9d0df8096015d125eefd0597a653887db1acfc132ce1f5a2e8ce4ab71c790a6c0bf39edd7c5e4c85a75de963944 SHA512 2c8af5d59f33691af63e813ba8dfe3392c279593f3e3ccf0ab2d6eb2ccce4220d93b7cb3413ad853e4bba14f4e2182c54caaf4944627cbcbefa31cdc0fabefc7
EBUILD thor-1.2.1-r1.ebuild 2156 BLAKE2B 92a0bd402228056e0348a1288cc591f7fad95847a2aed072a885600ed67dc409430bc2e54a8e5d7cb53d959569cbc7563865ff7bb7536c4da62d1b151a2dc818 SHA512 9152e5aca31ced4e776c4eb6dafb419d15ffd73e7a5addd98ecc24f31f608e70ef4590abd3c96d4170dc3cb1c20e76fe7ce6368ad9dca1ecf2a0efcc320c2344
-EBUILD thor-1.2.1.ebuild 2082 BLAKE2B d570ee2943e5f34e8217fbe327d57b6ac8f8cbf5adaa39c7a16870f6dac7129c8975930932c30b331f9b7143627d5da732bbdf6d700b73ca549dc9a8385ec572 SHA512 2e69b555b603d9a28a3bbfc96820ca09797a946a2f84d49ac0989fa8055ebfa8e740c9f1a15620900fbed2d27b844f02cf739b28a2058f2ef3dc845671243b80
EBUILD thor-1.2.2.ebuild 2163 BLAKE2B f9df9564137afe8860aa9d5aa768d337686ed1fcd3f366e08a34ad2bf229b263f657a5540f8398369313039c0880acdbfc83dedb07b2ef34fb5b89cd5af0a420 SHA512 c201c3e0c26443464580c2053b23426c181d9cce60267487a0c3ab15ef15d8e303dab549ccee8fb0cb5a064a1d99bb5eaea0fc7dafb79a6e1caf8312f4c108f8
MISC metadata.xml 681 BLAKE2B 18af48da65edba93d19a6a8541a5a79b63485d15108736b8b2c964a57006dd8e0bcc094261045a2598ab5537c3162cffc012e35dbff7c631e45f8de1657b5cd4 SHA512 ccc14bf0262a52707216bedfa51c46d5de83b04308d6768dd73e9d63a0e807ae5f069b9730b5e88311ddf51185aaec12144ffd8540044baf2b18d1208dee380a
diff --git a/dev-ruby/thor/thor-1.2.1.ebuild b/dev-ruby/thor/thor-1.2.1.ebuild
deleted file mode 100644
index 833e26c3ca37..000000000000
--- a/dev-ruby/thor/thor-1.2.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2000-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-RUBY_FAKEGEM_DOCDIR="rdoc"
-RUBY_FAKEGEM_EXTRADOC="README.md"
-RUBY_FAKEGEM_BINWRAP="thor"
-
-RUBY_FAKEGEM_GEMSPEC="thor.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Simple and efficient tool for building self-documenting command line utilities"
-HOMEPAGE="http://whatisthor.com/"
-
-SRC_URI="https://github.com/erikhuda/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV}.tgz"
-
-LICENSE="MIT"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux"
-IUSE="doc"
-
-# For initial target porting (new rubies), we can make these test deps
-# conditional with:
-# 1. USE_RUBY="<old rubies>" ruby_add_bdepend ...
-# 2. skip logic in each_ruby_test
-ruby_add_bdepend "
- test? (
- dev-ruby/childlabor
- dev-ruby/webmock
- )
-"
-
-RDEPEND+=" !<dev-ruby/thor-0.20.3-r1:0"
-
-all_ruby_prepare() {
- # Remove rspec default options (as we might not have the last
- # rspec).
- rm .rspec || die
-
- # Remove Bundler
- #rm Gemfile || die
- sed -i -e '/[Bb]undler/d' Thorfile || die
-
- # Remove mandatory coverage collection using simplecov which is not
- # packaged.
- sed -i -e '/require .simplecov/,/^end/ s:^:#:' spec/helper.rb || die
-
- # Avoid a spec that requires UTF-8 support, so LANG=C still works,
- # bug 430402
- sed -i -e '/uses maximum terminal width/,/end/ s:^:#:' spec/shell/basic_spec.rb || die
-
- # Avoid specs depending on git, bug 724058
- rm -f spec/quality_spec.rb || die
-
- # Avoid currently broken readline specs (already fixed upstream)
- #rm -f spec/line_editor/readline_spec.rb spec/line_editor_spec.rb || die
-
- # Avoid spec failing on whitespace difference in error message
- sed -i -e '/raises an error for unknown switches/askip "whitespace differences"' spec/parser/options_spec.rb || die
-}
-
-each_ruby_test() {
- case ${RUBY} in
- *ruby30|*ruby31)
- einfo "Skipping tests due to circular dependencies"
- ;;
- *)
- RSPEC_VERSION=3 ruby-ng_rspec spec || die
- ;;
- esac
-}
diff --git a/dev-ruby/timers/Manifest b/dev-ruby/timers/Manifest
index 565497433377..898a35167b02 100644
--- a/dev-ruby/timers/Manifest
+++ b/dev-ruby/timers/Manifest
@@ -1,7 +1,4 @@
AUX timers-4.3.5-timers-slow.patch 6315 BLAKE2B 0d38c8f1954d4eddca2333586667c27f9a2e9e775ebedd862b359c973f4ec8b811cc2e6cc56a8b8e826d207e969d71be8229b8fd520d23270bd5226c4d595f5c SHA512 2c6010448f0c2025297691bc3ad71e58bb56bd9914d1847bb2da9b53eb768b9fc52005534ec867cd839bb076b89e72fd2a87a935ea0aa1460d0adbd5096a61c5
-DIST timers-4.3.3.tar.gz 12928 BLAKE2B af64b44116565a8cb6b68349de6a46e8b67d22508e16e204af104ed7a59cc1db1dae0c36917ccde1932c33e53d9d71fc57cb317570cc24aaee82531ce178f37c SHA512 4a715e4a786f98ec429a250de53cfa67bed6b5a99b6298c21251e6dcf1315f1185d8c45bea01025832046381ebac462cd35415f7573d58c55c30b47c2567d4bf
DIST timers-4.3.5.tar.gz 15651 BLAKE2B 2dc34bb23a4971c673aff5120502714035fe31aed34854b5f7beb744ca46ad704b88d1403ad594ea49f71bb709db7942ed521d237e2477fe2e9d41cc3cd2b538 SHA512 fa5a25eda15628f5a17cd2e7acc4eb2819a766de7ffdba03d425a93cb3229f0f7b8083e9990b5308e65c2d8aab396e33dd4d152252888eff1cc0039cac6a5e46
-EBUILD timers-4.3.3.ebuild 970 BLAKE2B f95fa182186e06ec4638530a449029e458a9b5e39bc99c47a8939ab0a6c9a402cafc7bb2cf3aef6ff5b921b13a4e9c1b73ce7f62f6672e0815b35ea2e16f481c SHA512 7fe35f55b78680a94227ceb2cfbcb4be871a4c59d722bd6aa4199a3859c665837f6833ca45d95d6f7b8950651cb98df16b3ac943da920ec905b68e76dab30b42
EBUILD timers-4.3.5-r1.ebuild 904 BLAKE2B 47fe1c2e244f5335a4d23a52f03c7db9c26b13d1e4ac78f150dd6aa344a0c039d20b7fa7a6cebe19901c414b23e333cc11dfaf25f1e71c9b0e7595cd5ec709f1 SHA512 6ec8addb02dff0a713736f1dba6510d12dcb56b06c2ddbdf395229594850cbd4340ab090a70c63f7e5c32ceef51b41e3ff0175a9aa59c8a0b7422950cfa794e7
-EBUILD timers-4.3.5.ebuild 813 BLAKE2B 4418f9612c0f6da686ec04006f76494e53154004f932a3a4360dca7437d4effa9841e2fae1e64978f145f6403176bdbbe3d5458df4cd6c7430af0f45f051d9ab SHA512 d47607ffda4c19f60c7a913c80653025a290b94a5215567fb8498dc2b2a08c8e620c0ac15f83ae71ba5e129f71f2b75a755d0c88b2a57df31db5a88e66ce524f
MISC metadata.xml 392 BLAKE2B 304dd3c8c4a7b5a75301a3aa2b3d2bcd386f4c2b13921b3170e537563a41c4405670731b4d5825f1195542c7ef9d07253357c6d3366eab04136b0aca31c92777 SHA512 08118b5d6da0eb1be39cff419520f2d700eab618c180985e155428bae3d33c58a5c3b9ddc9f125fbb39917fb90ac51a5b2383f81b209a864557a2e0187239944
diff --git a/dev-ruby/timers/timers-4.3.3.ebuild b/dev-ruby/timers/timers-4.3.3.ebuild
deleted file mode 100644
index ca7a34b65a01..000000000000
--- a/dev-ruby/timers/timers-4.3.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-RUBY_FAKEGEM_EXTRADOC="README.md"
-
-RUBY_FAKEGEM_GEMSPEC="timers.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Pure Ruby one-shot and periodic timers"
-HOMEPAGE="https://github.com/tarcieri/timers"
-SRC_URI="https://github.com/tarcieri/timers/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE=""
-
-all_ruby_prepare() {
- sed -i -e 's:_relative ": "./:' ${RUBY_FAKEGEM_GEMSPEC} || die
-
- sed -i -e '/bundler/I s:^:#:' spec/spec_helper.rb || die
- sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die
-
- # Avoid performance specs to avoid ruby-prof dependency and
- # because we cannot provide a good environment for performance testing.
- rm -f spec/timers/performance_spec.rb || die
-}
diff --git a/dev-ruby/timers/timers-4.3.5.ebuild b/dev-ruby/timers/timers-4.3.5.ebuild
deleted file mode 100644
index 7d66ba42fa46..000000000000
--- a/dev-ruby/timers/timers-4.3.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby27 ruby30 ruby31 ruby32"
-
-RUBY_FAKEGEM_EXTRADOC="readme.md"
-
-RUBY_FAKEGEM_GEMSPEC="timers.gemspec"
-RUBY_FAKEGEM_RECIPE_TEST="sus"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Pure Ruby one-shot and periodic timers"
-HOMEPAGE="https://github.com/socketry/timers"
-SRC_URI="https://github.com/socketry/timers/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE=""
-
-all_ruby_prepare() {
- sed -i -e 's:_relative ": "./:' ${RUBY_FAKEGEM_GEMSPEC} || die
-
- # Avoid performance-based tests since we cannot guarantee specific performance levels.
- rm -f test/timers/performance.rb || die
-}
diff --git a/dev-ruby/transaction-simple/Manifest b/dev-ruby/transaction-simple/Manifest
index 031103cd3302..90193b6a0994 100644
--- a/dev-ruby/transaction-simple/Manifest
+++ b/dev-ruby/transaction-simple/Manifest
@@ -1,3 +1,3 @@
DIST transaction-simple-1.4.0.2.gem 17408 BLAKE2B 731564406f9904e243838ae207958857065aa7e785c6c92ce769cdfe4fe8c32e8bbaedadd1a258b40babf3c4d59c77894ddaf3607978129590c7bf642f2877d8 SHA512 083c2c0d8c094d052a5262e21911985a3bf91875892844fb0559546901eea21ef14b139d7af6446c7a7bfbd1adf177e2d73cba2798c823bf295a6c87981165a4
-EBUILD transaction-simple-1.4.0.2-r3.ebuild 630 BLAKE2B 9671a3bc7b0175ba62e64391b089b3cb20d07a12b16092369e4cfa5752e463badc89ed580554aad479dd8e8d6da5df430c03daf447fcedfbde19c23901748a7a SHA512 5b36dec60ae47ebc5eafba191fc8b6aa5c2661b3fe35bde3dd4e27153caf8c982c782fe5e689bb51329fd97fce2340c5d8c88a81b06a95d1806e7bf1db8a3ee9
+EBUILD transaction-simple-1.4.0.2-r3.ebuild 630 BLAKE2B 0885391a68410685f1d0e4c3671c3f03917424618d81e0224dbafba77f9cffc0331952aa63fd9c379876b0196c1ad2f2cef67c0d502adff7a6503b754d179836 SHA512 e87e1f9522f18879f1115093fb96d1b42e173cbe274c2b159cba8c686f8c1e45ba82dc07127577a619fd65b8bc9dc6305fbe5a66d851769d4f5cacc6e9129853
MISC metadata.xml 356 BLAKE2B f126702b9fff448882c2bbd2321d813d414e220e0b9c66ff1e6d20d2329aa6974bebbdd51d5676cd443fbff8b2390dbea44813dc8f18556ca261ca1295d738e1 SHA512 c83b0202dfd6edc7669b56bdb511a27d499d7b8aa45553e4b6f572bb5b02bcbd985b8f9cb85fda8d0f698b9e8099eb4a1f9a905a52911177870a245ac255aa1d
diff --git a/dev-ruby/transaction-simple/transaction-simple-1.4.0.2-r3.ebuild b/dev-ruby/transaction-simple/transaction-simple-1.4.0.2-r3.ebuild
index 62b86fcffde6..b02cdad03356 100644
--- a/dev-ruby/transaction-simple/transaction-simple-1.4.0.2-r3.ebuild
+++ b/dev-ruby/transaction-simple/transaction-simple-1.4.0.2-r3.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_RECIPE_TEST="none"
diff --git a/dev-ruby/treetop/Manifest b/dev-ruby/treetop/Manifest
index a26fcd776618..7b795bf6f34f 100644
--- a/dev-ruby/treetop/Manifest
+++ b/dev-ruby/treetop/Manifest
@@ -1,5 +1,3 @@
-DIST treetop-1.6.11.tar.gz 103827 BLAKE2B ccc73373f2e44a95b872ae9f2f32f090363b218eb139d65a4e72c5595d99d5cc3ea7071527f0954aa6b63bc8d5562b0e932ecadec3de962269b3031d1f449b6c SHA512 649310b5c69bb963fc04a597d7aad6bb45deec34c3a46a193ee16203a07aff1d221732b6c7343d68fc772be44522db5f445a45e64bee5ac385ac2eb70abde14a
DIST treetop-1.6.12.tar.gz 104225 BLAKE2B c0748409d20231d075f7461ecc7b96922a100922a4db75265fd7f687d2212c020d24fbd3011459b48b8f786bff2c025579d5f0cacbc9c7d3694a5bf717cd9d35 SHA512 210a2225a83f10ce6d79f2eb4d5937e7fa805384767f4e2d1ca91fe8408436560ad062b8d6c69209651fdf304e6a850e14b9d0a509dc25fe13ab9225d2ca7bdc
-EBUILD treetop-1.6.11-r1.ebuild 935 BLAKE2B 24a995a77559cfd2568cb61c0757a75504ae6c3ea343fdfa698dbed24d09912b6be128d2d42f59a43f45a0374dd4560b7c7741c1311b65d35f766923deaace11 SHA512 a553c1bd8e212b5e6656bd6e469c085d92c8697492b54492f5ed9ba0a002df0378e94981810066c18ba0f8e1b37b09702a72415ea2aaf6212fcf39db2d0fc121
-EBUILD treetop-1.6.12.ebuild 928 BLAKE2B 9a1d2a91e90b96c09036a79862a73f61f108720227dea1a6d02badf74ac6441ad6316ed3870f1131ff0327b3d83af6cb44b406714f17bf323bdf53be74afbe01 SHA512 66d66f0a8559f3e2cffb944d8a2a44144a0a6db134af2b8dd6c415a50d8349ce95457f9bfb2add5e3e266edd6c2e62a710430ca7d8184cc742a023d7da18434e
+EBUILD treetop-1.6.12.ebuild 935 BLAKE2B 38e3adf0ea65e69709aad0cc502199e28f91dc03cbad22100ae3f55173085cc1619afe4ee9c6c939066179554cc93eedbc0dbde9ed520290b971998450b79c12 SHA512 e681fc7849b000bdc2c2d1836de534139f5bd26ce3bc37736f2c2456aad66d95a5fbec38202f2b3bd1275e77c98f0142f1bc7cd3c96b04d3a75965aa222bd23c
MISC metadata.xml 342 BLAKE2B ed50be281e510f8067c9eb56e3fa25137604148fc85d33b985960bac2e448d6ed9284346380916ea570fe7ce68cb3937c25ebdd73b5b53234baddd45daaccc84 SHA512 240a97d8d731d3a1d6939a32d3f92b9af48773c8a70049f2a6247405db316bd9cb788026c8e1265def0efe36fd13ebb2e4a9e7499da4606fd34ce773b8bcf086
diff --git a/dev-ruby/treetop/treetop-1.6.11-r1.ebuild b/dev-ruby/treetop/treetop-1.6.11-r1.ebuild
deleted file mode 100644
index b2e939d1c226..000000000000
--- a/dev-ruby/treetop/treetop-1.6.11-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-RUBY_FAKEGEM_TASK_DOC=""
-RUBY_FAKEGEM_DOCDIR="doc"
-RUBY_FAKEGEM_EXTRADOC="README.md"
-
-RUBY_FAKEGEM_GEMSPEC="treetop.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Treetop is a language for describing languages"
-HOMEPAGE="https://github.com/cjheath/treetop"
-SRC_URI="https://github.com/cjheath/treetop/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="MIT"
-
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-SLOT="0"
-IUSE=""
-
-ruby_add_bdepend "test? ( >=dev-ruby/rr-1.0 dev-ruby/activesupport )"
-ruby_add_rdepend ">=dev-ruby/polyglot-0.3.1:0"
-
-all_ruby_prepare() {
- sed -i -e 's/git ls-files -z/find * -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
-}
-
-all_ruby_install() {
- all_fakegem_install
-
- dodoc -r examples
-}
diff --git a/dev-ruby/treetop/treetop-1.6.12.ebuild b/dev-ruby/treetop/treetop-1.6.12.ebuild
index ed50b8952f53..f255b7c9d3e4 100644
--- a/dev-ruby/treetop/treetop-1.6.12.ebuild
+++ b/dev-ruby/treetop/treetop-1.6.12.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC=""
diff --git a/metadata/Manifest.gz b/metadata/Manifest.gz
index f4dfabc63355..9d9cc57c6bc0 100644
--- a/metadata/Manifest.gz
+++ b/metadata/Manifest.gz
Binary files differ
diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk
index 19ec871b02ba..3f6f9ab48350 100644
--- a/metadata/dtd/timestamp.chk
+++ b/metadata/dtd/timestamp.chk
@@ -1 +1 @@
-Fri, 23 Jun 2023 11:39:36 +0000
+Fri, 23 Jun 2023 17:39:36 +0000
diff --git a/metadata/glsa/Manifest b/metadata/glsa/Manifest
index a4d6342c2e7e..a72a011f980a 100644
--- a/metadata/glsa/Manifest
+++ b/metadata/glsa/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 546124 BLAKE2B b8c960a7f19f0cac8ea254b9330e3a1add1f4be28ff0a9b4020f5e68f250a6b511280b7dd1dec4e472c73320abae493b0ab8441075c681803abfb19ea280332e SHA512 0dccc4f920463740ab2803f55b50f1cf0df2af9d58750c12c98fe5963dc8738d5a3e8d6a895c2e0d3ba8230bb61557b6e88b4fa56b2f05f5697577b68a9413df
-TIMESTAMP 2023-06-23T11:39:39Z
+TIMESTAMP 2023-06-23T17:39:40Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSVhHtfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSV2NxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klDHrw//eSw5vl3mfKt6OpGWAA8tExt4QTpsU1DfUvUZClan3IP/W/R4kmALageQ
-Bd6QiwrTrPVXx9QzhB4IBPPZJpNffjo6uxlY2f/tgCmXNowVrbZF+p+cb5woRn4y
-tU92LDBdktD2CSHftFuyJwCpiAZXWDqgCCG6OtVrBwQYLlePiaoLkdDujiV28cAD
-Et5LS/7njimGcCaxaGCJbTBg90KWXkGSPw2n5XJeKt4h4tsYiwn0kq1+gIr/nJRQ
-mQqWtNCkR0Q/HOM1/Xt+nixZK6cwMVBwOkZ0Jl1qF6FLpCAuD2vyLya1w17r2fQq
-vzOQ99hGcebEEIXNlzFZTVEwpGMtcOHPGz1nx18/wunq/CsNIbHgaP6hoYInewCC
-CV1f/ERiyyRtZLVgiFgJ05XV8r/CBZaj6lYEq1JALiyGE+2zjZXy8eAZp4kvetui
-WPC7qAHBRotVOUL9PegNVNaFWf1BMTVEXY5Kq1jstWD/EFLmnKHqe+xl0BEofcKb
-JdYat31K9KRfhgNMuemvLu0Rr6JJnSVh9Aeu1g/Ukbei1kokMTRmGLet/Cz9p22j
-GY6E9OlZKNvm0NeBLtb+phW9SsYW7TQnzWYhRrkQ1DvydAJj8yARGYPeOsKpQqaj
-PLHukmex05qFxPuTyHO37kuFn0PzQHy1uwLkZuuH2CsuqllHc14=
-=opB6
+klD80g//R6cCHO6LErMtHOaHXgboPDWeTgO7XJFcpNoLjNhine6j32teU15WDlvy
+MEaIRvwjFLns6lUkilNdADkIicUh+r+FuhWZgkqwKBlAxKQjA52gxAMppFOh5h5G
+F/1+vgCnEcqoDgB9iuklciOFT57165zPkASG2Fcxt/tA2FqvLTw3ydDH32d5ehlh
+Uf33D6R7WlNM79qeGbrO9kya2I6KITFbIsBeX2CjS6Qbp5kDsSYCx/35/+E+aYCj
+wUBAmg+yHcnsMXGziWpDQMFSdQMAxw+Qys4GjBJW3CrK1VLYavzvmQRucA1B7E9n
++zzIJx2Zg6tYALCOJ7WvwxA0Ix3gYx44x9VEgBxRUWKXLTu2ySkftgpeBYmgHdQy
+Ihj4lemB6UG1PS/BiB7oNVJkTw5k9m+3qhfLfSkW8up1pLFaFxuGNkp5sudy2okb
+T82ki1JZceI8rR0RhiG8318ca1VIpvY+QRFvoOjdBKWW8el9GJZUh9uBFdxFx3Bd
+s7AKTwZ9LpgHGrICUYdZ/9X+xW6wW1XmF77HkJVT3RQFwYLgeDgs0rw3rzbGRvx0
+My/h+NPzpk5w4FlTyLWDaBV9CbXF5nrJbxpktrdwchbQB8Ums0Ajjs+tVOeflzSA
+RrofWZwGz2ZbDBOmmU/nV8r3HqJHmG98qKg62vTj3D5nE9yNy8Q=
+=ORFy
-----END PGP SIGNATURE-----
diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk
index 19ec871b02ba..3f6f9ab48350 100644
--- a/metadata/glsa/timestamp.chk
+++ b/metadata/glsa/timestamp.chk
@@ -1 +1 @@
-Fri, 23 Jun 2023 11:39:36 +0000
+Fri, 23 Jun 2023 17:39:36 +0000
diff --git a/metadata/md5-cache/Manifest.gz b/metadata/md5-cache/Manifest.gz
index 8e9d7f0b6804..4e8d0d50258a 100644
--- a/metadata/md5-cache/Manifest.gz
+++ b/metadata/md5-cache/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-lang/Manifest.gz b/metadata/md5-cache/dev-lang/Manifest.gz
index f23d200cdbdc..0ce0ba172800 100644
--- a/metadata/md5-cache/dev-lang/Manifest.gz
+++ b/metadata/md5-cache/dev-lang/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-lang/perl-5.38.0_rc2 b/metadata/md5-cache/dev-lang/perl-5.38.0_rc2
new file mode 100644
index 000000000000..349e49b83629
--- /dev/null
+++ b/metadata/md5-cache/dev-lang/perl-5.38.0_rc2
@@ -0,0 +1,15 @@
+BDEPEND=berkdb? ( sys-libs/db:= ) gdbm? ( >=sys-libs/gdbm-1.8.3:= ) app-arch/bzip2 >=sys-libs/zlib-1.2.12 virtual/libcrypt:=
+DEFINED_PHASES=configure install postinst postrm preinst prepare setup test
+DEPEND=berkdb? ( sys-libs/db:= ) gdbm? ( >=sys-libs/gdbm-1.8.3:= ) app-arch/bzip2 >=sys-libs/zlib-1.2.12 virtual/libcrypt:=
+DESCRIPTION=Larry Wall's Practical Extraction and Report Language
+EAPI=7
+HOMEPAGE=https://www.perl.org/
+INHERIT=alternatives flag-o-matic toolchain-funcs multilib multiprocessing
+IUSE=berkdb debug doc gdbm ithreads minimal quadmath
+LICENSE=|| ( Artistic GPL-1+ )
+PDEPEND=!minimal? ( >=app-admin/perl-cleaner-2.5 >=virtual/perl-CPAN-2.290.0 >=virtual/perl-Encode-3.120.0 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0 virtual/perl-Test-Harness )
+RDEPEND=berkdb? ( sys-libs/db:= ) gdbm? ( >=sys-libs/gdbm-1.8.3:= ) app-arch/bzip2 >=sys-libs/zlib-1.2.12 virtual/libcrypt:=
+SLOT=0/5.38
+SRC_URI=https://semiotic.systems/perl-5.38.0-RC2.tar.gz https://github.com/gentoo-perl/perl-patchset/archive/refs/tags/perl-5.38.0-patches-1.tar.gz https://dev.gentoo.org/~dilfridge/distfiles/perl-5.38.0-patches-1.tar.gz https://github.com/arsv/perl-cross/releases/download/1.4.1/perl-cross-1.4.1.tar.gz
+_eclasses_=alternatives ad206653f4297ab882a84e8fb7940190 flag-o-matic ad475baa777c9978fa035216c8264a10 multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
+_md5_=bc8867fc58f6a5bfaad92b5ef2e8ed3c
diff --git a/metadata/md5-cache/dev-ruby/Manifest.gz b/metadata/md5-cache/dev-ruby/Manifest.gz
index fdd175062ed9..0353f80a9ed4 100644
--- a/metadata/md5-cache/dev-ruby/Manifest.gz
+++ b/metadata/md5-cache/dev-ruby/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-ruby/polyglot-0.3.5-r1 b/metadata/md5-cache/dev-ruby/polyglot-0.3.5-r1
index 0559e3fa52b9..2bcfbdbcd908 100644
--- a/metadata/md5-cache/dev-ruby/polyglot-0.3.5-r1
+++ b/metadata/md5-cache/dev-ruby/polyglot-0.3.5-r1
@@ -1,17 +1,17 @@
-BDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+BDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) )
DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
DESCRIPTION=Polyglot provides support for fully-custom DSLs
EAPI=8
-HOMEPAGE=http://polyglot.rubyforge.org/
+HOMEPAGE=https://github.com/cjheath/polyglot
INHERIT=ruby-fakegem
-IUSE=ruby_targets_ruby30 ruby_targets_ruby31 doc test
+IUSE=ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 doc test
KEYWORDS=~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
+RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 )
RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://rubygems.org/gems/polyglot-0.3.5.gem
_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=1ae3f3540aa37c932e482e70740094aa
+_md5_=9a1d488a8761e121f07d846cc3e939a9
diff --git a/metadata/md5-cache/dev-ruby/text-hyphen-1.4.1-r3 b/metadata/md5-cache/dev-ruby/text-hyphen-1.4.1-r3
deleted file mode 100644
index 00b22462d128..000000000000
--- a/metadata/md5-cache/dev-ruby/text-hyphen-1.4.1-r3
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/hoe-2.8.0[ruby_targets_ruby30(-)] dev-ruby/test-unit:2[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/hoe-2.8.0[ruby_targets_ruby31(-)] dev-ruby/test-unit:2[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rake[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-DESCRIPTION=Hyphenates words according to the rules of the language the word is written in
-EAPI=8
-HOMEPAGE=http://rubyforge.org/projects/text-format
-INHERIT=ruby-fakegem
-IUSE=ruby_targets_ruby30 ruby_targets_ruby31 doc test test
-KEYWORDS=amd64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
-LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
-RESTRICT=!test? ( test ) !test? ( test )
-SLOT=0
-SRC_URI=https://rubygems.org/gems/text-hyphen-1.4.1.gem
-_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=cf38a476a67efc5aa44e8ec0fb202464
diff --git a/metadata/md5-cache/dev-ruby/thor-1.2.1 b/metadata/md5-cache/dev-ruby/thor-1.2.1
deleted file mode 100644
index 37dd16eea002..000000000000
--- a/metadata/md5-cache/dev-ruby/thor-1.2.1
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=ruby_targets_ruby30? ( test? ( dev-ruby/childlabor[ruby_targets_ruby30(-)] dev-ruby/webmock[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/childlabor[ruby_targets_ruby31(-)] dev-ruby/webmock[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-DESCRIPTION=Simple and efficient tool for building self-documenting command line utilities
-EAPI=8
-HOMEPAGE=http://whatisthor.com/
-INHERIT=ruby-fakegem
-IUSE=doc ruby_targets_ruby30 ruby_targets_ruby31 doc test test
-KEYWORDS=amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux
-LICENSE=MIT
-RDEPEND=!<dev-ruby/thor-0.20.3-r1:0 ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
-RESTRICT=!test? ( test ) !test? ( test )
-SLOT=1
-SRC_URI=https://github.com/erikhuda/thor/archive/v1.2.1.tar.gz -> thor-git-1.2.1.tgz
-_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=8eb87e459b5c314ef142b3b7aef1cea1
diff --git a/metadata/md5-cache/dev-ruby/timers-4.3.3 b/metadata/md5-cache/dev-ruby/timers-4.3.3
deleted file mode 100644
index fa7b61de6fc7..000000000000
--- a/metadata/md5-cache/dev-ruby/timers-4.3.3
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-DESCRIPTION=Pure Ruby one-shot and periodic timers
-EAPI=7
-HOMEPAGE=https://github.com/tarcieri/timers
-INHERIT=ruby-fakegem
-IUSE=ruby_targets_ruby30 ruby_targets_ruby31 doc test test
-KEYWORDS=~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris
-LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
-RESTRICT=!test? ( test ) !test? ( test )
-SLOT=4
-SRC_URI=https://github.com/tarcieri/timers/archive/v4.3.3.tar.gz -> timers-4.3.3.tar.gz
-_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=2e3ec9e051077a4c92792a903573bc16
diff --git a/metadata/md5-cache/dev-ruby/timers-4.3.5 b/metadata/md5-cache/dev-ruby/timers-4.3.5
deleted file mode 100644
index cc4767b7dcaf..000000000000
--- a/metadata/md5-cache/dev-ruby/timers-4.3.5
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/sus[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/sus[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( test? ( dev-ruby/sus[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) )
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
-DESCRIPTION=Pure Ruby one-shot and periodic timers
-EAPI=8
-HOMEPAGE=https://github.com/socketry/timers
-INHERIT=ruby-fakegem
-IUSE=ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 doc test test
-KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris
-LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 )
-RESTRICT=!test? ( test ) !test? ( test )
-SLOT=4
-SRC_URI=https://github.com/socketry/timers/archive/v4.3.5.tar.gz -> timers-4.3.5.tar.gz
-_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=5407a8f605e071b52f341c6a53d76f6f
diff --git a/metadata/md5-cache/dev-ruby/transaction-simple-1.4.0.2-r3 b/metadata/md5-cache/dev-ruby/transaction-simple-1.4.0.2-r3
index 021cf3c774c0..9ee7a34d6e4b 100644
--- a/metadata/md5-cache/dev-ruby/transaction-simple-1.4.0.2-r3
+++ b/metadata/md5-cache/dev-ruby/transaction-simple-1.4.0.2-r3
@@ -1,17 +1,17 @@
-BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/test-unit-2.5.1-r1[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/test-unit-2.5.1-r1[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/test-unit-2.5.1-r1[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/test-unit-2.5.1-r1[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( test? ( >=dev-ruby/test-unit-2.5.1-r1[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) )
DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
DESCRIPTION=Provides transaction support at the object level
EAPI=8
HOMEPAGE=https://github.com/halostatue/transaction-simple
INHERIT=ruby-fakegem
-IUSE=test ruby_targets_ruby30 ruby_targets_ruby31 doc test
+IUSE=test ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 doc test
KEYWORDS=amd64 ~ppc ~ppc64 x86
LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
+RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 )
RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://rubygems.org/gems/transaction-simple-1.4.0.2.gem
_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=aa7e1014d0c955e527244d7196b19fc6
+_md5_=6fe6b1e103bccb74c65de76f3c3a7115
diff --git a/metadata/md5-cache/dev-ruby/treetop-1.6.11-r1 b/metadata/md5-cache/dev-ruby/treetop-1.6.11-r1
deleted file mode 100644
index 53a08e7b4c5b..000000000000
--- a/metadata/md5-cache/dev-ruby/treetop-1.6.11-r1
+++ /dev/null
@@ -1,17 +0,0 @@
-BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby30(-)] dev-ruby/activesupport[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby31(-)] dev-ruby/activesupport[ruby_targets_ruby31(-)] ) ) test? ( ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-DESCRIPTION=Treetop is a language for describing languages
-EAPI=8
-HOMEPAGE=https://github.com/cjheath/treetop
-INHERIT=ruby-fakegem
-IUSE=test ruby_targets_ruby30 ruby_targets_ruby31 doc test test
-KEYWORDS=~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
-LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
-RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
-SLOT=0
-SRC_URI=https://github.com/cjheath/treetop/archive/v1.6.11.tar.gz -> treetop-1.6.11.tar.gz
-_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=b973850e21e543e2b2dd998e74bd73e2
diff --git a/metadata/md5-cache/dev-ruby/treetop-1.6.12 b/metadata/md5-cache/dev-ruby/treetop-1.6.12
index 40802fb98900..d73cf055cf08 100644
--- a/metadata/md5-cache/dev-ruby/treetop-1.6.12
+++ b/metadata/md5-cache/dev-ruby/treetop-1.6.12
@@ -1,17 +1,17 @@
-BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby30(-)] dev-ruby/activesupport[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby31(-)] dev-ruby/activesupport[ruby_targets_ruby31(-)] ) ) test? ( ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby30(-)] dev-ruby/activesupport[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby31(-)] dev-ruby/activesupport[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( test? ( >=dev-ruby/rr-1.0[ruby_targets_ruby32(-)] dev-ruby/activesupport[ruby_targets_ruby32(-)] ) ) test? ( ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby32? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby32(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] ) )
DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
DESCRIPTION=Treetop is a language for describing languages
EAPI=8
HOMEPAGE=https://github.com/cjheath/treetop
INHERIT=ruby-fakegem
-IUSE=test ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+IUSE=test ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 doc test test
KEYWORDS=~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris
LICENSE=MIT
-RDEPEND=ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
+RDEPEND=ruby_targets_ruby30? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( >=dev-ruby/polyglot-0.3.1:0[ruby_targets_ruby32(-)] ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby32? ( dev-lang/ruby:3.2 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ruby_targets_ruby32? ( virtual/rubygems[ruby_targets_ruby32(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32 )
RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
SLOT=0
SRC_URI=https://github.com/cjheath/treetop/archive/v1.6.12.tar.gz -> treetop-1.6.12.tar.gz
_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 ruby-fakegem 5e527fb26c6deaeeda655b48a2017909 ruby-ng e7004f981e452d70374b865ccff407aa ruby-utils e06533c14f2bbca05b01fb6b0506e83a toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
-_md5_=d31831dca56b5b69e42ec2080eba6bbf
+_md5_=93132580bf6a65d5e5dd2d4e68938e7e
diff --git a/metadata/md5-cache/net-im/Manifest.gz b/metadata/md5-cache/net-im/Manifest.gz
index a127497f4784..3d13eb531201 100644
--- a/metadata/md5-cache/net-im/Manifest.gz
+++ b/metadata/md5-cache/net-im/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/net-im/signal-desktop-bin-6.21.0 b/metadata/md5-cache/net-im/signal-desktop-bin-6.22.0
index d6300f6fe1ff..af40bf1422c5 100644
--- a/metadata/md5-cache/net-im/signal-desktop-bin-6.21.0
+++ b/metadata/md5-cache/net-im/signal-desktop-bin-6.22.0
@@ -10,6 +10,6 @@ LICENSE=GPL-3 MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 ISC openssl ZL
RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss media-libs/alsa-lib media-libs/mesa[X(+)] net-print/cups sys-apps/dbus[X] x11-libs/cairo x11-libs/gtk+:3[X] x11-libs/libdrm x11-libs/libX11 x11-libs/libxcb x11-libs/libxkbcommon x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/pango sound? ( || ( media-sound/pulseaudio media-sound/apulse ) )
RESTRICT=splitdebug
SLOT=0
-SRC_URI=https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_6.21.0_amd64.deb
+SRC_URI=https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_6.22.0_amd64.deb
_eclasses_=multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs 513c31b3346458ed1f3878b57da6d61c unpacker aa6a4e924009232d8b78b31e932c30b5 xdg 4a14c5c24f121e7da66e5aab4a168c6e xdg-utils baea6080dd821f5562d715887954c9d3
_md5_=3c279d32030343ae6beb580da2f9858b
diff --git a/metadata/md5-cache/virtual/Manifest.gz b/metadata/md5-cache/virtual/Manifest.gz
index 7c35fd58282c..0a41e31afa93 100644
--- a/metadata/md5-cache/virtual/Manifest.gz
+++ b/metadata/md5-cache/virtual/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/virtual/perl-HTTP-Tiny-0.83.0_rc b/metadata/md5-cache/virtual/perl-HTTP-Tiny-0.86.0
index 7eca339fe4c8..d49494858803 100644
--- a/metadata/md5-cache/virtual/perl-HTTP-Tiny-0.83.0_rc
+++ b/metadata/md5-cache/virtual/perl-HTTP-Tiny-0.86.0
@@ -2,6 +2,6 @@ DEFINED_PHASES=-
DESCRIPTION=Virtual for HTTP-Tiny
EAPI=8
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris
-RDEPEND=|| ( =dev-lang/perl-5.38* ~perl-core/HTTP-Tiny-0.83.0_rc ) dev-lang/perl:= !<perl-core/HTTP-Tiny-0.83.0_rc !>perl-core/HTTP-Tiny-0.83.0_rc-r999
+RDEPEND=|| ( =dev-lang/perl-5.38* ~perl-core/HTTP-Tiny-0.86.0 ) dev-lang/perl:= !<perl-core/HTTP-Tiny-0.86.0 !>perl-core/HTTP-Tiny-0.86.0-r999
SLOT=0
_md5_=0ee19a10c59205b34bd25ccbae78511e
diff --git a/metadata/md5-cache/virtual/perl-Module-CoreList-5.202.306.230 b/metadata/md5-cache/virtual/perl-Module-CoreList-5.202.306.230
new file mode 100644
index 000000000000..0ea51136133a
--- /dev/null
+++ b/metadata/md5-cache/virtual/perl-Module-CoreList-5.202.306.230
@@ -0,0 +1,7 @@
+DEFINED_PHASES=-
+DESCRIPTION=Virtual for Module-CoreList
+EAPI=8
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris
+RDEPEND=|| ( ~dev-lang/perl-5.38.0_rc2 ~perl-core/Module-CoreList-5.202.306.230 ) dev-lang/perl:= !<perl-core/Module-CoreList-5.202.306.230 !>perl-core/Module-CoreList-5.202.306.230-r999
+SLOT=0
+_md5_=6536308ef4859bee18a7f4b5d8e7cbc2
diff --git a/metadata/md5-cache/www-servers/Manifest.gz b/metadata/md5-cache/www-servers/Manifest.gz
index 4043b019d232..fd698564b782 100644
--- a/metadata/md5-cache/www-servers/Manifest.gz
+++ b/metadata/md5-cache/www-servers/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/www-servers/nginx-1.25.1 b/metadata/md5-cache/www-servers/nginx-1.25.1
new file mode 100644
index 000000000000..15dcff87b79c
--- /dev/null
+++ b/metadata/md5-cache/www-servers/nginx-1.25.1
@@ -0,0 +1,18 @@
+BDEPEND=nginx_modules_http_brotli? ( virtual/pkgconfig ) sys-devel/gnuconfig >=app-portage/elt-patches-20170815 virtual/pkgconfig
+DEFINED_PHASES=compile configure install postinst prepare setup test
+DEPEND=acct-group/nginx acct-user/nginx virtual/libcrypt:= pcre? ( dev-libs/libpcre:= ) pcre2? ( dev-libs/libpcre2:= ) 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_single_target_luajit? ( dev-lang/luajit:= ) ) 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/modsecurity ) nginx_modules_http_auth_ldap? ( net-nds/openldap:=[ssl?] ) nginx_modules_stream_geoip? ( dev-libs/geoip ) nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= ) arm? ( dev-libs/libatomic_ops ) libatomic? ( dev-libs/libatomic_ops )
+DESCRIPTION=Robust, small and high performance http and reverse proxy server
+EAPI=8
+HOMEPAGE=https://nginx.org
+INHERIT=autotools lua-single ssl-cert toolchain-funcs perl-module systemd pax-utils
+IUSE=aio debug +http +http2 http3 +http-cache libatomic pcre +pcre2 pcre-jit rtmp selinux ssl threads vim-syntax +nginx_modules_http_access +nginx_modules_http_auth_basic +nginx_modules_http_autoindex +nginx_modules_http_browser +nginx_modules_http_charset +nginx_modules_http_empty_gif +nginx_modules_http_fastcgi +nginx_modules_http_geo +nginx_modules_http_grpc +nginx_modules_http_gzip +nginx_modules_http_limit_req +nginx_modules_http_limit_conn +nginx_modules_http_map +nginx_modules_http_memcached +nginx_modules_http_mirror +nginx_modules_http_proxy +nginx_modules_http_referer +nginx_modules_http_rewrite +nginx_modules_http_scgi +nginx_modules_http_ssi +nginx_modules_http_split_clients +nginx_modules_http_upstream_hash +nginx_modules_http_upstream_ip_hash +nginx_modules_http_upstream_keepalive +nginx_modules_http_upstream_least_conn +nginx_modules_http_upstream_zone +nginx_modules_http_userid +nginx_modules_http_uwsgi nginx_modules_http_addition nginx_modules_http_auth_request nginx_modules_http_dav nginx_modules_http_degradation nginx_modules_http_flv nginx_modules_http_geoip nginx_modules_http_gunzip nginx_modules_http_gzip_static nginx_modules_http_image_filter nginx_modules_http_mp4 nginx_modules_http_perl nginx_modules_http_random_index nginx_modules_http_realip nginx_modules_http_secure_link nginx_modules_http_slice nginx_modules_http_stub_status nginx_modules_http_sub nginx_modules_http_xslt nginx_modules_stream_access nginx_modules_stream_geo nginx_modules_stream_limit_conn nginx_modules_stream_map nginx_modules_stream_return nginx_modules_stream_split_clients nginx_modules_stream_upstream_hash nginx_modules_stream_upstream_least_conn nginx_modules_stream_upstream_zone nginx_modules_stream_geoip nginx_modules_stream_realip nginx_modules_stream_ssl_preread nginx_modules_mail_imap nginx_modules_mail_pop3 nginx_modules_mail_smtp nginx_modules_http_auth_ldap nginx_modules_http_auth_pam nginx_modules_http_brotli nginx_modules_http_cache_purge nginx_modules_http_dav_ext nginx_modules_http_echo nginx_modules_http_fancyindex nginx_modules_http_geoip2 nginx_modules_http_headers_more nginx_modules_http_javascript nginx_modules_http_lua nginx_modules_http_memc nginx_modules_http_metrics nginx_modules_http_mogilefs nginx_modules_http_naxsi nginx_modules_http_push_stream nginx_modules_http_security nginx_modules_http_slowfs_cache nginx_modules_http_sticky nginx_modules_http_upload_progress nginx_modules_http_upstream_check nginx_modules_http_vhost_traffic_status nginx_modules_stream_geoip2 nginx_modules_stream_javascript nginx_modules_http_spdy +lua_single_target_luajit
+KEYWORDS=~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux
+LICENSE=BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ nginx_modules_http_security? ( Apache-2.0 ) nginx_modules_http_push_stream? ( GPL-3 )
+PDEPEND=vim-syntax? ( app-vim/nginx-syntax )
+RDEPEND=acct-group/nginx acct-user/nginx virtual/libcrypt:= pcre? ( dev-libs/libpcre:= ) pcre2? ( dev-libs/libpcre2:= ) 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_single_target_luajit? ( dev-lang/luajit:= ) ) 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/modsecurity ) nginx_modules_http_auth_ldap? ( net-nds/openldap:=[ssl?] ) nginx_modules_stream_geoip? ( dev-libs/geoip ) nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= ) app-misc/mime-types[nginx] selinux? ( sec-policy/selinux-nginx ) !www-servers/nginx:mainline
+REQUIRED_USE=pcre-jit? ( pcre ) nginx_modules_http_fancyindex? ( nginx_modules_http_addition ) nginx_modules_http_grpc? ( http2 ) nginx_modules_http_lua? ( ^^ ( lua_single_target_luajit ) nginx_modules_http_rewrite pcre !pcre2 ) nginx_modules_http_naxsi? ( nginx_modules_http_rewrite 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 )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://nginx.org/download/nginx-1.25.1.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.3.1.tar.gz -> ngx_devel_kit-0.3.1.tar.gz nginx_modules_http_auth_ldap? ( https://github.com/kvspb/nginx-auth-ldap/archive/42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz -> nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz ) nginx_modules_http_auth_pam? ( https://github.com/stogh/ngx_http_auth_pam_module/archive/v1.5.2.tar.gz -> ngx_http_auth_pam-1.5.2.tar.gz ) nginx_modules_http_brotli? ( https://github.com/google/ngx_brotli/archive/v1.0.0rc.tar.gz -> ngx_brotli-1.0.0rc.tar.gz ) nginx_modules_http_cache_purge? ( http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz -> ngx_http_cache_purge-2.3.tar.gz ) nginx_modules_http_dav_ext? ( https://github.com/arut/nginx-dav-ext-module/archive/v3.0.0.tar.gz -> ngx_http_dav_ext-3.0.0.tar.gz ) nginx_modules_http_echo? ( https://github.com/openresty/echo-nginx-module/archive/v0.63.tar.gz -> ngx_http_echo-0.63.tar.gz ) nginx_modules_http_fancyindex? ( https://github.com/aperezdc/ngx-fancyindex/archive/v0.4.4.tar.gz -> ngx_http_fancyindex-0.4.4.tar.gz ) nginx_modules_http_geoip2? ( https://github.com/leev/ngx_http_geoip2_module/archive/3.4.tar.gz -> ngx_http_geoip2_module-3.4.tar.gz ) nginx_modules_http_headers_more? ( https://github.com/openresty/headers-more-nginx-module/archive/v0.34.tar.gz -> ngx_http_headers_more-0.34.tar.gz ) nginx_modules_http_javascript? ( https://github.com/nginx/njs/archive/5b463b8050377216ad4197cd1e35bb69b35b77e9.tar.gz -> njs-5b463b8050377216ad4197cd1e35bb69b35b77e9.tar.gz ) nginx_modules_http_lua? ( https://github.com/openresty/lua-nginx-module/archive/b6d167cf1a93c0c885c28db5a439f2404874cb26.tar.gz -> ngx_http_lua-b6d167cf1a93c0c885c28db5a439f2404874cb26.tar.gz ) nginx_modules_http_memc? ( https://github.com/openresty/memc-nginx-module/archive/v0.19.tar.gz -> ngx_memc_module-0.19.tar.gz ) nginx_modules_http_metrics? ( https://github.com/madvertise/ngx_metrics/archive/v0.1.1.tar.gz -> ngx_metrics-0.1.1.tar.gz ) nginx_modules_http_mogilefs? ( https://github.com/vkholodkov/nginx-mogilefs-module/archive/1.0.4.tar.gz -> ngx_mogilefs_module-1.0.4.tar.gz ) nginx_modules_http_naxsi? ( https://github.com/wargio/naxsi/archive/4140b2ded624eb36f04c783c460379b9403012d0.tar.gz -> ngx_http_naxsi-4140b2ded624eb36f04c783c460379b9403012d0.tar.gz https://github.com/libinjection/libinjection/archive/49904c42a6e68dc8f16c022c693e897e4010a06c.tar.gz -> ngx_http_naxsi_libinjection-49904c42a6e68dc8f16c022c693e897e4010a06c.tar.gz ) nginx_modules_http_push_stream? ( https://github.com/wandenberg/nginx-push-stream-module/archive/8c02220d484d7848bc8e3a6d9b1c616987e86f66.tar.gz -> ngx_http_push_stream-8c02220d484d7848bc8e3a6d9b1c616987e86f66.tar.gz ) nginx_modules_http_security? ( https://github.com/SpiderLabs/ModSecurity-nginx/archive/refs/tags/v1.0.3.tar.gz -> modsecurity-nginx-1.0.3.tar.gz ) nginx_modules_http_slowfs_cache? ( http://labs.frickle.com/files/ngx_slowfs_cache-1.10.tar.gz -> ngx_http_slowfs_cache-1.10.tar.gz ) nginx_modules_http_sticky? ( https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/1.2.6-10-g08a395c66e42.tar.bz2 -> nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 ) nginx_modules_http_upload_progress? ( https://github.com/masterzen/nginx-upload-progress-module/archive/68b3ab3b64a0cee7f785d161401c8be357bbed12.tar.gz -> ngx_http_upload_progress-68b3ab3b64a0cee7f785d161401c8be357bbed12.tar.gz ) nginx_modules_http_upstream_check? ( https://github.com/yaoweibin/nginx_upstream_check_module/archive/9aecf15ec379fe98f62355c57b60c0bc83296f04.tar.gz -> ngx_http_upstream_check-9aecf15ec379fe98f62355c57b60c0bc83296f04.tar.gz ) nginx_modules_http_vhost_traffic_status? ( https://github.com/vozlt/nginx-module-vts/archive/v0.2.1.tar.gz -> ngx_http_vhost_traffic_status-0.2.1.tar.gz ) nginx_modules_stream_geoip2? ( https://github.com/leev/ngx_http_geoip2_module/archive/3.4.tar.gz -> ngx_http_geoip2_module-3.4.tar.gz ) nginx_modules_stream_javascript? ( https://github.com/nginx/njs/archive/5b463b8050377216ad4197cd1e35bb69b35b77e9.tar.gz -> njs-5b463b8050377216ad4197cd1e35bb69b35b77e9.tar.gz ) rtmp? ( https://github.com/arut/nginx-rtmp-module/archive/v1.2.2.tar.gz -> ngx_rtmp-1.2.2.tar.gz )
+_eclasses_=autotools 6ae9a4347149b19a112caa1182d03bde gnuconfig b6b3e92f8b8c996400074b5f61a59256 libtool 9d3a9a889a6fa62ae794f817c156491b lua-single 86d497a20c93c7ce83af442f627515c1 lua-utils d37a16dbcc1f07f71bc48da75ed7a0cb multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 pax-utils 91d47e5d20627c717aa878b9167c62a8 perl-functions c3fca037246e877693badea0df3b0ef8 perl-module dd4003d3308d7cad2b2d4e2b8298ffb2 readme.gentoo-r1 204091a2cde6179cd9d3db26d09412d3 ssl-cert 33f6c352c602e87ceda767a86f3b7131 systemd 5f4bb0758df2e483babf68cd517078ca toolchain-funcs 513c31b3346458ed1f3878b57da6d61c
+_md5_=e17176eafeccb4ff359c4ba55a446a4b
diff --git a/metadata/news/Manifest b/metadata/news/Manifest
index c2eb8a9cefad..a1395f872610 100644
--- a/metadata/news/Manifest
+++ b/metadata/news/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 15850 BLAKE2B f8a24ac4773896d3e2d3ac7daac96705bb587c68e5945981d4f8b934b213a0a634607e00cc3481f4c847f66ae537f4bfd1c12852438720d6cf5d711fe74f3237 SHA512 29367a48def7059bf0b6fab4e38cd0ba8266ac4b865394c346e798632efcf7c41364d99e462d98a52192ae8270db65e57b9f15ae208bef7ce4c3cfd98163dee1
-TIMESTAMP 2023-06-23T11:39:39Z
+TIMESTAMP 2023-06-23T17:39:40Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSVhHtfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSV2NxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klDZFQ//cUeFDHca/GNCNGX3bLPQhSk1GgLx6A4vJ8Ed9hpBoKqD0L4sqe8yYS0q
-AJFuDZxvvPhAaLLpKKhpkiXP+Og8TUBTzKgY7skNSdFUjZC8qXJF05+sPHmPNa+/
-sf4n2hi1jzY9ZZMyhzWD3F64X+50fPTzX7/Pb6kQI0z25L4PTu6S0PCpHy+GmUU3
-xwAKijMrcq13GNcOG+62rFAmiqsHJp5wQ4lp1dvzumQWbBUfDRrytQ7zYi+T7lVe
-eg6Mw6uUrfeehsAOLDeZYCbh6ATuz3Uc/yCBOsbg8MYow2JfDflWkOk/MmX4yzr9
-p7efzuAKkW2A4q82s0pSetdUPEXqgEPETgvBXyXiLHIGkYyD2lWxGvhbPjFFVCww
-YxEu40n9PuZf0nAVm49EfmszimLTpnZTEc4abZShVumWgdsVtW0m2a5Z7JSc/gS1
-GtM67mkxb9Z1IBXuZyPm6rr4IrA4aiMK3Y1SvJrtcN10IC+P7VadlaQCck8vvwOO
-j6ouPKiVOrZGTPFCNF/ZLvXuDchvnLUp/+kLr366RQhFEnGgNTcvozKl9OUZ0zDJ
-iqeVRdOfyywfew0OffRGqU626olBDso6LUDQ92YuCX0B+cEJgTaQ2Q0xc8IU7U2a
-uVC+wJLFp99vrjoSGiUyADZCJOPclVIAGa9xn5FeHqbfFf0J8K0=
-=7TvO
+klD0YQ/+NmrgTV5jOPqfkpVyI2qLhAV97LmkFEvIBLPC/LIS5DO+iA3tXwX8UeEm
+U0Ob9BfegU8eRl8e85+ye5JKZIAWjE7tQ3sVfk4Q1FYTRI0SLTj/Jx+Rn8PXwIvB
+KiBqiQNrznih+7htr6bXB7uYEll8BDi/He/prp7xX3CPw2CGKx0hdU33d+LYpsW6
+O2PsxkDnHaVfpVxTb/k3EJpN0V/xC/p72WhW/UtZCiD26Yx8rhqkRVomqkDcB4IL
+tPTteru8gs2T2nck2WTpY8ndBGRQZZ0BPL1ehMkwPKK/Ot83vC+F7GNTwk2GgENr
+dIFPGVnisGYEqlkiHfFp2MJvGcvg1R/0hH3ZGNEDhFFSSim5ekbDm/W0GWvMItPM
+4chwkBEuH8wAVBxo1w7K8powAfPsemCnkVfm0WDbtrJciN21zq8dW/AWER9l+0MM
+O4vYvZtquBXrzFrDrZ+088x/QtH0irhqgo/mAhyiWG6h1/9Zpiv85cjB5vJUhLfe
+RvCTiu1iG4SjFPPi0bHnRqo3FkUT346MQ+KD9X0q+vS2+BkXzC5Ln9vkAmP9fM5u
+GUBUKu6Vh1znhDfbiNx65GnAS8qZ/fjOkebj/WZvbXKN3PjebedGzLUiZjTMVgC5
+GmrabCXT0hYpSh0xg8bNtK4rNGm2//KUTHgDtruT+soNJEZX1Zk=
+=OLDR
-----END PGP SIGNATURE-----
diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk
index 19ec871b02ba..3f6f9ab48350 100644
--- a/metadata/news/timestamp.chk
+++ b/metadata/news/timestamp.chk
@@ -1 +1 @@
-Fri, 23 Jun 2023 11:39:36 +0000
+Fri, 23 Jun 2023 17:39:36 +0000
diff --git a/metadata/projects.xml b/metadata/projects.xml
index 2d828e0676ea..9e85b1d01230 100644
--- a/metadata/projects.xml
+++ b/metadata/projects.xml
@@ -1173,22 +1173,6 @@
</member>
</project>
<project>
- <email>gkeys@gentoo.org</email>
- <name>Keys</name>
- <url>https://wiki.gentoo.org/wiki/Project:Gentoo-keys</url>
- <description>Gentoo Keys is a Python based project that aims to manage the OpenPGP keys used for validation on users and Gentoo's infrastructure servers.</description>
- <member is-lead="1">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- <role>Lead, developer, tester,...</role>
- </member>
- <member>
- <email>robbat2@gentoo.org</email>
- <name>Robin Johnson</name>
- <role>Project overview, infrastructure liaison, Gleps</role>
- </member>
- </project>
- <project>
<email>gentoostats@gentoo.org</email>
<name>Gentoostats</name>
<url>https://wiki.gentoo.org/wiki/Project:Gentoostats</url>
diff --git a/metadata/timestamp b/metadata/timestamp
index 3b526d64ace3..d63fcbb1eca8 100644
--- a/metadata/timestamp
+++ b/metadata/timestamp
@@ -1 +1 @@
-Fri Jun 23 11:39:36 AM UTC 2023
+Fri Jun 23 05:39:36 PM UTC 2023
diff --git a/metadata/timestamp.chk b/metadata/timestamp.chk
index 0804fdc26af6..ac0e3a0f8eb3 100644
--- a/metadata/timestamp.chk
+++ b/metadata/timestamp.chk
@@ -1 +1 @@
-Fri, 23 Jun 2023 11:45:01 +0000
+Fri, 23 Jun 2023 17:45:01 +0000
diff --git a/metadata/timestamp.commit b/metadata/timestamp.commit
index b82ce86fc224..3b9935e0830c 100644
--- a/metadata/timestamp.commit
+++ b/metadata/timestamp.commit
@@ -1 +1 @@
-b65317617e215a83ef4cb6bec4c6b1457880e4ba 1687518091 2023-06-23T11:01:31+00:00
+a278cacaa199d61860e8df95aa8f8e6967adba77 1687540486 2023-06-23T17:14:46+00:00
diff --git a/metadata/timestamp.x b/metadata/timestamp.x
index 104c54b9be72..9a61cbd22bb3 100644
--- a/metadata/timestamp.x
+++ b/metadata/timestamp.x
@@ -1 +1 @@
-1687520401 Fri 23 Jun 2023 11:40:01 AM UTC
+1687542001 Fri 23 Jun 2023 05:40:01 PM UTC
diff --git a/metadata/xml-schema/timestamp.chk b/metadata/xml-schema/timestamp.chk
index 19ec871b02ba..3f6f9ab48350 100644
--- a/metadata/xml-schema/timestamp.chk
+++ b/metadata/xml-schema/timestamp.chk
@@ -1 +1 @@
-Fri, 23 Jun 2023 11:39:36 +0000
+Fri, 23 Jun 2023 17:39:36 +0000
diff --git a/net-im/Manifest.gz b/net-im/Manifest.gz
index 9437e3093f60..46fc793d36d5 100644
--- a/net-im/Manifest.gz
+++ b/net-im/Manifest.gz
Binary files differ
diff --git a/net-im/signal-desktop-bin/Manifest b/net-im/signal-desktop-bin/Manifest
index af83eba77b70..dc83d6b45b0e 100644
--- a/net-im/signal-desktop-bin/Manifest
+++ b/net-im/signal-desktop-bin/Manifest
@@ -1,3 +1,3 @@
-DIST signal-desktop_6.21.0_amd64.deb 112199148 BLAKE2B a976305edf697a6bb7e131e63479e425352728a1a4ec9dbc515da8b7f87496e286e23e97e657e2706f1ae71b21cc9ba140404b8e65c7b43ef88d1798d1afd0a9 SHA512 b5b3099506a2bcd0a9e64425f76cdffb3388046955f7289e45497332e10a3ffaf50a009a1f2dc59a1a85377e10b3ca1d39377f84a75ee7dd54e6a030bc3b5280
-EBUILD signal-desktop-bin-6.21.0.ebuild 2359 BLAKE2B 5674c91e89c9c10e53a83c949c86034ec235ac4cc89d1e3d754c10b6e025af62fefd318d69c7c0cfb6d00672f91e94b597436ee31b22146668f6de89357e8c65 SHA512 92692a3bc6520d7aae59b705b8b3837773f9d7dadc9aa5c83d1ad2fc8b03e66a21c55906a9a7f9f9f813f26a76c942e188754887e8050e264bd5c552bca1e2dd
+DIST signal-desktop_6.22.0_amd64.deb 111798480 BLAKE2B dce15948a4747dc7e6dd893d2771a447fae01ddfa448dcdda7a23dfb77086205e8d023d82706c105c2af224f7e792c47b1cebc67a3d1e525f2ca72bcd84f4178 SHA512 ea4d3c4004664fd48dfeb1fc27dc3152741273a8ff7320b44c1e6a7c3f333b55997ac8b7c0f0cf0852f846302d8e71721c8370c03055da5f7aaa59e1c12a5f94
+EBUILD signal-desktop-bin-6.22.0.ebuild 2359 BLAKE2B 5674c91e89c9c10e53a83c949c86034ec235ac4cc89d1e3d754c10b6e025af62fefd318d69c7c0cfb6d00672f91e94b597436ee31b22146668f6de89357e8c65 SHA512 92692a3bc6520d7aae59b705b8b3837773f9d7dadc9aa5c83d1ad2fc8b03e66a21c55906a9a7f9f9f813f26a76c942e188754887e8050e264bd5c552bca1e2dd
MISC metadata.xml 486 BLAKE2B cfc118c5488c5c50b4de72443e6b836992a4ba7a6fb94358552c814006a49b00580b5ab0a57141b17809e1d2a898b9e23e6fee0837778edfa7f6de53ccc09d01 SHA512 4ab7dc5fd6fb03e7296164d0d924ab4eb11c6fd31c2fc651706892eda53b29be5db65cd94da8e6aa743e9b7ed10ee3e5f25f14dd2d1be99459daa11f529dbb95
diff --git a/net-im/signal-desktop-bin/signal-desktop-bin-6.21.0.ebuild b/net-im/signal-desktop-bin/signal-desktop-bin-6.22.0.ebuild
index 9368120568ad..9368120568ad 100644
--- a/net-im/signal-desktop-bin/signal-desktop-bin-6.21.0.ebuild
+++ b/net-im/signal-desktop-bin/signal-desktop-bin-6.22.0.ebuild
diff --git a/profiles/Manifest.gz b/profiles/Manifest.gz
index d7a7a2d013df..099988a7ee85 100644
--- a/profiles/Manifest.gz
+++ b/profiles/Manifest.gz
Binary files differ
diff --git a/profiles/package.mask b/profiles/package.mask
index b585ba63b60f..a957f23f0129 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -33,6 +33,11 @@
#--- END OF EXAMPLES ---
+# Hans de Graaff <graaff@gentoo.org> (2023-06-23)
+# Deprecated package. Renamed to dev-ruby/optimist by upstream. No
+# reverse dependencies. Masked for removal on 2023-07-23.
+dev-ruby/trollop
+
# Sam James <sam@gentoo.org> (2023-06-23)
# Segfaults with non-bison yacc.
=app-shells/bash-5.2_p15-r4
@@ -224,6 +229,7 @@ dev-python/ntlm-auth
~virtual/perl-Getopt-Long-2.540.0
~virtual/perl-HTTP-Tiny-0.82.0
~virtual/perl-HTTP-Tiny-0.83.0_rc
+~virtual/perl-HTTP-Tiny-0.86.0
~virtual/perl-IO-1.520.0
~virtual/perl-IO-Compress-2.204.0
~virtual/perl-IO-Socket-IP-0.410.100_rc
@@ -239,6 +245,7 @@ dev-python/ntlm-auth
~virtual/perl-MIME-Base64-3.160.100_rc
~virtual/perl-Module-CoreList-5.202.305.200
~virtual/perl-Module-CoreList-5.202.306.170
+~virtual/perl-Module-CoreList-5.202.306.230
~virtual/perl-Net-Ping-2.760.0
~virtual/perl-parent-0.241.0
~virtual/perl-podlators-5.10.0
diff --git a/profiles/use.local.desc b/profiles/use.local.desc
index 607d753436ec..8e83f2e91671 100644
--- a/profiles/use.local.desc
+++ b/profiles/use.local.desc
@@ -8705,6 +8705,7 @@ www-servers/nginx:aio - Enables file AIO support
www-servers/nginx:http - Enable HTTP core support
www-servers/nginx:http-cache - Enable HTTP cache support
www-servers/nginx:http2 - Enable HTTP2 module support
+www-servers/nginx:http3 - Enable HTTP3 module support
www-servers/nginx:libatomic - Use libatomic instead of builtin atomic operations
www-servers/nginx:pcre-jit - Enable JIT for pcre
www-servers/nginx:pcre2 - Enable support for pcre2
diff --git a/virtual/Manifest.gz b/virtual/Manifest.gz
index 79ae56b13432..b9f0add78f43 100644
--- a/virtual/Manifest.gz
+++ b/virtual/Manifest.gz
Binary files differ
diff --git a/virtual/perl-HTTP-Tiny/Manifest b/virtual/perl-HTTP-Tiny/Manifest
index e7c37f63c941..1b31d1d58df4 100644
--- a/virtual/perl-HTTP-Tiny/Manifest
+++ b/virtual/perl-HTTP-Tiny/Manifest
@@ -1,4 +1,4 @@
EBUILD perl-HTTP-Tiny-0.76.0-r2.ebuild 526 BLAKE2B 5bf99c3ce2c9f40d4b93801eba13d62bf93551c35deebdc2f74309208d18c6445638acf5eaee4afbfee6bf095c4a13840521f6b5a614de9729d149719f116733 SHA512 24cafcb86c75edff81b62f9704bcc66cf28d274fe15659a0170279c0d2eca208558002022f66aa0955cb3191d0603aafc453578cff55844079acafede7317a33
EBUILD perl-HTTP-Tiny-0.80.0.ebuild 484 BLAKE2B d31a5e39d01de0a2d16ac4eaf8d655fa38af50a74f53148e61dc2c249404d4b85710931a79485637b06ed89209a1397580f8d48ae5f18a72983799cb8697eaca SHA512 6244f37211b5226114849b32bebaafd7295a724a179777d41b9cf894f70407d8ff3e79fdd86f8b5df090a925b5c04569adc497bcf809476607c16473e90fcf88
-EBUILD perl-HTTP-Tiny-0.83.0_rc.ebuild 492 BLAKE2B 0017982f9b0057b74f349f498d43c43e3e27c97f3639cf9c33afe6baa592cbd302f4286913573054ffcbdedab3ebbb66d13b3c614f723acbfd3dc86167556f23 SHA512 a1c90b8144fc972acc20917a21d2071d6d17b11604ec91cd3b62f6c816d729322c9d68059c4511a818ceec677d0a24db175615a52fc97b13a9dfc28f258d61a3
+EBUILD perl-HTTP-Tiny-0.86.0.ebuild 492 BLAKE2B 0017982f9b0057b74f349f498d43c43e3e27c97f3639cf9c33afe6baa592cbd302f4286913573054ffcbdedab3ebbb66d13b3c614f723acbfd3dc86167556f23 SHA512 a1c90b8144fc972acc20917a21d2071d6d17b11604ec91cd3b62f6c816d729322c9d68059c4511a818ceec677d0a24db175615a52fc97b13a9dfc28f258d61a3
MISC metadata.xml 276 BLAKE2B bf414e300df778aefa3427c1942fd63f8c3a574bb68a2fad8d7ae8e94ff33dde4652be01c1441d9c8e7599689bb6dbac313a9c862d90778de833b52b4b763595 SHA512 9362f9f7415ad3662ca05bdf27721dc2c41c0d4ef89a9da86e3e86fab6d1684b1f87de47eef6de4314ef4548dfdedaf1849cd165d94da412f96a3d2e4fcb4a9f
diff --git a/virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.83.0_rc.ebuild b/virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.86.0.ebuild
index 6f04cf8ad515..6f04cf8ad515 100644
--- a/virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.83.0_rc.ebuild
+++ b/virtual/perl-HTTP-Tiny/perl-HTTP-Tiny-0.86.0.ebuild
diff --git a/virtual/perl-Module-CoreList/Manifest b/virtual/perl-Module-CoreList/Manifest
index 2e604f1f8991..3bec056844be 100644
--- a/virtual/perl-Module-CoreList/Manifest
+++ b/virtual/perl-Module-CoreList/Manifest
@@ -2,4 +2,5 @@ EBUILD perl-Module-CoreList-5.202.203.130.ebuild 606 BLAKE2B a4bc28a42d873c919d8
EBUILD perl-Module-CoreList-5.202.205.200-r1.ebuild 606 BLAKE2B edba5a4adf6ffa6d88065f4888875380cbf19bb2cbf13ff8b43eb19d82001fe1fbda6f385a696941922cd614519a531cfc9b1f452c0cd8cda75cde63f6ba7cce SHA512 d23a73242c0c27d26c559f43202bd58c0bb930b2a86ba68bd7863b9802dd354915c6c0a7a851debd6995c255e0a612b19235df02e6c4f17190afe94fa9bbb47d
EBUILD perl-Module-CoreList-5.202.304.230.ebuild 608 BLAKE2B ec625576ae44bc502aedd6699fc91cee7e7aacc24b6ae4924271a109baef7c97d13339f7c8aec90bc31b187a6304bbfd89418de7672c3aac9bdc4971556baed2 SHA512 1784fc5324655dfc624afd7218caa7ec39acd47ef930a1c019a93070f10ea5b108f8a22532922a3f59006c4551bb8e988b0d76cdf700b49295a9b85c8f701d36
EBUILD perl-Module-CoreList-5.202.306.170.ebuild 617 BLAKE2B cd2ea3783d1ef6b85341df5566f9202ad368c7f698ac82a49fe12bc46a4abb926e5ab364141e18a42f8caeaf4f1ad760d7d1a08545a4a2e5e77f8184b0200093 SHA512 872a300d7422b7c1e6fefaf6da1ccbbc6159b8536795720ae39d8041bf99908292bf4ea7d61aabca906c56107cec55fa4d3eca11d2052554408fd52a52c0581d
+EBUILD perl-Module-CoreList-5.202.306.230.ebuild 617 BLAKE2B 258cb0cba3b698c12afd9b9e0401d4e1e24b660af9398ebcff36b2046b4081604208253a5da1573c52cb288a66f4a0234d3af521ee6512cc060721c45f9fae09 SHA512 28401cb3009b3b3b7331f97fd6ff12b4cabc258f1b24ee481fc754ba53918631c9a015eade0448287e278003949be05420f40a038aa971355249ed7a81a17277
MISC metadata.xml 276 BLAKE2B bf414e300df778aefa3427c1942fd63f8c3a574bb68a2fad8d7ae8e94ff33dde4652be01c1441d9c8e7599689bb6dbac313a9c862d90778de833b52b4b763595 SHA512 9362f9f7415ad3662ca05bdf27721dc2c41c0d4ef89a9da86e3e86fab6d1684b1f87de47eef6de4314ef4548dfdedaf1849cd165d94da412f96a3d2e4fcb4a9f
diff --git a/virtual/perl-Module-CoreList/perl-Module-CoreList-5.202.306.230.ebuild b/virtual/perl-Module-CoreList/perl-Module-CoreList-5.202.306.230.ebuild
new file mode 100644
index 000000000000..fb072acb238a
--- /dev/null
+++ b/virtual/perl-Module-CoreList/perl-Module-CoreList-5.202.306.230.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Virtual for ${PN#perl-}"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Check https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/virtual/perl-Module-CoreList
+# When bumping this package.
+RDEPEND="
+ || ( ~dev-lang/perl-5.38.0_rc2 ~perl-core/${PN#perl-}-${PV} )
+ dev-lang/perl:=
+ !<perl-core/${PN#perl-}-${PV}
+ !>perl-core/${PN#perl-}-${PV}-r999
+"
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz
index 22e904396344..d7144971fc62 100644
--- a/www-servers/Manifest.gz
+++ b/www-servers/Manifest.gz
Binary files differ
diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest
index 5fefea414da7..d467d89532ca 100644
--- a/www-servers/nginx/Manifest
+++ b/www-servers/nginx/Manifest
@@ -15,6 +15,7 @@ DIST modsecurity-nginx-1.0.3.tar.gz 34063 BLAKE2B 859a29eb7f67d53a818578f1008f0d
DIST nginx-1.23.3.tar.gz 1108958 BLAKE2B 5b8980f54e3f662ec6b4f8f0a50305c91081aaba881ef94f3c60e5fced8a79710ff09aae3abda3dce7dbcd460b1a46b1d3c0007d5dc76fbec5c4c2ad91ae7aa7 SHA512 da5f473ac213f8947f40f0a69820bf981157432fe9d29cf71fe30225dadd05f5814309034f0411ea15fb70bece8ceefc0cb0b2588096c1a9496c2a36fa425d9f
DIST nginx-1.23.4.tar.gz 1112403 BLAKE2B fe9e4256cf092394a485f121d73f3561c0f1f3a72eaf7a279f23ca88d3cc92ae8498b895687dca582f681e621cc99906e86c7c08a3d2dfd73a203af67ce34d4a SHA512 542a53cae32bf5c7d4d09a4940793e603e0b3c7a8a4ca2bcec84e64bc298fcf0e58297338d1ae0cd28889c4a3e359f3f48532b0addaf7d223f796ed81c3054e8
DIST nginx-1.24.0.tar.gz 1112471 BLAKE2B 7f671c57666dec822bff72fcf0e4eec35ecf981b8f1e489827f9bbbf9179036f61c9fdc7e497c076ccaeb35b9ba3dfe7684e4fc91ee9cae52601f68859bb034d SHA512 1114e37de5664a8109c99cfb2faa1f42ff8ac63c932bcf3780d645e5ed32c0b2ac446f80305b4465994c8f9430604968e176ae464fd80f632d1cb2c8f6007ff3
+DIST nginx-1.25.1.tar.gz 1213919 BLAKE2B 70716deb2b1982c77bc5e710039c4207bf4d95d719d943d5efe817aa1993b937c110d09e22cdf225ced39d53a15de5c888df28cf71792ecb785f7bfa348fe0c1 SHA512 608db15b3b741881a5e67bb847e550eda5e4c45d2991344eb1ba9c835d24c9d839fdba12b9a97df669bbc933463ac6d940ed31389a5ca38e6c75fc9de0c8d55b
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
@@ -40,7 +41,9 @@ DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 BLAKE2B e0729b66554c8890727190a624d4
DIST ngx_rtmp-1.2.2.tar.gz 519934 BLAKE2B 8745816b879f506720955d6c7e5e8af036e88b3601a680071ffb255a3ec31d69e132b5cc8b493202fa985eb30b8529428f683b5154a0054c0ee990d3185c7abf SHA512 3f8c803221854c4b1a06aadc6313fbfec74bd7179c0ee51d4365b26ffa8875881a6e1e48f777a9c9efbb9170ab7478a82920d5448a2c2df485503d37bb03ab81
DIST njs-0.7.12.tar.gz 662554 BLAKE2B 3e925dbbd5e664fc083b3147b6fa353744ab45b50cb2d3feb3f1cf5a4c024440c24b7af08e8a285db7b8e4b48efc776a8a1cb78c6d7ff79d011e127a61e09f6c SHA512 a65a6c6aa3fbd499536284f8d8610f61b87112156885e6c3b1f73872df22195af897766f266b4569098a70e1680aef66594da17d13519f16687b4e43dce49062
DIST njs-0.7.8.tar.gz 613161 BLAKE2B f6b10be576119f418cdbe052a0c82b847d1b43278f4f0764ac7a9c7309162bf48fd60b40542b97e43fa925c87817b19785ffc6c83fa0611ca73256932e8481cb SHA512 086ddb2e5189a8853598870b795bfa788e9e75da9d2502541a49314e8149d7c279acca0709c4c517db26611a416dc5fb989be807cf1697c7411aded1bd5b8237
+DIST njs-5b463b8050377216ad4197cd1e35bb69b35b77e9.tar.gz 704472 BLAKE2B 1e1182fedad45301202f53e7259944cc86651e27798eca170e44f9772842c57d85855ee8e846019a4357ae0d5eacffc5e77cffaecbb9c9a105eb4d731ccdccdb SHA512 2c0b4a2fa3c9b02f47bcbb677b0646c459d6c64b3156be7ed7cb918b6d4948c5bb9f6f68b8b004291bb44e64bfa0dd04fd7c9b6a8083e9fa4b946ada42d284a5
EBUILD nginx-1.23.3.ebuild 40461 BLAKE2B 7a6c11e2893e65d21149c5abf6f062aaffcea8d285f88ffbfbce5603c86d9c0ed6d2cb8f7c0304357836fcca4dd36c6b89cd772d2faf2d9a6c9d432086414961 SHA512 0d993b9d066a000382250cf81bb28b6ee5de60bc87e96e7953e4db8ed84c2d220b5c8c6ad5028db82f6ed221ce43da72fe4785eec07c3f4675659a45a9538980
EBUILD nginx-1.23.4.ebuild 40465 BLAKE2B 8e085ffcae73c70815bbff1e8ab130f216151d26382bcbec2a47fb1164b5ff2d6ae79f1752ff47ebc6a4015db2d2bfcbb28a8a50468c333d6533e407babf2d42 SHA512 84c693c89795831eda35b9faf21ed23817754649c72e2cb217651f5f8098b8adf138bb97763db3638aecb5eff1c66ceca65ee7e7789b3267c0330d2e19582261
EBUILD nginx-1.24.0-r1.ebuild 40466 BLAKE2B e828ddb072ee1579258b7f2e0810c56377ace1cfcb21ed4f3b45d96bcfa3ba4679241acf97345f9644e31a68b008e740b4d97770388e4db90c1c521879c11d83 SHA512 7fa23b36d328790e2f752db5a172f7f6f40668d3c3b6b866d4730e980b4dd35fba9b02b27bec25d20876a30ab2334c1580199597debd616c00e635752f078b05
-MISC metadata.xml 1012 BLAKE2B 5fe75eb9105a998668cfebf02c6976784f4ef3332edd0b6c21a23a5ffb0838b4ae8bc9e52f5157b43c3c0d060825ac46bccabc94bcf8b59447311e0f9ac94f29 SHA512 0d243d1d5271d05d51a46b5825fe32ac5283211434672e99e7314c57f5d1f1f88f48c189fffcdb12747c8d33c9dafe0c8df12376cbbec2912732da0ed6de0642
+EBUILD nginx-1.25.1.ebuild 40571 BLAKE2B 6ac18e98271f474b0d73c26c02e932b349345e4b3962acbb9511286fc09138490f7168afad20afbc9223d2c7b7ed8ef93a21d765418047be90160229511e13dc SHA512 b26df8542975d473ba67d40bfa89cc9493fc61b98b08d78133a6810f85bed06c4507fd7fa672d1b21ed9d493a2d3f960ab5e3f5e8021fdc2d627dba02f6787f4
+MISC metadata.xml 1070 BLAKE2B f32ab57924cd31722d397c85c8121f70be9a170cc64ca9ba397d2dc4c443330b2a78a0016173f34c5d2d63935b443c4b299155f517bc44b51908b840077b4155 SHA512 7e4a4195d49b9788dc057c77306aa9338f2eb0359b82d90ac31219b970b530af295bfbd6002feea96f766f07cff3c41af060ad435e6452d7fab2aedc5ea1b7f2
diff --git a/www-servers/nginx/metadata.xml b/www-servers/nginx/metadata.xml
index c70bffda9b66..53e205ae2540 100644
--- a/www-servers/nginx/metadata.xml
+++ b/www-servers/nginx/metadata.xml
@@ -6,6 +6,7 @@
<flag name="aio">Enables file AIO support</flag>
<flag name="http">Enable HTTP core support</flag>
<flag name="http2">Enable HTTP2 module support</flag>
+ <flag name="http3">Enable HTTP3 module support</flag>
<flag name="http-cache">Enable HTTP cache support</flag>
<flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
<flag name="pcre-jit">Enable JIT for pcre</flag>
diff --git a/www-servers/nginx/nginx-1.25.1.ebuild b/www-servers/nginx/nginx-1.25.1.ebuild
new file mode 100644
index 000000000000..52a937748847
--- /dev/null
+++ b/www-servers/nginx/nginx-1.25.1.ebuild
@@ -0,0 +1,1067 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 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="68b3ab3b64a0cee7f785d161401c8be357bbed12"
+HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/${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/openresty/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.34"
+HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_URI="https://github.com/openresty/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="b6d167cf1a93c0c885c28db5a439f2404874cb26"
+HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}"
+HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/${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="0.2.1"
+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/v${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/wargio/naxsi, GPL-3)
+HTTP_NAXSI_MODULE_PV="4140b2ded624eb36f04c783c460379b9403012d0"
+HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}"
+HTTP_NAXSI_MODULE_URI="https://github.com/wargio/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz"
+HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src"
+HTTP_NAXSI_LIBINJECTION_MODULE_PV="49904c42a6e68dc8f16c022c693e897e4010a06c"
+HTTP_NAXSI_LIBINJECTION_MODULE_P="ngx_http_naxsi_libinjection-${HTTP_NAXSI_LIBINJECTION_MODULE_PV}"
+HTTP_NAXSI_LIBINJECTION_MODULE_URI="https://github.com/libinjection/libinjection/archive/${HTTP_NAXSI_LIBINJECTION_MODULE_PV}.tar.gz"
+
+# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license)
+RTMP_MODULE_PV="1.2.2"
+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.63"
+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}"
+
+# modsecurity for nginx (https://github.com/SpiderLabs/ModSecurity-nginx, https://github.com/SpiderLabs/ModSecurity, Apache-2.0)
+HTTP_SECURITY_MODULE_PV="1.0.3"
+HTTP_SECURITY_MODULE_P="modsecurity-nginx-${HTTP_SECURITY_MODULE_PV}"
+HTTP_SECURITY_MODULE_URI="https://github.com/SpiderLabs/ModSecurity-nginx/archive/refs/tags/v${HTTP_SECURITY_MODULE_PV}.tar.gz"
+HTTP_SECURITY_MODULE_WD="${WORKDIR}/ModSecurity-nginx-${HTTP_SECURITY_MODULE_PV}"
+
+# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3)
+HTTP_PUSH_STREAM_MODULE_PV="8c02220d484d7848bc8e3a6d9b1c616987e86f66"
+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.4"
+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="5b463b8050377216ad4197cd1e35bb69b35b77e9"
+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 systemd 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
+ ${HTTP_NAXSI_LIBINJECTION_MODULE_URI} -> ${HTTP_NAXSI_LIBINJECTION_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="0"
+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 http3 +http-cache libatomic pcre +pcre2 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="
+ acct-group/nginx
+ acct-user/nginx
+ virtual/libcrypt:=
+ pcre? ( dev-libs/libpcre:= )
+ pcre2? ( dev-libs/libpcre2:= )
+ 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/modsecurity )
+ 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}
+ app-misc/mime-types[nginx]
+ selinux? ( sec-policy/selinux-nginx )
+ !www-servers/nginx:mainline"
+DEPEND="${CDEPEND}
+ arm? ( dev-libs/libatomic_ops )
+ libatomic? ( dev-libs/libatomic_ops )"
+BDEPEND="nginx_modules_http_brotli? ( virtual/pkgconfig )"
+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
+ pcre
+ !pcre2
+ )
+ nginx_modules_http_naxsi? ( nginx_modules_http_rewrite 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"
+
+ 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_auth_ldap; then
+ cd "${HTTP_LDAP_MODULE_WD}" || die
+ eapply "${FILESDIR}/${PN}-1.23.2-mod_auth_ldap-fix.patch"
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_sticky; then
+ cd "${HTTP_STICKY_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_sticky-nginx-1.23.0.patch
+ cd "${S}" || die
+ fi
+
+ if use nginx_modules_http_naxsi; then
+ cd "${HTTP_NAXSI_MODULE_WD}" || die
+ rm -r libinjection || die
+ mv ../../libinjection-${HTTP_NAXSI_LIBINJECTION_MODULE_PV} libinjection || die
+ cd "${S}" || die
+ fi
+
+ 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_upload_progress; then
+ cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die
+ eapply "${FILESDIR}"/http_uploadprogress-nginx-1.23.0.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() {
+ 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 http3 && myconf+=( --with-http_v3_module )
+ use libatomic && myconf+=( --with-libatomic )
+ use pcre && myconf+=( --with-pcre --without-pcre2 )
+ 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} )
+ 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 http3 || 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
+
+ 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" \
+ --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() {
+ # 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-r3 "${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/naxsi
+ doins "${HTTP_NAXSI_MODULE_WD}"/../distros/nginx/*
+ doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_rules/naxsi_core.rules
+ doins -r "${HTTP_NAXSI_MODULE_WD}"/../naxsi_rules/blocking
+ doins -r "${HTTP_NAXSI_MODULE_WD}"/../naxsi_rules/whitelists
+ 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}"/{AUTHORS,CHANGES,README.md}
+ 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
+}