summaryrefslogtreecommitdiff
path: root/dev-perl
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-11 01:41:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-11 01:41:34 -0500
commitfc39c62a8944e95c0ecccfc9781763822b23e66c (patch)
tree11feafa0dbddccf6fcd9dabb290b0ce5faafec36 /dev-perl
parent98068fb4a1502cade02134b1834439134ca4eed1 (diff)
downloadbaldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.tar.gz
baldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.tar.xz
baldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.zip
Adding metadata
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/Crypt-PasswdMD5/Crypt-PasswdMD5-1.460.0.ebuild28
-rw-r--r--dev-perl/Crypt-PasswdMD5/Manifest1
-rw-r--r--dev-perl/Date-Manip/Date-Manip-6.990.0-r1.ebuild (renamed from dev-perl/Date-Manip/Date-Manip-6.980.0.ebuild)11
-rw-r--r--dev-perl/Date-Manip/Manifest1
-rw-r--r--dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60074-r1.patch245
-rw-r--r--dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60075-r1.patch44
-rw-r--r--dev-perl/HTML-Gumbo/HTML-Gumbo-0.190.0.ebuild22
-rw-r--r--dev-perl/HTML-Gumbo/Manifest1
-rw-r--r--dev-perl/HTTP-Daemon/HTTP-Daemon-6.160.0-r1.ebuild31
-rw-r--r--dev-perl/HTTP-Daemon/files/HTTP-Daemon-6.160.0-CVE-2026-8450.patch32
-rw-r--r--dev-perl/Mojolicious/Manifest3
-rw-r--r--dev-perl/Mojolicious/Mojolicious-9.390.0.ebuild38
-rw-r--r--dev-perl/Mojolicious/Mojolicious-9.480.0.ebuild (renamed from dev-perl/Mojolicious/Mojolicious-9.400.0.ebuild)6
13 files changed, 416 insertions, 47 deletions
diff --git a/dev-perl/Crypt-PasswdMD5/Crypt-PasswdMD5-1.460.0.ebuild b/dev-perl/Crypt-PasswdMD5/Crypt-PasswdMD5-1.460.0.ebuild
new file mode 100644
index 000000000000..762d6c887ec5
--- /dev/null
+++ b/dev-perl/Crypt-PasswdMD5/Crypt-PasswdMD5-1.460.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=RSAVAGE
+DIST_VERSION=1.46
+DIST_A_EXT=tgz
+inherit perl-module
+
+DESCRIPTION="Provides interoperable MD5-based crypt() functions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-perl/Crypt-URandom
+ >=virtual/perl-Digest-MD5-2.530.0
+ >=virtual/perl-Encode-3.210.0
+ >=virtual/perl-Exporter-5.780.0
+ >=virtual/perl-ExtUtils-MakeMaker-7.770.0
+ >=virtual/perl-JSON-PP-4.160.0
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=virtual/perl-Test-Simple-1.1.2
+ )
+"
diff --git a/dev-perl/Crypt-PasswdMD5/Manifest b/dev-perl/Crypt-PasswdMD5/Manifest
index 629856e9dd9f..b08d0a7f9ad4 100644
--- a/dev-perl/Crypt-PasswdMD5/Manifest
+++ b/dev-perl/Crypt-PasswdMD5/Manifest
@@ -1 +1,2 @@
DIST Crypt-PasswdMD5-1.42.tgz 14300 BLAKE2B 718bb1a40a0749bd200f7b10dec9deb35c1371ae7e6bda4c044169b9d46a3a3c05299e20e6b0e01b92b7d0b07c7d9bfe3f8e4d1cc6e3261b2ac191058b87a343 SHA512 92b18cb50061ff0d017e26ebeb4ebf07199d7833518974c3f130d81a30f37a01cd299f4776bfa1e8cd1ca4e6e5adcd72d93ea4dcfed7a573084f0a9c7245eef8
+DIST Crypt-PasswdMD5-1.46.tgz 18779 BLAKE2B bea386c8d3620c3c8e3661f0dfa7c3912c16990c64102dcc94e050f594d4e1d5f9532a51c08302e5397cfd4553178370b0e4571b582ecfe68dfe45731f2ef3b5 SHA512 8ff4e2484840298bdd4c618163a19cb216b3a036d982927669aca8dea3d0cb091b04f4f0fe21a9ec43df65f92e2a975721990f7424db2972127d891d67309398
diff --git a/dev-perl/Date-Manip/Date-Manip-6.980.0.ebuild b/dev-perl/Date-Manip/Date-Manip-6.990.0-r1.ebuild
index e37eed2e86bd..2d0a8a30f041 100644
--- a/dev-perl/Date-Manip/Date-Manip-6.980.0.ebuild
+++ b/dev-perl/Date-Manip/Date-Manip-6.990.0-r1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=SBECK
-DIST_VERSION=6.98
+DIST_VERSION=6.99
inherit perl-module
DESCRIPTION="Perl date manipulation routines"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
RDEPEND="
elibc_musl? ( sys-libs/timezone-data )
@@ -29,3 +29,8 @@ PERL_RM_FILES=(
t/_pod_coverage.t
t/_version.t
)
+
+PATCHES=(
+ "${FILESDIR}/Date-Manip-6.990.0-CVE-2026-60074-r1.patch"
+ "${FILESDIR}/Date-Manip-6.990.0-CVE-2026-60075-r1.patch"
+)
diff --git a/dev-perl/Date-Manip/Manifest b/dev-perl/Date-Manip/Manifest
index d941cfabcd5a..99f7b4f1bdc5 100644
--- a/dev-perl/Date-Manip/Manifest
+++ b/dev-perl/Date-Manip/Manifest
@@ -1,2 +1 @@
-DIST Date-Manip-6.98.tar.gz 1859842 BLAKE2B 55d45917a19d94a8d0d73dd7b4144eabe20840a0aaee89828554a802975e3d937262ac228357c9788f8311ac3b7329311a08cb80813e5817e7ea094990012478 SHA512 1beede83a2cfd46e27a9c786dd23f0261a0ef002bb939de897179c6432e879f65cdd0e06b2acdcb21a49a4c01e70632fc118753ab93b6354398eaf22c1712df7
DIST Date-Manip-6.99.tar.gz 1865443 BLAKE2B f034a844b81df14aa765eae0493364c516cc21adaa02678a0928d406ac935a577cf8b135eff40a45160c2d134dc958c93cc51d9f6530baf5ab04382ed2767480 SHA512 5326bc51ed962479fc1decbb3a7aa20f6777769ac914f9ea01717ecbecc48ae6b7e0a496219f2ea4c0f7d7a622fa28b0bfd4026db851b0f10beee281d576cc35
diff --git a/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60074-r1.patch b/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60074-r1.patch
new file mode 100644
index 000000000000..ec6442ce4e0e
--- /dev/null
+++ b/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60074-r1.patch
@@ -0,0 +1,245 @@
+https://bugs.gentoo.org/980109
+https://security.metacpan.org/patches/D/Date-Manip/6.99/CVE-2026-60074-r1.patch
+From: CPANSec Security Scanner Bot <cpan-security@security.metacpan.org>
+
+--- a/lib/Date/Manip/Base.pm
++++ b/lib/Date/Manip/Base.pm
+@@ -603,6 +603,15 @@ sub check {
+ my($self,$date) = @_;
+ my($y,$m,$d,$h,$mn,$s) = @$date;
+
++ # The range tests below numify each field, and numifying truncates a
++ # string at the first character which is not an ASCII digit, so a
++ # field such as "202\x{664}" would pass them as 202. Require ASCII
++ # digits.
++
++ foreach my $val ($y,$m,$d) {
++ return 0 if (! defined($val) || $val !~ /^[0-9]+$/);
++ }
++
+ return 0 if (! $self->check_time([$h,$mn,$s]) ||
+ $y<1 || $y>9999 ||
+ $m<1 || $m>12);
+@@ -617,7 +626,7 @@ sub check_time {
+ my($self,$hms) = @_;
+ my($h,$mn,$s) = @$hms;
+
+- return 0 if ("$h:$mn:$s" !~ /^\d\d?:\d\d?:\d\d?$/o ||
++ return 0 if ("$h:$mn:$s" !~ /^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$/o ||
+ $h > 24 || $mn > 59 || $s > 59 ||
+ ($h == 24 && ($mn || $s)));
+ return 1;
+diff --git a/lib/Date/Manip/Date.pm b/lib/Date/Manip/Date.pm
+index 7699921..ead5e11 100644
+--- a/lib/Date/Manip/Date.pm
++++ b/lib/Date/Manip/Date.pm
+@@ -837,16 +837,16 @@ BEGIN {
+ ###
+
+ if ($f eq 'Y') {
+- $re .= '(?<y>\d\d\d\d)';
++ $re .= '(?<y>[0-9]{4})';
+
+ } elsif ($f eq 'y') {
+- $re .= '(?<y>\d\d)';
++ $re .= '(?<y>[0-9]{2})';
+
+ } elsif ($f eq 'm') {
+- $re .= '(?<m>\d\d)';
++ $re .= '(?<m>[0-9]{2})';
+
+ } elsif ($f eq 'f') {
+- $re .= '(?:(?<m>\d\d)| ?(?<m>\d))';
++ $re .= '(?:(?<m>[0-9]{2})| ?(?<m>[0-9]))';
+
+ } elsif (exists $mon_form{$f}) {
+ my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0];
+@@ -854,13 +854,13 @@ BEGIN {
+ $re .= "(?:(?<mon_name>$nam)|(?<mon_abb>$abb))";
+
+ } elsif ($f eq 'j') {
+- $re .= '(?<doy>\d\d\d)';
++ $re .= '(?<doy>[0-9]{3})';
+
+ } elsif ($f eq 'd') {
+- $re .= '(?<d>\d\d)';
++ $re .= '(?<d>[0-9]{2})';
+
+ } elsif ($f eq 'e') {
+- $re .= '(?:(?<d>\d\d)| ?(?<d>\d))';
++ $re .= '(?:(?<d>[0-9]{2})| ?(?<d>[0-9]))';
+
+ } elsif (exists $day_form{$f}) {
+ my $abb = $$dmb{'data'}{'rx'}{'day_abb'}[0];
+@@ -876,41 +876,41 @@ BEGIN {
+ $re .= "(?<nth>$nth)"
+
+ } elsif ($f eq 'H' || $f eq 'I') {
+- $re .= '(?<h>\d\d)';
++ $re .= '(?<h>[0-9]{2})';
+
+ } elsif ($f eq 'k' || $f eq 'i') {
+- $re .= '(?:(?<h>\d\d)| ?(?<h>\d))';
++ $re .= '(?:(?<h>[0-9]{2})| ?(?<h>[0-9]))';
+
+ } elsif ($f eq 'p') {
+ my $ampm = $$dmb{data}{rx}{ampm}[0];
+ $re .= "(?<ampm>$ampm)";
+
+ } elsif ($f eq 'M') {
+- $re .= '(?<mn>\d\d)';
++ $re .= '(?<mn>[0-9]{2})';
+
+ } elsif ($f eq 'S') {
+- $re .= '(?<s>\d\d)';
++ $re .= '(?<s>[0-9]{2})';
+
+ } elsif (exists $z_form{$f}) {
+ $re .= $dmt->_zrx('zrx');
+
+ } elsif ($f eq 's') {
+- $re .= '(?<epochs>\d+)';
++ $re .= '(?<epochs>[0-9]+)';
+
+ } elsif ($f eq 'o') {
+- $re .= '(?<epocho>\d+)';
++ $re .= '(?<epocho>[0-9]+)';
+
+ } elsif ($f eq 'G') {
+- $re .= '(?<g>\d\d\d\d)';
++ $re .= '(?<g>[0-9]{4})';
+
+ } elsif ($f eq 'W') {
+- $re .= '(?<w>\d\d)';
++ $re .= '(?<w>[0-9]{2})';
+
+ } elsif ($f eq 'L') {
+- $re .= '(?<l>\d\d\d\d)';
++ $re .= '(?<l>[0-9]{4})';
+
+ } elsif ($f eq 'U') {
+- $re .= '(?<u>\d\d)';
++ $re .= '(?<u>[0-9]{2})';
+
+ } elsif ($f eq 'c') {
+ $format = '%a %b %e %H:%M:%S %Y' . $format;
+@@ -1168,15 +1168,15 @@ sub _iso8601_rx {
+
+ if ($rx eq 'cdate' || $rx eq 'tdate') {
+
+- my $y4 = '(?<y>\d\d\d\d)';
+- my $y2 = '(?<y>\d\d)';
++ my $y4 = '(?<y>[0-9]{4})';
++ my $y2 = '(?<y>[0-9]{2})';
+ my $m = '(?<m>0[1-9]|1[0-2])';
+ my $d = '(?<d>0[1-9]|[12][0-9]|3[01])';
+ my $doy = '(?<doy>00[1-9]|0[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6])';
+ my $w = '(?<w>0[1-9]|[1-4][0-9]|5[0-3])';
+ my $dow = '(?<dow>[1-7])';
+- my $yod = '(?<yod>\d)';
+- my $cc = '(?<c>\d\d)';
++ my $yod = '(?<yod>[0-9])';
++ my $cc = '(?<c>[0-9]{2})';
+
+ my @cdaterx =
+ (
+@@ -1238,9 +1238,9 @@ sub _iso8601_rx {
+ my $h24b = '(?<h24>24(?:00){0,2})';
+ my $h = '(?<h>[0-9])';
+
+- my $fh = '(?:[\.,](?<fh>\d*))'; # fractional hours (keep)
+- my $fm = '(?:[\.,](?<fm>\d*))'; # fractional seconds (keep)
+- my $fs = '(?:[\.,]\d*)'; # fractional hours (discard)
++ my $fh = '(?:[\.,](?<fh>[0-9]*))'; # fractional hours (keep)
++ my $fm = '(?:[\.,](?<fm>[0-9]*))'; # fractional seconds (keep)
++ my $fs = '(?:[\.,][0-9]*)'; # fractional hours (discard)
+
+ my $zrx = $dmt->_zrx('zrx');
+
+@@ -1445,9 +1445,9 @@ sub _other_rx {
+ $f1 = "[.,]";
+ $f2 = "[.,:]";
+ }
+- my $fh = "(?:$f1(?<fh>\\d*))"; # fractional hours (keep)
+- my $fm = "(?:$f1(?<fm>\\d*))"; # fractional minutes (keep)
+- my $fs = "(?:$f2\\d*)"; # fractional seconds
++ my $fh = "(?:$f1(?<fh>[0-9]*))"; # fractional hours (keep)
++ my $fm = "(?:$f1(?<fm>[0-9]*))"; # fractional minutes (keep)
++ my $fs = "(?:${f2}[0-9]*)"; # fractional seconds
+
+ # AM/PM
+
+@@ -1533,10 +1533,10 @@ sub _other_rx {
+
+ # Do NOT replace <m> and <d> with a regular expression to
+ # match 1-12 since the DateFormat config may reverse the two.
+- my $y4 = '(?<y>\d\d\d\d)';
+- my $y2 = '(?<y>\d\d)';
+- my $m = '(?<m>\d\d?)';
+- my $d = '(?<d>\d\d?)';
++ my $y4 = '(?<y>[0-9]{4})';
++ my $y2 = '(?<y>[0-9]{2})';
++ my $m = '(?<m>[0-9]{1,2})';
++ my $d = '(?<d>[0-9]{1,2})';
+ my $sep = '(?<sep>[\s\.\/\-])';
+
+ my @daterx =
+@@ -1555,11 +1555,11 @@ sub _other_rx {
+ my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0];
+ my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0];
+
+- my $y4 = '(?<y>\d\d\d\d)';
+- my $y2 = '(?<y>\d\d)';
+- my $m = '(?<m>\d\d?)';
+- my $d = '(?<d>\d\d?)';
+- my $dd = '(?<d>\d\d)';
++ my $y4 = '(?<y>[0-9]{4})';
++ my $y2 = '(?<y>[0-9]{2})';
++ my $m = '(?<m>[0-9]{1,2})';
++ my $d = '(?<d>[0-9]{1,2})';
++ my $dd = '(?<d>[0-9]{2})';
+ my $mmm = "(?:(?<mmm>$abb)|(?<month>$nam))";
+ my $sep = '(?<sep>[\s\.\/\-])';
+
+@@ -1610,7 +1610,7 @@ sub _other_rx {
+ my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0];
+ my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0];
+
+- my $y4 = '(?<y>\d\d\d\d)';
++ my $y4 = '(?<y>[0-9]{4})';
+ my $mmm = "(?:(?<mmm>$abb)|(?<month>$nam))";
+ my $sep = '(?<sep>[\s\.\/\-])';
+
+@@ -1656,11 +1656,11 @@ sub _other_rx {
+ my $special = $$dmb{'data'}{'rx'}{'offset_time'}[0];
+
+ $special = "(?<special>$special)";
+- my $secs = "(?<epoch>[-+]?\\d+)";
++ my $secs = "(?<epoch>[-+]?[0-9]+)";
+ my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0];
+ my $mmm = "(?<mmm>$abb)";
+- my $y4 = '(?<y>\d\d\d\d)';
+- my $dd = '(?<d>\d\d)';
++ my $y4 = '(?<y>[0-9]{4})';
++ my $dd = '(?<d>[0-9]{2})';
+ my $h24 = '(?<h>2[0-3]|[01][0-9])'; # 00-23
+ my $mn = '(?<mn>[0-5][0-9])'; # 00-59
+ my $ss = '(?<s>[0-5][0-9])'; # 00-59
+@@ -1697,7 +1697,7 @@ sub _other_rx {
+ my $nth_wom = $$dmb{'data'}{'rx'}{'nth_wom'}[0];
+ my $special = $$dmb{'data'}{'rx'}{'offset_date'}[0];
+
+- my $y = '(?:(?<y>\d\d\d\d)|(?<y>\d\d))';
++ my $y = '(?:(?<y>[0-9]{4})|(?<y>[0-9]{2}))';
+ my $mmm = "(?:(?<mmm>$abb)|(?<month>$nam))";
+ $next = "(?<next>$next)";
+ $last = "(?<last>$last)";
+@@ -1732,7 +1732,7 @@ sub _other_rx {
+ # nth day in MMM [YYYY]
+
+ "${nth}\\s+${wf}\\s*$y?", # DoW Nth week [YYYY]
+- "${wf}\\s+(?<n>\\d+)\\s*$y?", # DoW week N [YYYY]
++ "${wf}\\s+(?<n>[0-9]+)\\s*$y?", # DoW week N [YYYY]
+
+ "${special}", # today, tomorrow
+ "${special}\\s+${wf}", # today week
diff --git a/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60075-r1.patch b/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60075-r1.patch
new file mode 100644
index 000000000000..a7821e4ba4b2
--- /dev/null
+++ b/dev-perl/Date-Manip/files/Date-Manip-6.990.0-CVE-2026-60075-r1.patch
@@ -0,0 +1,44 @@
+https://bugs.gentoo.org/980109
+https://security.metacpan.org/patches/D/Date-Manip/6.99/CVE-2026-60075-r1.patch
+From: CPANSec Security Scanner Bot <cpan-security@security.metacpan.org>
+
+--- a/lib/Date/Manip/Date.pm
++++ b/lib/Date/Manip/Date.pm
+@@ -94,6 +94,13 @@ sub input {
+ # DATE PARSING
+ ########################################################################
+
++# The longest string the parsers will look at. The time matching
++# regexp is applied unanchored, so the cost of failing to match grows
++# with the square of the length of an interior whitespace run. Real
++# date strings are well under 100 characters.
++
++our $MAXLENGTH = 256;
++
+ sub parse {
+ my($self,$instring,@opts) = @_;
+ $self->_init();
+@@ -104,6 +111,11 @@ sub parse {
+ return 1;
+ }
+
++ if (length($instring) > $MAXLENGTH) {
++ $$self{'err'} = '[parse] Date string too long';
++ return 1;
++ }
++
+ my %opts = map { $_,1 } @opts;
+
+ my $dmt = $$self{'tz'};
+@@ -382,6 +394,11 @@ sub parse_time {
+ return 1;
+ }
+
++ if (length($string) > $MAXLENGTH) {
++ $$self{'err'} = '[parse_time] Time string too long';
++ return 1;
++ }
++
+ my($y,$m,$d,$h,$mn,$s);
+
+ if ($$self{'err'}) {
diff --git a/dev-perl/HTML-Gumbo/HTML-Gumbo-0.190.0.ebuild b/dev-perl/HTML-Gumbo/HTML-Gumbo-0.190.0.ebuild
new file mode 100644
index 000000000000..e859ee92d536
--- /dev/null
+++ b/dev-perl/HTML-Gumbo/HTML-Gumbo-0.190.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=BPS
+DIST_VERSION=0.19
+inherit perl-module
+
+DESCRIPTION="HTML5 parser based on gumbo C library"
+
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-perl/Alien-LibGumbo-0.30.0
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-perl/Module-Build-0.420.0
+ test? ( >=virtual/perl-Test-Simple-0.880.0 )
+"
diff --git a/dev-perl/HTML-Gumbo/Manifest b/dev-perl/HTML-Gumbo/Manifest
index 41234f2dabdd..03244f5b9b63 100644
--- a/dev-perl/HTML-Gumbo/Manifest
+++ b/dev-perl/HTML-Gumbo/Manifest
@@ -1 +1,2 @@
DIST HTML-Gumbo-0.18.tar.gz 17716 BLAKE2B ba32a0205b89e733a582dd5c4f3607b9ec69030bdff72f0df9ad7a4ca6e251177c1b351a2c85b97baa2cabe82d401b17c7b7e61bdb715763bf891f1f20bcc5a7 SHA512 d2845368bbda81de41f5d4c15c08b5720c388c72cbbfb9062999abdf1d800af4bb24e92df5d41470d611e50b460512630121fa6a8984e76df8eed3f20d149a10
+DIST HTML-Gumbo-0.19.tar.gz 19430 BLAKE2B b4515fc90ae93bea1180146280ca4a08ed944813de308d9c52ed02539145d7a3255917e6217b3e08119c6abc85e4c4488e7b558175c57e8fb7221f5174112921 SHA512 60e03bcf8e3abf29fe5cdcb456bb6650149d14b46cb970ec00e0baa1c56f6fb88fc2517e8ab83aef44edc01776d7d881fb38b6726e5faab44944ed0f027e3c70
diff --git a/dev-perl/HTTP-Daemon/HTTP-Daemon-6.160.0-r1.ebuild b/dev-perl/HTTP-Daemon/HTTP-Daemon-6.160.0-r1.ebuild
new file mode 100644
index 000000000000..f24c33a90f60
--- /dev/null
+++ b/dev-perl/HTTP-Daemon/HTTP-Daemon-6.160.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=OALDERS
+DIST_VERSION=6.16
+inherit perl-module
+
+DESCRIPTION="Base class for simple HTTP servers"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-perl/HTTP-Date-6.0.0
+ >=dev-perl/HTTP-Message-6.0.0
+ >=virtual/perl-IO-Socket-IP-0.320.0
+ >=dev-perl/LWP-MediaTypes-6.0.0
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-perl/Module-Build-Tiny-0.34.0
+ test? (
+ dev-perl/Test-Needs
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/HTTP-Daemon-6.160.0-CVE-2026-8450.patch"
+)
diff --git a/dev-perl/HTTP-Daemon/files/HTTP-Daemon-6.160.0-CVE-2026-8450.patch b/dev-perl/HTTP-Daemon/files/HTTP-Daemon-6.160.0-CVE-2026-8450.patch
new file mode 100644
index 000000000000..9d599f367377
--- /dev/null
+++ b/dev-perl/HTTP-Daemon/files/HTTP-Daemon-6.160.0-CVE-2026-8450.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/976110
+https://www.openwall.com/lists/oss-security/2026/05/27/5
+From: Stig Palmquist <stig@stig.io>
+
+--- a/lib/HTTP/Daemon.pm
++++ b/lib/HTTP/Daemon.pm
+@@ -598,11 +598,10 @@ sub send_dir {
+ sub send_file {
+ my ($self, $file) = @_;
+ my $opened = 0;
+- local (*FILE);
+ if (!ref($file)) {
+- open(FILE, $file) || return undef;
+- binmode(FILE);
+- $file = \*FILE;
++ open(my $fh, '<', $file) || return undef;
++ binmode($fh) || do { close($fh); return undef };
++ $file = $fh;
+ $opened++;
+ }
+ my $cnt = 0;
+@@ -614,7 +613,11 @@ sub send_file {
+ print $self $buf;
+ }
+ close($file) if $opened;
+- $cnt;
++
++ # Return a "true zero" for empty-but-successful copies so callers
++ # using `send_file or die` can distinguish open failure (undef)
++ # from a successful zero-byte transfer.
++ $cnt || '0E0';
+ }
diff --git a/dev-perl/Mojolicious/Manifest b/dev-perl/Mojolicious/Manifest
index 4e9b3a14376e..7b517a35892b 100644
--- a/dev-perl/Mojolicious/Manifest
+++ b/dev-perl/Mojolicious/Manifest
@@ -1,3 +1,2 @@
-DIST Mojolicious-9.39.tar.gz 962558 BLAKE2B bfa37f535d9b20f61a6cf9839ae3086c1f2f3eddd80e15b7049025f3592539001397175855173dccbc95d6e446af744a525bf828e364234fcad370d2205600c7 SHA512 6607821c521148f1bb312155d71f964970eaa4e688162696b2c28f7f1856b3bcc9878cc9abaa7d451126feb5a98f4ecc282201f703846098f6d27889ad17326c
-DIST Mojolicious-9.40.tar.gz 965888 BLAKE2B ff2184f1bc53737552ee24bd9fb95a8d775f1febb6f8ba687e4291a47136087087271001119749da146e1af1eaa7f5b62ff207a0c4711fb70afcec264cd05dd7 SHA512 137a139e6b47a4ddad7af091eb6f1c40a25b0207f1c55859de8437b77e0277db265ba479e6d2a54c34fc145b62020046a99c164f3aba032889b98a1792cf00e0
DIST Mojolicious-9.41.tar.gz 970647 BLAKE2B c55fdd3a554a061d373c5118edbdd92c4a76fbe2ee10859372edbb0a836ec513e2997232bb56302f79e99de58f0c8507dabd6486a3106d165decc9324cee73a8 SHA512 0a7a75f6e798753486a2ca98bff5d7c0b472d6957f2602d33ccbe6e49e9097359bf41c4bb057a467d421c3b5b926e6d448444875e48ec629e2df2ddc85a22d5b
+DIST Mojolicious-9.48.tar.gz 966181 BLAKE2B 67e57387eb1f184f1eaa539fb55944a4e4f60e146f2d5fe065f32df018c29548826a2c3f6bd3ff8ee1a8bda2a1f84e6008b7b1dfb9e4d184b542646bb4d8af16 SHA512 f9bd7e6af0017dc3895367a956c9b0273f011229c55a0efd010ea7497b7a54e37989f307df561cccf1a9abbebdeb45dc4d828f90f279927077fa3d243435bf2f
diff --git a/dev-perl/Mojolicious/Mojolicious-9.390.0.ebuild b/dev-perl/Mojolicious/Mojolicious-9.390.0.ebuild
deleted file mode 100644
index 0517f9962b48..000000000000
--- a/dev-perl/Mojolicious/Mojolicious-9.390.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DIST_AUTHOR=SRI
-DIST_VERSION=9.39
-DIST_EXAMPLES=("examples/*")
-
-inherit perl-module
-
-DESCRIPTION="Real-time web framework"
-
-LICENSE="Artistic-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86"
-IUSE="minimal"
-
-RDEPEND="
- !minimal? (
- >=dev-perl/Cpanel-JSON-XS-4.90.0
- >=dev-perl/EV-4.0.0
- )
- >=virtual/perl-IO-Socket-IP-0.370.0
- >=virtual/perl-Scalar-List-Utils-1.410.0
-"
-BDEPEND="
- ${RDEPEND}
- virtual/perl-ExtUtils-MakeMaker
- test? (
- virtual/perl-Test-Simple
- )
-"
-
-PERL_RM_FILES=(
- t/pod.t
- t/pod_coverage.t
-)
diff --git a/dev-perl/Mojolicious/Mojolicious-9.400.0.ebuild b/dev-perl/Mojolicious/Mojolicious-9.480.0.ebuild
index 88d75cf3a660..3d66fda4e3b6 100644
--- a/dev-perl/Mojolicious/Mojolicious-9.400.0.ebuild
+++ b/dev-perl/Mojolicious/Mojolicious-9.480.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=SRI
-DIST_VERSION=9.40
+DIST_VERSION=9.48
DIST_EXAMPLES=("examples/*")
inherit perl-module
@@ -13,7 +13,7 @@ DESCRIPTION="Real-time web framework"
LICENSE="Artistic-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
IUSE="minimal"
RDEPEND="