summaryrefslogtreecommitdiff
path: root/www-apache
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /www-apache
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'www-apache')
-rw-r--r--www-apache/libapreq2/Manifest1
-rw-r--r--www-apache/libapreq2/files/76_mod_apreq.conf13
-rw-r--r--www-apache/libapreq2/files/libapreq2-2.08-c99.patch46
-rw-r--r--www-apache/libapreq2/files/libapreq2-2.08-doc.patch24
-rw-r--r--www-apache/libapreq2/files/libapreq2-2.08-fix-linkage.patch51
-rw-r--r--www-apache/libapreq2/libapreq2-2.17-r1.ebuild83
-rw-r--r--www-apache/libapreq2/libapreq2-2.17-r2.ebuild84
-rw-r--r--www-apache/libapreq2/libapreq2-2.17.ebuild80
-rw-r--r--www-apache/libapreq2/metadata.xml8
-rw-r--r--www-apache/metadata.xml35
-rw-r--r--www-apache/mod_auth_kerb/Manifest2
-rw-r--r--www-apache/mod_auth_kerb/files/11_mod_auth_kerb.conf14
-rw-r--r--www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-api-change-krb5.patch73
-rw-r--r--www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-krb5pwd-double-free.patch22
-rw-r--r--www-apache/mod_auth_kerb/files/mod_auth_kerb.conf1
-rw-r--r--www-apache/mod_auth_kerb/metadata.xml5
-rw-r--r--www-apache/mod_auth_kerb/mod_auth_kerb-5.4-r5.ebuild66
-rw-r--r--www-apache/mod_auth_openidc/Manifest2
-rw-r--r--www-apache/mod_auth_openidc/files/10_mod_auth_openidc.conf4
-rw-r--r--www-apache/mod_auth_openidc/metadata.xml18
-rw-r--r--www-apache/mod_auth_openidc/mod_auth_openidc-2.4.14.4-r1.ebuild69
-rw-r--r--www-apache/mod_auth_openidc/mod_auth_openidc-2.4.16.7.ebuild70
-rw-r--r--www-apache/mod_auth_radius/Manifest1
-rw-r--r--www-apache/mod_auth_radius/metadata.xml5
-rw-r--r--www-apache/mod_auth_radius/mod_auth_radius-1.6.0.ebuild35
-rw-r--r--www-apache/mod_auth_tkt/Manifest1
-rw-r--r--www-apache/mod_auth_tkt/files/10_mod_auth_tkt.conf24
-rw-r--r--www-apache/mod_auth_tkt/files/mod_auth_tkt-2.1.0-apache-2.4.patch40
-rw-r--r--www-apache/mod_auth_tkt/metadata.xml5
-rw-r--r--www-apache/mod_auth_tkt/mod_auth_tkt-2.1.0-r2.ebuild58
-rw-r--r--www-apache/mod_auth_xradius/Manifest1
-rw-r--r--www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-apache24-api-changes.patch14
-rw-r--r--www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-clang16.patch19
-rw-r--r--www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fallback-support.patch30
-rw-r--r--www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fno-common.patch22
-rw-r--r--www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-obsolete-autotools-syntax.patch19
-rw-r--r--www-apache/mod_auth_xradius/metadata.xml5
-rw-r--r--www-apache/mod_auth_xradius/mod_auth_xradius-0.4.6-r2.ebuild29
-rw-r--r--www-apache/mod_authnz_external/Manifest1
-rw-r--r--www-apache/mod_authnz_external/files/10_mod_authnz_external.conf34
-rw-r--r--www-apache/mod_authnz_external/metadata.xml9
-rw-r--r--www-apache/mod_authnz_external/mod_authnz_external-3.3.3-r2.ebuild34
-rw-r--r--www-apache/mod_authz_unixgroup/Manifest2
-rw-r--r--www-apache/mod_authz_unixgroup/files/10_mod_authz_unixgroup.conf11
-rw-r--r--www-apache/mod_authz_unixgroup/metadata.xml9
-rw-r--r--www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.1.0-r2.ebuild32
-rw-r--r--www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.2.0-r1.ebuild35
-rw-r--r--www-apache/mod_backtrace/Manifest1
-rw-r--r--www-apache/mod_backtrace/files/10_mod_backtrace.conf4
-rw-r--r--www-apache/mod_backtrace/metadata.xml11
-rw-r--r--www-apache/mod_backtrace/mod_backtrace-2.01-r2.ebuild41
-rw-r--r--www-apache/mod_bw/Manifest1
-rw-r--r--www-apache/mod_bw/files/11_mod_bw.conf16
-rw-r--r--www-apache/mod_bw/files/mod_bw-0.9.2-apache24.patch49
-rw-r--r--www-apache/mod_bw/metadata.xml5
-rw-r--r--www-apache/mod_bw/mod_bw-0.9.2-r2.ebuild36
-rw-r--r--www-apache/mod_dnssd/Manifest1
-rw-r--r--www-apache/mod_dnssd/files/80_mod_dnssd.conf6
-rw-r--r--www-apache/mod_dnssd/files/mod_dnssd-0.6-httpd24.patch24
-rw-r--r--www-apache/mod_dnssd/files/mod_dnssd-0.6-ldflags.patch19
-rw-r--r--www-apache/mod_dnssd/metadata.xml5
-rw-r--r--www-apache/mod_dnssd/mod_dnssd-0.6-r2.ebuild42
-rw-r--r--www-apache/mod_fastcgi_handler/Manifest1
-rw-r--r--www-apache/mod_fastcgi_handler/files/20_mod_fastcgi_handler.conf5
-rw-r--r--www-apache/mod_fastcgi_handler/files/mod_fastcgi_handler-0.6-implicit-function-decl.patch30
-rw-r--r--www-apache/mod_fastcgi_handler/metadata.xml5
-rw-r--r--www-apache/mod_fastcgi_handler/mod_fastcgi_handler-0.6-r3.ebuild32
-rw-r--r--www-apache/mod_fcgid/Manifest1
-rw-r--r--www-apache/mod_fcgid/files/2.2/20_mod_fcgid.conf7
-rw-r--r--www-apache/mod_fcgid/metadata.xml10
-rw-r--r--www-apache/mod_fcgid/mod_fcgid-2.3.9-r2.ebuild36
-rw-r--r--www-apache/mod_gnutls/Manifest1
-rw-r--r--www-apache/mod_gnutls/files/47_mod_gnutls.conf30
-rw-r--r--www-apache/mod_gnutls/metadata.xml8
-rw-r--r--www-apache/mod_gnutls/mod_gnutls-0.12.0-r1.ebuild94
-rw-r--r--www-apache/mod_h2/Manifest1
-rw-r--r--www-apache/mod_h2/files/mod_http2.conf8
-rw-r--r--www-apache/mod_h2/metadata.xml9
-rw-r--r--www-apache/mod_h2/mod_h2-2.0.42.ebuild49
-rw-r--r--www-apache/mod_h2/mod_h2-9999.ebuild49
-rw-r--r--www-apache/mod_jk/Manifest2
-rw-r--r--www-apache/mod_jk/metadata.xml17
-rw-r--r--www-apache/mod_jk/mod_jk-1.2.50.ebuild81
-rw-r--r--www-apache/mod_limitipconn/Manifest1
-rw-r--r--www-apache/mod_limitipconn/files/27_mod_limitipconn.conf20
-rw-r--r--www-apache/mod_limitipconn/metadata.xml10
-rw-r--r--www-apache/mod_limitipconn/mod_limitipconn-0.24-r4.ebuild31
-rw-r--r--www-apache/mod_log_rotate/Manifest1
-rw-r--r--www-apache/mod_log_rotate/files/10_mod_log_rotate.conf6
-rw-r--r--www-apache/mod_log_rotate/metadata.xml5
-rw-r--r--www-apache/mod_log_rotate/mod_log_rotate-1.02.ebuild26
-rw-r--r--www-apache/mod_maxminddb/Manifest2
-rw-r--r--www-apache/mod_maxminddb/files/70_mod_maxminddb.conf3
-rw-r--r--www-apache/mod_maxminddb/metadata.xml13
-rw-r--r--www-apache/mod_maxminddb/mod_maxminddb-1.2.0-r1.ebuild40
-rw-r--r--www-apache/mod_maxminddb/mod_maxminddb-1.3.0.ebuild40
-rw-r--r--www-apache/mod_musicindex/Manifest4
-rw-r--r--www-apache/mod_musicindex/files/50_mod_musicindex.conf5
-rw-r--r--www-apache/mod_musicindex/files/mod_musicindex-1.4.1-slibtool.patch28
-rw-r--r--www-apache/mod_musicindex/metadata.xml10
-rw-r--r--www-apache/mod_musicindex/mod_musicindex-1.4.1-r4.ebuild79
-rw-r--r--www-apache/mod_nss/Manifest1
-rw-r--r--www-apache/mod_nss/files/47_mod_nss.conf224
-rw-r--r--www-apache/mod_nss/files/mod_nss-1.0.18-fno-common.patch14
-rw-r--r--www-apache/mod_nss/metadata.xml8
-rw-r--r--www-apache/mod_nss/mod_nss-1.0.18.ebuild64
-rw-r--r--www-apache/mod_perl/Manifest1
-rw-r--r--www-apache/mod_perl/files/2.0.3/75_mod_perl.2.2.conf50
-rw-r--r--www-apache/mod_perl/files/2.0.3/75_mod_perl.conf54
-rw-r--r--www-apache/mod_perl/files/2.0.3/apache2-mod_perl-startup.pl24
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch11
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch36
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch80
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.11-ranlib.patch11
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.13-c99.patch43
-rw-r--r--www-apache/mod_perl/files/mod_perl-2.0.4-inline.patch22
-rw-r--r--www-apache/mod_perl/metadata.xml12
-rw-r--r--www-apache/mod_perl/mod_perl-2.0.13-r1.ebuild143
-rw-r--r--www-apache/mod_perl/mod_perl-2.0.13-r2.ebuild144
-rw-r--r--www-apache/mod_security/Manifest3
-rw-r--r--www-apache/mod_security/files/79_mod_security.conf19
-rw-r--r--www-apache/mod_security/files/mod_security-2.9.3-autoconf_lua_package_name.patch11
-rw-r--r--www-apache/mod_security/files/modsecurity-2.7.conf15
-rw-r--r--www-apache/mod_security/metadata.xml34
-rw-r--r--www-apache/mod_security/mod_security-2.9.12.ebuild124
-rw-r--r--www-apache/mod_security/mod_security-2.9.13.ebuild128
-rw-r--r--www-apache/mod_tls/Manifest1
-rw-r--r--www-apache/mod_tls/files/mod_tls-0.14.0-werror.patch21
-rw-r--r--www-apache/mod_tls/files/mod_tls.conf5
-rw-r--r--www-apache/mod_tls/metadata.xml9
-rw-r--r--www-apache/mod_tls/mod_tls-0.14.0-r1.ebuild42
-rw-r--r--www-apache/mod_tls/mod_tls-0.14.0.ebuild40
-rw-r--r--www-apache/mod_whatkilledus/Manifest1
-rw-r--r--www-apache/mod_whatkilledus/files/10_mod_whatkilledus.conf5
-rw-r--r--www-apache/mod_whatkilledus/metadata.xml5
-rw-r--r--www-apache/mod_whatkilledus/mod_whatkilledus-2.01-r1.ebuild37
-rw-r--r--www-apache/mod_wsgi/Manifest2
-rw-r--r--www-apache/mod_wsgi/files/70_mod_wsgi.conf5
-rw-r--r--www-apache/mod_wsgi/metadata.xml8
-rw-r--r--www-apache/mod_wsgi/mod_wsgi-5.0.2.ebuild46
-rw-r--r--www-apache/mod_wsgi/mod_wsgi-6.0.2.ebuild46
-rw-r--r--www-apache/mod_xsendfile/Manifest1
-rw-r--r--www-apache/mod_xsendfile/files/50_mod_xsendfile.conf20
-rw-r--r--www-apache/mod_xsendfile/metadata.xml5
-rw-r--r--www-apache/mod_xsendfile/mod_xsendfile-1.0_beta1-r3.ebuild28
-rw-r--r--www-apache/modsecurity-crs/Manifest3
-rw-r--r--www-apache/modsecurity-crs/files/80_mod_security-crs.conf8
-rw-r--r--www-apache/modsecurity-crs/metadata.xml5
-rw-r--r--www-apache/modsecurity-crs/modsecurity-crs-3.3.9.ebuild43
-rw-r--r--www-apache/modsecurity-crs/modsecurity-crs-4.25.0.ebuild45
-rw-r--r--www-apache/modsecurity-crs/modsecurity-crs-4.26.0.ebuild45
-rw-r--r--www-apache/mpm_itk/Manifest1
-rw-r--r--www-apache/mpm_itk/files/00_mpm_itk.conf5
-rw-r--r--www-apache/mpm_itk/metadata.xml8
-rw-r--r--www-apache/mpm_itk/mpm_itk-2.4.7_p4-r2.ebuild54
-rw-r--r--www-apache/passenger/Manifest3
-rw-r--r--www-apache/passenger/files/30_mod_passenger-5.0.0.conf63
-rw-r--r--www-apache/passenger/files/passenger-5.1.11-gentoo.patch30
-rw-r--r--www-apache/passenger/metadata.xml12
-rw-r--r--www-apache/passenger/passenger-6.0.27.ebuild128
-rw-r--r--www-apache/passenger/passenger-6.1.0.ebuild128
-rw-r--r--www-apache/passenger/passenger-6.1.1.ebuild128
162 files changed, 4619 insertions, 0 deletions
diff --git a/www-apache/libapreq2/Manifest b/www-apache/libapreq2/Manifest
new file mode 100644
index 000000000000..aa8a6a30aeb8
--- /dev/null
+++ b/www-apache/libapreq2/Manifest
@@ -0,0 +1 @@
+DIST libapreq2-2.17.tar.gz 849867 BLAKE2B d2fa15693c200925e4926f207f1e023cba59ac0bfe3af3a8ac12880020bb00625c7fa21478c6562f9995d5307151b865efb83b837f45213d73fc523a1a864899 SHA512 89b139b8673145d9e2d8fd77d36f878c519c1deb7f9b853cda2a15d34cbb619d1c5e784ba21553f23c2ef07803f07c75a83d96cd770f80e1b36283a4cbb88999
diff --git a/www-apache/libapreq2/files/76_mod_apreq.conf b/www-apache/libapreq2/files/76_mod_apreq.conf
new file mode 100644
index 000000000000..15d925d404f8
--- /dev/null
+++ b/www-apache/libapreq2/files/76_mod_apreq.conf
@@ -0,0 +1,13 @@
+<IfDefine APREQ>
+LoadModule apreq_module modules/mod_apreq2.so
+
+# load the Perl modules
+# uncomment the ones you require
+#PerlModule APR::Request::Apache2
+#PerlModule APR::Request::CGI
+#PerlModule APR::Request::Cookie
+#PerlModule Apache2::Cookie
+#PerlModule Apache2::Request
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/libapreq2/files/libapreq2-2.08-c99.patch b/www-apache/libapreq2/files/libapreq2-2.08-c99.patch
new file mode 100644
index 000000000000..eaf20c523a86
--- /dev/null
+++ b/www-apache/libapreq2/files/libapreq2-2.08-c99.patch
@@ -0,0 +1,46 @@
+https://salsa.debian.org/debian/libapreq2/-/blob/debian/2.17-7/debian/patches/32-bit-build.patch
+
+Description: fix type mismatch of MGVTBL.svt_copy namelen argument
+ Since Perl 5.12, the type of the namelen argument of the svt_copy member of
+ MGVTBL struct has changed its type from `int` to `I32`.
+ .
+ Perl commit:
+ https://github.com/Perl/perl5/commit/3468c7eaa8d7687e8ae89928492b408a4d6c752f
+ .
+ On 64-bit platforms `int` and `I32` are both 32-bit integers, but on 32-bit
+ platforms I32 is `long int` and a simple `int` is 16-bit.
+Author: Damyan Ivanov <dmn@debian.org>
+Forwarded: https://bz.apache.org/bugzilla/show_bug.cgi?id=69346
+
+--- a/glue/perl/xsbuilder/apreq_xs_tables.h
++++ b/glue/perl/xsbuilder/apreq_xs_tables.h
+@@ -24,6 +24,11 @@
+
+ /**************************************************/
+
++#if (PERL_VERSION >= 12)
++#define MG_COPY_NAMELEN I32
++#else
++#define MG_COPY_NAMELEN int
++#endif
+
+ #if (PERL_VERSION >= 8) /* MAGIC ITERATOR REQUIRES 5.8 */
+
+@@ -42,7 +47,7 @@
+ */
+
+ static int apreq_xs_cookie_table_magic_copy(pTHX_ SV *sv, MAGIC *mg, SV *nsv,
+- const char *name, int namelen)
++ const char *name, MG_COPY_NAMELEN namelen)
+ {
+ /* Prefetch the value whenever the table iterator is > 0 */
+ MAGIC *tie_magic = mg_find(nsv, PERL_MAGIC_tiedelem);
+@@ -151,7 +156,7 @@ static int apreq_xs_cookie_table_values(
+ */
+
+ static int apreq_xs_param_table_magic_copy(pTHX_ SV *sv, MAGIC *mg, SV *nsv,
+- const char *name, int namelen)
++ const char *name, MG_COPY_NAMELEN namelen)
+ {
+ /* Prefetch the value whenever the table iterator is > 0 */
+ MAGIC *tie_magic = mg_find(nsv, PERL_MAGIC_tiedelem);
diff --git a/www-apache/libapreq2/files/libapreq2-2.08-doc.patch b/www-apache/libapreq2/files/libapreq2-2.08-doc.patch
new file mode 100644
index 000000000000..a1e444070320
--- /dev/null
+++ b/www-apache/libapreq2/files/libapreq2-2.08-doc.patch
@@ -0,0 +1,24 @@
+diff -Naurp libapreq2-2.08.old/build/doxygen.conf libapreq2-2.08/build/doxygen.conf
+--- libapreq2-2.08.old/build/doxygen.conf 2006-08-09 00:30:19.000000000 -0400
++++ libapreq2-2.08/build/doxygen.conf 2007-05-05 07:54:21.000000000 -0400
+@@ -27,7 +27,7 @@ WARN_IF_UNDOCUMENTED = YES
+ WARN_IF_DOC_ERROR = YES
+ WARN_FORMAT = "$file:$line: $text"
+
+-INPUT = . include module/apache module/apache2
++INPUT = . include module/apache2
+ FILE_PATTERNS = *.h *.dox CHANGES STATUS
+ RECURSIVE = NO
+ EXTRACT_STATIC = YES
+diff -Naurp libapreq2-2.08.old/build/doxygen.conf.in libapreq2-2.08/build/doxygen.conf.in
+--- libapreq2-2.08.old/build/doxygen.conf.in 2006-08-09 00:26:44.000000000 -0400
++++ libapreq2-2.08/build/doxygen.conf.in 2007-05-05 07:57:18.000000000 -0400
+@@ -27,7 +27,7 @@ WARN_IF_UNDOCUMENTED = YES
+ WARN_IF_DOC_ERROR = YES
+ WARN_FORMAT = "$file:$line: $text"
+
+-INPUT = . include module/apache module/apache2
++INPUT = . include module/apache2
+ FILE_PATTERNS = *.h *.dox CHANGES STATUS
+ RECURSIVE = NO
+ EXTRACT_STATIC = YES
diff --git a/www-apache/libapreq2/files/libapreq2-2.08-fix-linkage.patch b/www-apache/libapreq2/files/libapreq2-2.08-fix-linkage.patch
new file mode 100644
index 000000000000..c77fceb0640e
--- /dev/null
+++ b/www-apache/libapreq2/files/libapreq2-2.08-fix-linkage.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/934379
+https://src.fedoraproject.org/rpms/libapreq2/blob/rawhide/f/libapreq2-2.12-install.patch
+
+From: Lubomir Rintel <lkundrak@v3.sk>
+
+APR shared objects were not properly linked when they were installed to a
+specific DESTDIR. This was broken in r733406, which attempted to fix
+rpaths for the obscure platforms that still use them.
+
+With this applied, we call apreq2-config we just installed and add a library
+path of libraries in DESTDIR to linker.
+
+$ perl -MAPR::Request
+Can't load '/usr/lib/perl5/auto/APR/Request/Request.so' for module APR::Request: /usr/lib/perl5/auto/APR/Request/Request.so: undefined symbol: apreq_hook_disable_uploads at /usr/lib/perl5/DynaLoader.pm line 200.
+ at - line 0
+Compilation failed in require.
+BEGIN failed--compilation aborted.
+
+--- a/glue/Makefile.am
++++ b/glue/Makefile.am
+@@ -15,7 +15,9 @@ perl_test: perl/Makefile
+ cd perl; $(MAKE) test
+
+ perl_install:
+- cd perl; INSTALL=1 @PERL@ @PERL_OPTS@ Makefile.PL -apxs @APACHE2_APXS@ @MM_OPTS@
++ cd perl; INSTALL=1 PKG_CONFIG_PATH=$(DESTDIR)$(libdir)/pkgconfig \
++ DESTDIR=$(DESTDIR) LIBDIR=$(libdir) \
++ @PERL@ @PERL_OPTS@ Makefile.PL -apxs @APACHE2_APXS@ @MM_OPTS@
+ cd perl; $(MAKE) install
+
+ perl_clean:
+--- a/glue/perl/Makefile.PL
++++ b/glue/perl/Makefile.PL
+@@ -136,10 +136,15 @@ if (WIN32) {
+ my $apreq2_config = "$base_dir/apreq2-config";
+ my $bindir = qx{$apreq2_config --bindir};
+ chomp $bindir;
+- $apreq2_config = "$bindir/apreq2-config" if $ENV{INSTALL};
++ $apreq2_config = "PKG_CONFIG_PATH=$ENV{PKG_CONFIG_PATH} ".
++ $ENV{DESTDIR}."$bindir/apreq2-config"
++ if $ENV{INSTALL};
+ $apreq_libs = qx{$apreq2_config --link-ld --ldflags --libs};
++ die "Failed to run $apreq2_config" if $?;
+ chomp $apreq_libs;
++ $apreq_libs = " -L".$ENV{DESTDIR}.$ENV{LIBDIR}." ".$apreq_libs
++ if $ENV{INSTALL};
+ }
+
+ my $mp2_typemaps = Apache2::Build->new->typemaps;
+
+
diff --git a/www-apache/libapreq2/libapreq2-2.17-r1.ebuild b/www-apache/libapreq2/libapreq2-2.17-r1.ebuild
new file mode 100644
index 000000000000..11fb1e47a517
--- /dev/null
+++ b/www-apache/libapreq2/libapreq2-2.17-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module perl-module
+
+DESCRIPTION="A library for manipulating client request data via the Apache API"
+HOMEPAGE="https://httpd.apache.org/apreq/"
+SRC_URI="mirror://apache/httpd/libapreq/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ppc ~ppc64 ~riscv x86"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ dev-libs/apr-util[openssl]
+ dev-libs/apr-util[nss]
+ )
+ perl? (
+ >=dev-perl/ExtUtils-XSBuilder-0.23
+ virtual/perl-version
+ >=www-apache/mod_perl-2
+ )
+ virtual/libcrypt:="
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-perl/Apache-Test )"
+BDEPEND="sys-apps/file"
+
+PATCHES=(
+ "${FILESDIR}"/libapreq2-2.08-doc.patch
+ "${FILESDIR}"/libapreq2-2.08-fix-linkage.patch
+)
+
+APACHE2_MOD_FILE="module/apache2/.libs/mod_apreq2.so"
+APACHE2_MOD_CONF="76_mod_apreq"
+APACHE2_MOD_DEFINE="APREQ"
+
+need_apache2
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s/PERL \$PERL_OPTS/PERL/" acinclude.m4 aclocal.m4 configure || die
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --with-apache2-apxs=${APXS} \
+ $(use_enable perl perl-glue)
+}
+
+src_install() {
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+ apache-module_src_install
+
+ emake DESTDIR="${D}" INSTALLDIRS=vendor install
+ doman docs/man/man3/*.3
+
+ perl_delete_localpod
+
+ HTML_DOCS=( docs/html/. )
+ einstalldocs
+ dodoc INSTALL MANIFEST
+
+ local f
+ while IFS="" read -d $'\0' -r f ; do
+ if file "${f}" | grep -i " text"; then
+ sed -i -e "s:${ED}:/:g" "${f}" || die
+ fi
+ done < <(find "${ED}" -type f -not -name '*.so' -print0)
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/www-apache/libapreq2/libapreq2-2.17-r2.ebuild b/www-apache/libapreq2/libapreq2-2.17-r2.ebuild
new file mode 100644
index 000000000000..dabc72301f81
--- /dev/null
+++ b/www-apache/libapreq2/libapreq2-2.17-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module perl-module
+
+DESCRIPTION="A library for manipulating client request data via the Apache API"
+HOMEPAGE="https://httpd.apache.org/apreq/"
+SRC_URI="mirror://apache/httpd/libapreq/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ppc ~ppc64 ~riscv x86"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ dev-libs/apr-util[openssl]
+ dev-libs/apr-util[nss]
+ )
+ perl? (
+ >=dev-perl/ExtUtils-XSBuilder-0.23
+ virtual/perl-version
+ >=www-apache/mod_perl-2
+ )
+ virtual/libcrypt:="
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-perl/Apache-Test )"
+BDEPEND="sys-apps/file"
+
+PATCHES=(
+ "${FILESDIR}"/libapreq2-2.08-doc.patch
+ "${FILESDIR}"/libapreq2-2.08-fix-linkage.patch
+ "${FILESDIR}"/libapreq2-2.08-c99.patch
+)
+
+APACHE2_MOD_FILE="module/apache2/.libs/mod_apreq2.so"
+APACHE2_MOD_CONF="76_mod_apreq"
+APACHE2_MOD_DEFINE="APREQ"
+
+need_apache2
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s/PERL \$PERL_OPTS/PERL/" acinclude.m4 aclocal.m4 configure || die
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --with-apache2-apxs=${APXS} \
+ $(use_enable perl perl-glue)
+}
+
+src_install() {
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+ apache-module_src_install
+
+ emake DESTDIR="${D}" INSTALLDIRS=vendor install
+ doman docs/man/man3/*.3
+
+ perl_delete_localpod
+
+ HTML_DOCS=( docs/html/. )
+ einstalldocs
+ dodoc INSTALL MANIFEST
+
+ local f
+ while IFS="" read -d $'\0' -r f ; do
+ if file "${f}" | grep -i " text"; then
+ sed -i -e "s:${ED}:/:g" "${f}" || die
+ fi
+ done < <(find "${ED}" -type f -not -name '*.so' -print0)
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/www-apache/libapreq2/libapreq2-2.17.ebuild b/www-apache/libapreq2/libapreq2-2.17.ebuild
new file mode 100644
index 000000000000..cd769539c16f
--- /dev/null
+++ b/www-apache/libapreq2/libapreq2-2.17.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module perl-module
+
+DESCRIPTION="A library for manipulating client request data via the Apache API"
+HOMEPAGE="https://httpd.apache.org/apreq/"
+SRC_URI="mirror://apache/httpd/libapreq/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ dev-libs/apr-util[openssl]
+ dev-libs/apr-util[nss]
+ )
+ perl? (
+ >=dev-perl/ExtUtils-XSBuilder-0.23
+ virtual/perl-version
+ >=www-apache/mod_perl-2
+ )
+ virtual/libcrypt:="
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-perl/Apache-Test )"
+BDEPEND="sys-apps/file"
+
+PATCHES=( "${FILESDIR}"/libapreq2-2.08-doc.patch )
+
+APACHE2_MOD_FILE="module/apache2/.libs/mod_apreq2.so"
+APACHE2_MOD_CONF="76_mod_apreq"
+APACHE2_MOD_DEFINE="APREQ"
+
+need_apache2
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s/PERL \$PERL_OPTS/PERL/" acinclude.m4 aclocal.m4 configure || die
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --with-apache2-apxs=${APXS} \
+ $(use_enable perl perl-glue)
+}
+
+src_install() {
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+ apache-module_src_install
+
+ emake DESTDIR="${D}" INSTALLDIRS=vendor install
+ doman docs/man/man3/*.3
+
+ perl_delete_localpod
+
+ HTML_DOCS=( docs/html/. )
+ einstalldocs
+ dodoc INSTALL MANIFEST
+
+ local f
+ while IFS="" read -d $'\0' -r f ; do
+ if file "${f}" | grep -i " text"; then
+ sed -i -e "s:${ED}:/:g" "${f}" || die
+ fi
+ done < <(find "${ED}" -type f -not -name '*.so' -print0)
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/www-apache/libapreq2/metadata.xml b/www-apache/libapreq2/metadata.xml
new file mode 100644
index 000000000000..c6f790ecc982
--- /dev/null
+++ b/www-apache/libapreq2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:apache:libapreq2</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/metadata.xml b/www-apache/metadata.xml
new file mode 100644
index 000000000000..3d3060b0a51e
--- /dev/null
+++ b/www-apache/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The www-apache category contains modules for the Apache webserver.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría www-apache contiene módulos del servidor web Apache.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie www-apache enthält Module für den Webserver Apache.
+ </longdescription>
+ <longdescription lang="ja">
+ www-apacheカテゴリーにはApacheウエブサーバーのモジュールが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De www-apache categorie bevat modules voor de Apache webserver.
+ </longdescription>
+ <longdescription lang="sk">
+ Kategória www-apache obsahuje moduly pre webserver Apache.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm www-apache chứa các module cho Apache server.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria www-apache contiene moduli per il web server Apache.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria www-apache contém certos módulos para o servidor de
+ web Apache.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria www-apache zawiera moduły serwera Apache.
+ </longdescription>
+</catmetadata>
diff --git a/www-apache/mod_auth_kerb/Manifest b/www-apache/mod_auth_kerb/Manifest
new file mode 100644
index 000000000000..0d9857404b50
--- /dev/null
+++ b/www-apache/mod_auth_kerb/Manifest
@@ -0,0 +1,2 @@
+DIST mod_auth_kerb-5.4-gentoo-patchset.tar.bz2 8717 BLAKE2B 759ad350bb6c07226c86fa51e22f17023378928abed3fd80ff280bac54a472a8d918cba680b3c75ce93805a7f803bbd370a6bb1b73665f5a8d5fb7cdc6353d1c SHA512 3909c2677b30790cc17c0d8843feaa00d9acd14a012672443a887c0e88473d6b1572ba045e1491bcab53cbacff193c11cfe15e63ef1046cfcdf1f4ab60e0ac57
+DIST mod_auth_kerb-5.4.tar.gz 93033 BLAKE2B 2f5c2c26f0f9fa5919f879680e0b8f29087edd001c166655f8130e8d7efd527b0bb9bbb79fe3e508c14622ecefaa693a96dc7dd16a3298da8ae0ad4b69b48ca6 SHA512 93fdf0e43af1c24e8c8204d09240b708747068ef99dd8d21b45cb4d132d31e6d582d49ea5e23b905f55cb0d4a20b1ecb58de1bcbfdad1d016e536fc622b63214
diff --git a/www-apache/mod_auth_kerb/files/11_mod_auth_kerb.conf b/www-apache/mod_auth_kerb/files/11_mod_auth_kerb.conf
new file mode 100644
index 000000000000..e567274c7707
--- /dev/null
+++ b/www-apache/mod_auth_kerb/files/11_mod_auth_kerb.conf
@@ -0,0 +1,14 @@
+<IfDefine AUTH_KERB>
+LoadModule auth_kerb_module modules/mod_auth_kerb.so
+
+<Directory "/var/www/private">
+ AuthType Kerberos
+ AuthName "Kerberos Login"
+ # See the INSTALL file about howto create the keytab
+ Krb5Keytab conf/apache.keytab
+ KrbAuthRealms EXAMPLE.COM
+ Require valid-user
+</Directory>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-api-change-krb5.patch b/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-api-change-krb5.patch
new file mode 100644
index 000000000000..fb402de44a8d
--- /dev/null
+++ b/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-api-change-krb5.patch
@@ -0,0 +1,73 @@
+https://sources.debian.org/data/main/liba/libapache-mod-auth-kerb/5.4-2.5/debian/patches/0011-Always-use-NONE-replay-cache-type.patch
+https://bugs.gentoo.org/830208
+
+From: Sam Hartman <hartmans@debian.org>
+Date: Mon, 23 Nov 2020 09:30:22 -0500
+Subject: Always use NONE replay cache type
+
+It's 2020. Any MIT Kerberos in the wild supports the none replay
+cache type. The previous code used an internal function to detect
+that replay cache type; that function is no longer available.
+Instead, assume it is present.
+
+An alternative would be to enable the default replay cache. It was
+originally disabled because of problems between Microsoft
+authenticators and 2004-era MIT Kerberos 1.3. That's probably a good
+idea. It probably closes off security attacks, although analyzing the
+impact of replays in cases where neither channel binding nor
+per-message services are used is difficult. I believe that a replay
+cache is not strictly necessary in the common configuration where
+mod-auth-kerb is used over a TLS-protected connection where the client
+properly verifies the TLS certificate presented by the server prior to
+sending a GSS token.
+
+I have elected not to enable replay cache to affect a minimal change.
+--- a/src/mod_auth_kerb.c
++++ b/src/mod_auth_kerb.c
+@@ -2061,28 +2061,6 @@
+ return ret;
+ }
+
+-static int
+-have_rcache_type(const char *type)
+-{
+- krb5_error_code ret;
+- krb5_context context;
+- krb5_rcache id = NULL;
+- int found;
+-
+- ret = krb5_init_context(&context);
+- if (ret)
+- return 0;
+-
+- ret = krb5_rc_resolve_full(context, &id, "none:");
+- found = (ret == 0);
+-
+- if (ret == 0)
+- krb5_rc_destroy(context, id);
+- krb5_free_context(context);
+-
+- return found;
+-}
+-
+ /***************************************************************************
+ Module Setup/Configuration
+ ***************************************************************************/
+@@ -2143,7 +2121,7 @@
+ #ifndef HEIMDAL
+ /* Suppress the MIT replay cache. Requires MIT Kerberos 1.4.0 or later.
+ 1.3.x are covered by the hack overiding the replay calls */
+- if (getenv("KRB5RCACHETYPE") == NULL && have_rcache_type("none"))
++ if (getenv("KRB5RCACHETYPE") == NULL)
+ putenv(strdup("KRB5RCACHETYPE=none"));
+ #endif
+ }
+@@ -2185,7 +2163,7 @@
+ #ifndef HEIMDAL
+ /* Suppress the MIT replay cache. Requires MIT Kerberos 1.4.0 or later.
+ 1.3.x are covered by the hack overiding the replay calls */
+- if (getenv("KRB5RCACHETYPE") == NULL && have_rcache_type("none"))
++ if (getenv("KRB5RCACHETYPE") == NULL)
+ putenv(strdup("KRB5RCACHETYPE=none"));
+ #endif
+ #ifdef STANDARD20_MODULE_STUFF
diff --git a/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-krb5pwd-double-free.patch b/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-krb5pwd-double-free.patch
new file mode 100644
index 000000000000..aa8ced49c103
--- /dev/null
+++ b/www-apache/mod_auth_kerb/files/mod_auth_kerb-5.4-krb5pwd-double-free.patch
@@ -0,0 +1,22 @@
+https://sources.debian.org/src/libapache-mod-auth-kerb/5.4-2.5/debian/patches/mod_auth_kerb-krb5_kt_close.patch/
+https://bugs.gentoo.org/673066
+
+Description: fix use after free in authenticate_user_krb5pwd()
+Origin: https://sourceforge.net/p/modauthkerb/bugs/61/attachment/mod_auth_kerb-krb5_kt_close.patch
+Bug: https://sourceforge.net/p/modauthkerb/bugs/61/
+Bug-Debian: https://bugs.debian.org/934043
+Author: Johan Ymerson (https://sourceforge.net/u/ymerson/)
+--- a/src/mod_auth_kerb.c
++++ b/src/mod_auth_kerb.c
+@@ -799,11 +799,9 @@
+ "failed to verify krb5 credentials: %s",
+ krb5_get_err_text(context, ret));
+ krb5_kt_end_seq_get(context, keytab, &cursor);
+- krb5_kt_close(context, keytab);
+ goto end;
+ }
+ krb5_kt_end_seq_get(context, keytab, &cursor);
+- krb5_kt_close(context, keytab);
+ }
+ else {
+ if ((ret = verify_krb5_init_creds(r, context, &creds, server, keytab))) {
diff --git a/www-apache/mod_auth_kerb/files/mod_auth_kerb.conf b/www-apache/mod_auth_kerb/files/mod_auth_kerb.conf
new file mode 100644
index 000000000000..b38a0f361e4d
--- /dev/null
+++ b/www-apache/mod_auth_kerb/files/mod_auth_kerb.conf
@@ -0,0 +1 @@
+d /run/httpd/krbcache 700 apache apache
diff --git a/www-apache/mod_auth_kerb/metadata.xml b/www-apache/mod_auth_kerb/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_auth_kerb/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_auth_kerb/mod_auth_kerb-5.4-r5.ebuild b/www-apache/mod_auth_kerb/mod_auth_kerb-5.4-r5.ebuild
new file mode 100644
index 000000000000..0c1f5271ba76
--- /dev/null
+++ b/www-apache/mod_auth_kerb/mod_auth_kerb-5.4-r5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache tmpfiles
+
+DESCRIPTION="An Apache authentication module using Kerberos"
+HOMEPAGE="http://modauthkerb.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/project/modauthkerb/${PN}/${P}/${P}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/${P}-gentoo-patchset.tar.bz2"
+
+LICENSE="BSD openafs-krb5-a HPND"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="virtual/krb5"
+RDEPEND="${DEPEND}"
+
+APACHE2_MOD_CONF="11_${PN}"
+APACHE2_MOD_DEFINE="AUTH_KERB"
+
+DOCFILES="INSTALL README"
+
+need_apache2
+
+PATCHES=(
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-rcopshack.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-fixes.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-s4u2proxy.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-httpd24.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-delegation.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-cachedir.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-longuser.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-handle-continue.patch
+ "${WORKDIR}/${P}-gentoo-patchset"/${P}-heimdal.patch
+
+ # bug #830208
+ "${FILESDIR}"/${P}-api-change-krb5.patch
+ # bug #673066
+ "${FILESDIR}"/${P}-krb5pwd-double-free.patch
+)
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ CFLAGS="" APXS="${APXS}" econf --with-krb5=/usr --without-krb4
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ apache-module_src_install
+
+ dotmpfiles "${FILESDIR}"/${PN}.conf
+}
+
+pkg_postinst() {
+ tmpfiles_process ${PN}.conf
+}
diff --git a/www-apache/mod_auth_openidc/Manifest b/www-apache/mod_auth_openidc/Manifest
new file mode 100644
index 000000000000..4a0bb4673b52
--- /dev/null
+++ b/www-apache/mod_auth_openidc/Manifest
@@ -0,0 +1,2 @@
+DIST mod_auth_openidc-2.4.14.4.tar.gz 632757 BLAKE2B e01df9c431df848c1773f8152d87b5efc183b016516718bbf5eff3de66d12c87396b649a06548b5f0e42a52d08baef9ced8cd4b79acfc1657b7427dab0c9c14d SHA512 b7d61f15d48292f2a567653632f7d9df8b6cb54303d4de0c333c8122a32df8749e508a0abd5259ac7ca15da5b244eec1e1d21f62140720ddb1705ec289551984
+DIST mod_auth_openidc-2.4.16.7.tar.gz 688803 BLAKE2B ddebeea109f2a33fb2bf71c4f1311f6b2bae6cd2cd6b6d4d3124ec0a99cca82ad7ee209f62ded3070390fff7c65ee062f758f410eea7f7cba3dcfef9c6b31ee6 SHA512 0f0d656294eab0c7bc5c8e637765ca58f0e9465cfb7971041d0efd41f67ccc1dcd4417cc4d0d3629eb05fe42e859804f4d39e3beae7285e582f4e373826da383
diff --git a/www-apache/mod_auth_openidc/files/10_mod_auth_openidc.conf b/www-apache/mod_auth_openidc/files/10_mod_auth_openidc.conf
new file mode 100644
index 000000000000..0290c4cfc162
--- /dev/null
+++ b/www-apache/mod_auth_openidc/files/10_mod_auth_openidc.conf
@@ -0,0 +1,4 @@
+<IfDefine AUTH_OPENIDC>
+LoadModule auth_openidc_module modules/mod_auth_openidc.so
+# See /usr/share/doc/mod_auth_openidc-*/auth_openidc.conf for configuration options.
+</IfDefine>
diff --git a/www-apache/mod_auth_openidc/metadata.xml b/www-apache/mod_auth_openidc/metadata.xml
new file mode 100644
index 000000000000..48c020da8f27
--- /dev/null
+++ b/www-apache/mod_auth_openidc/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>infra-bugs@gentoo.org</email>
+ <name>Gentoo Infrastructure Team</name>
+ </maintainer>
+ <use>
+ <flag name="redis">Add support for the Redis caching via <pkg>dev-libs/hiredis</pkg>
+ </flag>
+ <flag name="brotli">Add support for brotli compressed data using <pkg>app-arch/brotli</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.14.4-r1.ebuild b/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.14.4-r1.ebuild
new file mode 100644
index 000000000000..57b1e1e8f180
--- /dev/null
+++ b/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.14.4-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit depend.apache apache-module autotools
+
+DESCRIPTION="OpenID Connect Relying Party implementation for Apache HTTP Server 2.x"
+HOMEPAGE="https://github.com/OpenIDC/mod_auth_openidc"
+SRC_URI="https://github.com/OpenIDC/mod_auth_openidc/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="brotli redis"
+
+RDEPEND="
+ app-misc/jq
+ dev-libs/apr
+ dev-libs/cjose
+ dev-libs/jansson:=
+ dev-libs/openssl:=
+ dev-libs/libpcre
+ net-misc/curl
+ virtual/zlib:=
+ brotli? ( app-arch/brotli:= )
+ redis? ( dev-libs/hiredis:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="virtual/pkgconfig"
+
+APACHE2_MOD_CONF="10_mod_auth_openidc"
+APACHE2_MOD_DEFINE="AUTH_OPENIDC"
+DOCFILES="README.md ChangeLog AUTHORS INSTALL auth_openidc.conf"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ ECONF_ARGS=(
+ $(use_with brotli)
+ $(use_with redis hiredis)
+ )
+ econf "${ECONF_ARGS[@]}"
+}
+
+src_compile() {
+ # Do not use apache-module_src_compile ; it does not compile properly
+ default
+}
+
+src_install() {
+ # Do not use apache-module_src_install ; it does not link properly
+ default
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}/${APACHE2_MOD_CONF}.conf"
+ dodoc ${DOCFILES}
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
diff --git a/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.16.7.ebuild b/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.16.7.ebuild
new file mode 100644
index 000000000000..11ba887a4f08
--- /dev/null
+++ b/www-apache/mod_auth_openidc/mod_auth_openidc-2.4.16.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit depend.apache apache-module autotools
+
+DESCRIPTION="OpenID Connect Relying Party implementation for Apache HTTP Server 2.x"
+HOMEPAGE="https://github.com/OpenIDC/mod_auth_openidc"
+SRC_URI="https://github.com/OpenIDC/mod_auth_openidc/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="brotli redis"
+
+RDEPEND="
+ app-misc/jq
+ dev-libs/apr
+ dev-libs/cjose
+ dev-libs/jansson:=
+ dev-libs/openssl:=
+ dev-libs/libpcre
+ net-misc/curl
+ virtual/zlib:=
+ brotli? ( app-arch/brotli:= )
+ redis? ( dev-libs/hiredis:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="virtual/pkgconfig"
+
+APACHE2_MOD_CONF="10_mod_auth_openidc"
+APACHE2_MOD_DEFINE="AUTH_OPENIDC"
+DOCFILES="README.md ChangeLog AUTHORS INSTALL auth_openidc.conf"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ ECONF_ARGS=(
+ $(use_with brotli)
+ $(use_with redis hiredis)
+ )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${ECONF_ARGS[@]}"
+}
+
+src_compile() {
+ # Do not use apache-module_src_compile ; it does not compile properly
+ default
+}
+
+src_install() {
+ # Do not use apache-module_src_install ; it does not link properly
+ default
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}/${APACHE2_MOD_CONF}.conf"
+ dodoc ${DOCFILES}
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
diff --git a/www-apache/mod_auth_radius/Manifest b/www-apache/mod_auth_radius/Manifest
new file mode 100644
index 000000000000..c628aca889e7
--- /dev/null
+++ b/www-apache/mod_auth_radius/Manifest
@@ -0,0 +1 @@
+DIST mod_auth_radius-1.6.0.tar.gz 20176 BLAKE2B b004b133a3b8e84533f1e97883436aaec389870c6ca6eb2017bd7f4fac12913c438b9838ff1fce01e5ed26bfeec65f6ac349816ee681f39deea0616c22e2530c SHA512 e128855ab198b35030b798c16538fa33c1698f0f179fccb0d160c2d2cce08f1a7b2ecfaefdc19ae7f21802d38705b7a08414444ac52041b7365a5633e5e66159
diff --git a/www-apache/mod_auth_radius/metadata.xml b/www-apache/mod_auth_radius/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_auth_radius/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_auth_radius/mod_auth_radius-1.6.0.ebuild b/www-apache/mod_auth_radius/mod_auth_radius-1.6.0.ebuild
new file mode 100644
index 000000000000..5b9ee1709fc0
--- /dev/null
+++ b/www-apache/mod_auth_radius/mod_auth_radius-1.6.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache eapi9-ver
+
+DESCRIPTION="Radius authentication for Apache"
+HOMEPAGE="https://freeradius.org/sub_projects/ https://github.com/FreeRADIUS/mod_auth_radius/"
+SRC_URI="https://github.com/FreeRADIUS/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64"
+SLOT="0"
+
+APACHE2_MOD_DEFINE="AUTH_RADIUS"
+
+DOCFILES="README.asciidoc"
+
+need_apache2
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+pkg_postinst() {
+ if ver_replacing -lt 1.6.0; then
+ ewarn "Please note that upstream has changed the name of this module from"
+ ewarn " ${PN}-2.0.so"
+ ewarn "to simply"
+ ewarn " ${PN}.so"
+ fi
+}
diff --git a/www-apache/mod_auth_tkt/Manifest b/www-apache/mod_auth_tkt/Manifest
new file mode 100644
index 000000000000..c8f20eebf95b
--- /dev/null
+++ b/www-apache/mod_auth_tkt/Manifest
@@ -0,0 +1 @@
+DIST mod_auth_tkt-2.1.0.tar.gz 100731 BLAKE2B d3b7bd9d6fe90865ca6586b33402f6239899b46db358e737b93547bd1046f3eea1802b96c18df5bf2a39828ac448751f5fea932c852658589522a307b1695941 SHA512 e99ed60dbe2deebd654c4c849b20f7aa929ab476b9142e3da1aad8468b4922f4c36d30086396bb15676a3dc3e4ad9ac97e3524d1c70c6f18cea4c436174463b0
diff --git a/www-apache/mod_auth_tkt/files/10_mod_auth_tkt.conf b/www-apache/mod_auth_tkt/files/10_mod_auth_tkt.conf
new file mode 100644
index 000000000000..4fe66cc90b5f
--- /dev/null
+++ b/www-apache/mod_auth_tkt/files/10_mod_auth_tkt.conf
@@ -0,0 +1,24 @@
+# See 'man mod_auth_tkt' for details on the individual directives.
+<IfDefine AUTH_TKT>
+LoadModule auth_tkt_module modules/mod_auth_tkt.so
+
+# Shared secret - CHANGE THIS before using!
+TKTAuthSecret "672c158d-67b8-42e4-aec7-f1e1abb882bb"
+
+# Used by sample CGI scripts to locate this config file
+SetEnv MOD_AUTH_TKT_CONF "/etc/apache2/modules.d/10_mod_auth_tkt.conf"
+
+# Protected directory example
+#<Directory /var/www/localhost/htdocs>
+# AuthType Basic
+# require valid-user
+# TKTAuthLoginURL https://www.CHANGEME.com/pub/login.cgi
+# # If an internet server, you probably want the following on (at least initially)
+# TKTAuthIgnoreIP on
+# # If you just want *optional* authentication, so that casual users and robots
+# # can still access some content, uncomment the following
+# # TKTAuthGuestLogin on
+#</Directory>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_auth_tkt/files/mod_auth_tkt-2.1.0-apache-2.4.patch b/www-apache/mod_auth_tkt/files/mod_auth_tkt-2.1.0-apache-2.4.patch
new file mode 100644
index 000000000000..1e6ee28f5657
--- /dev/null
+++ b/www-apache/mod_auth_tkt/files/mod_auth_tkt-2.1.0-apache-2.4.patch
@@ -0,0 +1,40 @@
+Description: Build fix for apache 2.4
+ Fix for API changes in apache 2.4.
+Author: Ivo De Decker <ivo.dedecker@ugent.be>
+Forwarded: https://sourceforge.net/mailarchive/forum.php?thread_name=20120518111425.GA9186%40ugent.be&forum_name=modauthtkt-users
+Last-Update: 2012-05-17
+
+--- libapache2-mod-auth-tkt-2.1.0.orig/src/mod_auth_tkt.c
++++ libapache2-mod-auth-tkt-2.1.0/src/mod_auth_tkt.c
+@@ -6,6 +6,7 @@
+ #include "http_config.h"
+ #include "http_log.h"
+ #include "http_core.h"
++#include "http_request.h"
+ #include "http_protocol.h"
+ #include "util_md5.h"
+ #include "sha2.h"
+@@ -798,7 +799,11 @@ ticket_digest(request_rec *r, auth_tkt *
+ unsigned char *buf2 = apr_palloc(r->pool, sconf->digest_sz + strlen(secret));
+ int len = 0;
+ char *digest = NULL;
++#if AP_MODULE_MAGIC_AT_LEAST(20111130,0)
++ char *remote_ip = conf->ignore_ip > 0 ? "0.0.0.0" : r->connection->client_ip;
++#else
+ char *remote_ip = conf->ignore_ip > 0 ? "0.0.0.0" : r->connection->remote_ip;
++#endif
+ unsigned long ip;
+ struct in_addr ia;
+ char *d;
+@@ -1575,7 +1580,11 @@ static void
+ auth_tkt_register_hooks (apr_pool_t *p)
+ {
+ ap_hook_post_config(auth_tkt_version, NULL, NULL, APR_HOOK_MIDDLE);
++#if AP_MODULE_MAGIC_AT_LEAST(20080403,1)
++ ap_hook_check_authn(auth_tkt_check, NULL, NULL, APR_HOOK_FIRST, AP_AUTH_INTERNAL_PER_CONF);
++#else
+ ap_hook_check_user_id(auth_tkt_check, NULL, NULL, APR_HOOK_FIRST);
++#endif
+ }
+
+ /* Declare and populate the main module data structure */
diff --git a/www-apache/mod_auth_tkt/metadata.xml b/www-apache/mod_auth_tkt/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_auth_tkt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_auth_tkt/mod_auth_tkt-2.1.0-r2.ebuild b/www-apache/mod_auth_tkt/mod_auth_tkt-2.1.0-r2.ebuild
new file mode 100644
index 000000000000..787f1c49d693
--- /dev/null
+++ b/www-apache/mod_auth_tkt/mod_auth_tkt-2.1.0-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="Apache module for cookie based authentication"
+HOMEPAGE="http://www.openfusion.com.au/labs/mod_auth_tkt/"
+SRC_URI="http://www.openfusion.com.au/labs/dist/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="dev-lang/perl"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="AUTH_TKT"
+
+DOCFILES="README"
+
+# test suite is completely broken
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-apache-2.4.patch
+)
+
+need_apache2
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ ./configure --apachever=2.2 --apxs=${APXS} || die
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ apache-module_src_install
+
+ pod2man --section=5 --release=${PV} doc/${PN}.{pod,5} || die
+ doman doc/${PN}.5
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+ einfo "See 'man mod_auth_tkt' for details on the individual directives."
+ einfo "Remember to change shared secret 'TKTAuthSecret' before using!"
+ einfo
+}
diff --git a/www-apache/mod_auth_xradius/Manifest b/www-apache/mod_auth_xradius/Manifest
new file mode 100644
index 000000000000..10ff6c385ed3
--- /dev/null
+++ b/www-apache/mod_auth_xradius/Manifest
@@ -0,0 +1 @@
+DIST mod_auth_xradius-0.4.6.tar.bz2 180591 BLAKE2B bc55760232d3aa002dd2a36a4d6304934d5ba2b77feee1ea90c9c1e71c8e63dca26e09efc6c56a05a0c197090b1ebfb540c9a2a82ce611c2dcaf06396e82e8f3 SHA512 7edb26f988f9842825bec1b04f5127816bd53f76d2284d79d87afef2b5d6e9fa8cb8156c3f5543aeb9b013f65295fa70098ade603f00ce6e90b3b0c3e8c41b6a
diff --git a/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-apache24-api-changes.patch b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-apache24-api-changes.patch
new file mode 100644
index 000000000000..349822a5733a
--- /dev/null
+++ b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-apache24-api-changes.patch
@@ -0,0 +1,14 @@
+--- a/src/xradius_cache.c
++++ b/src/xradius_cache.c
+@@ -143,9 +143,9 @@
+ /* Running as Root */
+ if (geteuid() == 0) {
+ /* Allow the configured Apache use to read/write to the DBM */
+- chown(path1, unixd_config.user_id, -1);
++ chown(path1, ap_unixd_config.user_id, -1);
+ if (path2 != NULL) {
+- chown(path2, unixd_config.user_id, -1);
++ chown(path2, ap_unixd_config.user_id, -1);
+ }
+ }
+ #endif
diff --git a/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-clang16.patch b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-clang16.patch
new file mode 100644
index 000000000000..38c7b6852f29
--- /dev/null
+++ b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-clang16.patch
@@ -0,0 +1,19 @@
+Need to rename the declarations in md5.h using cpp too.
+
+https://bugs.gentoo.org/870841
+--- a/libradius/porting.h
++++ b/libradius/porting.h
+@@ -15,12 +15,12 @@
+
+ #else
+
+-#include "md5.h"
+ #define MD5_DIGEST_LENGTH 16
+ #define MD5Final xrad_MD5Final
+ #define MD5Init xrad_MD5Init
+ #define MD5Pad xrad_MD5Pad
+ #define MD5Update xrad_MD5Update
++#include "md5.h"
+
+ #endif
+
diff --git a/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fallback-support.patch b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fallback-support.patch
new file mode 100644
index 000000000000..f1beffe35d99
--- /dev/null
+++ b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fallback-support.patch
@@ -0,0 +1,30 @@
+--- a/src/mod_auth_xradius.c
++++ b/src/mod_auth_xradius.c
+@@ -125,15 +125,15 @@
+ rctx = xrad_auth_open();
+
+ /* Loop through the array of RADIUS Servers, adding them to the rctx object */
+- sr = (xrad_server_info *) dc->servers->elts;
+ for (i = 0; i < dc->servers->nelts; ++i) {
+- rc = xrad_add_server(rctx, sr[i].hostname, sr[i].port, sr[i].secret,
++ sr = &(((xrad_server_info*)dc->servers->elts)[i]);
++ rc = xrad_add_server(rctx, sr->hostname, sr->port, sr->secret,
+ dc->timeout, dc->maxtries);
+
+ if (rc != 0) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ "xradius: Failed to add server '%s:%d': (%d) %s",
+- sr[i].hostname, sr[i].port, rc, xrad_strerror(rctx));
++ sr->hostname, sr->port, rc, xrad_strerror(rctx));
+ goto run_cleanup;
+ }
+ }
+@@ -294,7 +294,7 @@
+ /* To properly use the Pools, this array is allocated from the here, instead of
+ inside the directory configuration creation function. */
+ if (dc->servers == NULL) {
+- dc->servers = apr_array_make(parms->pool, 4, sizeof(xrad_server_info*));
++ dc->servers = apr_array_make(parms->pool, 4, sizeof(xrad_server_info));
+ }
+
+ sr = apr_array_push(dc->servers);
diff --git a/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fno-common.patch b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fno-common.patch
new file mode 100644
index 000000000000..d4c25fad0935
--- /dev/null
+++ b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-fno-common.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/707610
+--- a/include/mod_auth_xradius.h.in
++++ b/include/mod_auth_xradius.h.in
+@@ -41,7 +41,7 @@
+ */
+ #define HAVE_APR_MEMCACHE @have_apr_memcache@
+
+-module AP_MODULE_DECLARE_DATA auth_xradius_module;
++extern module AP_MODULE_DECLARE_DATA auth_xradius_module;
+
+ #define MOD_AUTH_XRADIUS_VERSION "@MOD_AUTH_XRADIUS_VERSION@"
+
+--- a/src/mod_auth_xradius.c
++++ b/src/mod_auth_xradius.c
+@@ -47,6 +47,7 @@ if (rvx != 0) { \
+ goto run_cleanup; \
+ }
+
++module AP_MODULE_DECLARE_DATA auth_xradius_module;
+ apr_proc_mutex_t *gmutex;
+ static int use_mutex;
+
diff --git a/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-obsolete-autotools-syntax.patch b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-obsolete-autotools-syntax.patch
new file mode 100644
index 000000000000..97f3023b97c2
--- /dev/null
+++ b/www-apache/mod_auth_xradius/files/mod_auth_xradius-0.4.6-obsolete-autotools-syntax.patch
@@ -0,0 +1,19 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,6 +4,7 @@
+ AC_PREREQ(2.53)
+ AC_CONFIG_SRCDIR([src/mod_auth_xradius.c])
+ AC_CONFIG_AUX_DIR(config)
++AC_CONFIG_MACRO_DIR([m4])
+ OOO_MAINTAIN_MODE
+ AM_MAINTAINER_MODE
+ AC_CANONICAL_TARGET
+@@ -15,7 +16,7 @@
+ AC_PROG_CC
+ AC_PROG_LD
+ AC_PROG_INSTALL
+-AC_PROG_RANLIB
++LT_INIT
+
+ AP_VERSION=2.0.40
+ CHECK_APACHE(,$AP_VERSION,
diff --git a/www-apache/mod_auth_xradius/metadata.xml b/www-apache/mod_auth_xradius/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_auth_xradius/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_auth_xradius/mod_auth_xradius-0.4.6-r2.ebuild b/www-apache/mod_auth_xradius/mod_auth_xradius-0.4.6-r2.ebuild
new file mode 100644
index 000000000000..086e87e1dee0
--- /dev/null
+++ b/www-apache/mod_auth_xradius/mod_auth_xradius-0.4.6-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Radius authentication for Apache"
+HOMEPAGE="http://www.outoforder.cc/projects/apache/mod_auth_xradius/"
+SRC_URI="http://www.outoforder.cc/downloads/${PN}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="www-servers/apache"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-obsolete-autotools-syntax.patch
+ "${FILESDIR}"/${P}-fallback-support.patch
+ "${FILESDIR}"/${P}-apache24-api-changes.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+ AT_M4DIR="m4" eautoreconf
+}
diff --git a/www-apache/mod_authnz_external/Manifest b/www-apache/mod_authnz_external/Manifest
new file mode 100644
index 000000000000..3c208acc9a9f
--- /dev/null
+++ b/www-apache/mod_authnz_external/Manifest
@@ -0,0 +1 @@
+DIST mod_authnz_external-3.3.3.tar.gz 38266 BLAKE2B 03bdfe7efdcd832b7662be70e0e38cdfb4f025d3bdd3baf3e98b4d77efd538605db8f625006246515f427989aca3242626a4115e4534ecb75c09adc967227ea6 SHA512 65b643870dcfc5cdc0343bc606ff74697473617ce9f6fe27cae40ae1b2dca904bb71b6ec8347c6b5c5e3819785432798f6e78820cdf66fd17b245371a41322d2
diff --git a/www-apache/mod_authnz_external/files/10_mod_authnz_external.conf b/www-apache/mod_authnz_external/files/10_mod_authnz_external.conf
new file mode 100644
index 000000000000..6d53e749ba11
--- /dev/null
+++ b/www-apache/mod_authnz_external/files/10_mod_authnz_external.conf
@@ -0,0 +1,34 @@
+<IfDefine AUTHNZ_EXTERNAL>
+LoadModule authnz_external_module modules/mod_authnz_external.so
+
+# provided by www-apache/pwauth
+#AddExternalAuth pwauth /etc/apache2/modules/pwauth
+#SetExternalAuthMethod pwauth pipe
+
+# For external group check (provided by www-apache/pwauth)
+#AddExternalGroup unixgroup modules/unixgroup
+#SetExternalGroupMethod unixgroup environment
+
+# Put an .htaccess file in whatever directory you want to protect.
+# A typical .htaccess file would look like:
+#
+# AuthName Your-Site-Name
+# AuthType Basic
+# AuthExternal pwauth
+# Require valid-user
+# or
+# Require user1
+#
+# GroupExternal unixgroup
+# AuthGroupFile /dev/null
+# Require group <groupname1> <groupname2> ...
+#
+# Alternately, you can put a <Directory> block with the same directives
+# in your httpd.conf file.
+#
+# Note1: Using group method, don't forget to add users in the authorized group
+# group files
+# somegroup:x:500:user1,user2,user3
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_authnz_external/metadata.xml b/www-apache/mod_authnz_external/metadata.xml
new file mode 100644
index 000000000000..8a3cd034e7ab
--- /dev/null
+++ b/www-apache/mod_authnz_external/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_authnz_external/mod_authnz_external-3.3.3-r2.ebuild b/www-apache/mod_authnz_external/mod_authnz_external-3.3.3-r2.ebuild
new file mode 100644
index 000000000000..ea4592e2963e
--- /dev/null
+++ b/www-apache/mod_authnz_external/mod_authnz_external-3.3.3-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="An Apache2 authentication DSO using external programs"
+HOMEPAGE="https://github.com/phokz/mod-auth-external"
+
+inherit apache-module
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/phokz/mod-auth-external.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}/mod_authnz_external"
+else
+ SRC_URI="https://github.com/phokz/mod-auth-external/archive/${P}.tar.gz"
+ S="${WORKDIR}/mod-auth-external-${P}"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="Apache-1.1"
+SLOT="2"
+
+need_apache2_4
+
+DOCFILES="AUTHENTICATORS CHANGES INSTALL INSTALL.HARDCODE README TODO UPGRADE"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="AUTHNZ_EXTERNAL"
+
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_authz_unixgroup/Manifest b/www-apache/mod_authz_unixgroup/Manifest
new file mode 100644
index 000000000000..0b42672ea3db
--- /dev/null
+++ b/www-apache/mod_authz_unixgroup/Manifest
@@ -0,0 +1,2 @@
+DIST mod_authz_unixgroup-1.1.0.tar.gz 10085 BLAKE2B d7948cf046d58bcf27dfd4310a69ea61395d75f67c782fdbeb3f96015b7df8abebb7c59a244efe37a20e42ed72b501cd757346812144cd66a1cae8dabbd62a42 SHA512 83c767b2eb903964e688658bc4ae4384afd14c99f714c9aafb8c5bdddc855511e0b81f3499411b401865e42028b587dbba4ea2eb5123fe32ac91899327d6bbb8
+DIST mod_authz_unixgroup-1.2.0.tar.gz 13442 BLAKE2B 8cd00db549834ef252ec48b54b2dc442a9c38ded3f34e3bb75b49e88232ab88ffbcec2481971c91629932e602729ca431d8084a92e4df17fee3742387d8b7f68 SHA512 fd74e1510ffa4ca273d9e97760cdda846ce7c7debbdfa09ba8b90f8d7dc0720d0fb128261680b48e6fba63ca273d98e0bcaadeeca9276e06809b51d4ab6e8c61
diff --git a/www-apache/mod_authz_unixgroup/files/10_mod_authz_unixgroup.conf b/www-apache/mod_authz_unixgroup/files/10_mod_authz_unixgroup.conf
new file mode 100644
index 000000000000..dd942a8dd791
--- /dev/null
+++ b/www-apache/mod_authz_unixgroup/files/10_mod_authz_unixgroup.conf
@@ -0,0 +1,11 @@
+<IfDefine AUTHZ_UNIXGROUP>
+LoadModule authz_unixgroup_module modules/mod_authz_unixgroup.so
+
+# For UNIX group check
+# Require unix-group staff admin
+# This would allow only access to accounts in the 'staff' or 'admin' unix groups.
+# You can alternately specify groups by their gid numbers instead of their names.
+</IfDefine>
+
+# vim: ts=4 filetype=apache
+
diff --git a/www-apache/mod_authz_unixgroup/metadata.xml b/www-apache/mod_authz_unixgroup/metadata.xml
new file mode 100644
index 000000000000..8a3cd034e7ab
--- /dev/null
+++ b/www-apache/mod_authz_unixgroup/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.1.0-r2.ebuild b/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..ff0157b722eb
--- /dev/null
+++ b/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.1.0-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit apache-module
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/phokz/mod-auth-external.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}/${PN}"
+else
+ SRC_URI="https://github.com/phokz/mod-auth-external/archive/${P}.tar.gz"
+ KEYWORDS="amd64"
+ S="${WORKDIR}/mod-auth-external-${P}"
+fi
+
+DESCRIPTION="An Apache2 authorization DSO using unix groups"
+HOMEPAGE="https://github.com/phokz/mod-auth-external"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+need_apache2_4
+
+DOCFILES="CHANGES INSTALL README NOTICE"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="AUTHZ_UNIXGROUP"
+
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.2.0-r1.ebuild b/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..f2a962a49040
--- /dev/null
+++ b/www-apache/mod_authz_unixgroup/mod_authz_unixgroup-1.2.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit apache-module
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/phokz/mod-auth-external.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}/${PN}"
+else
+ SRC_URI="https://github.com/phokz/mod-auth-external/archive/${P}.tar.gz"
+ KEYWORDS="amd64"
+ S="${WORKDIR}/mod-auth-external-${P}"
+fi
+DEPEND="dev-libs/libbsd"
+RDEPEND="dev-libs/libbsd"
+
+DESCRIPTION="An Apache2 authorization DSO using unix groups"
+HOMEPAGE="https://github.com/phokz/mod-auth-external"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+need_apache2_4
+
+DOCFILES="CHANGES INSTALL README"
+
+APXS2_ARGS="-c ${PN}.c -lbsd"
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="AUTHZ_UNIXGROUP"
+
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_backtrace/Manifest b/www-apache/mod_backtrace/Manifest
new file mode 100644
index 000000000000..634d8624c086
--- /dev/null
+++ b/www-apache/mod_backtrace/Manifest
@@ -0,0 +1 @@
+DIST wku_bt-2.01.zip 933169 BLAKE2B 5ec19ee27284b432162ee10433d9b9da4f390557eec644c3cc9fae2f447ca23dbfa3d678054a90ee1d0cc54aef1666910f23e66b811b22652fa2a50abeeaf68c SHA512 c1bde8a26b395fc5fc66cd83c9282a8c519f34d27bef628ec502cec4245a7d446300178c9c94a5c5c0eb817bb8dd146587607760f9c9e780986d6ec53f03fb4c
diff --git a/www-apache/mod_backtrace/files/10_mod_backtrace.conf b/www-apache/mod_backtrace/files/10_mod_backtrace.conf
new file mode 100644
index 000000000000..822efd2667fb
--- /dev/null
+++ b/www-apache/mod_backtrace/files/10_mod_backtrace.conf
@@ -0,0 +1,4 @@
+<IfDefine BACKTRACE>
+ LoadModule backtrace_module modules/mod_backtrace.so
+ EnableExceptionHook On
+</IfDefine>
diff --git a/www-apache/mod_backtrace/metadata.xml b/www-apache/mod_backtrace/metadata.xml
new file mode 100644
index 000000000000..3aed2a2911dc
--- /dev/null
+++ b/www-apache/mod_backtrace/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="unwind">
+ Use <pkg>sys-libs/libunwind</pkg> to provide better resolution of
+ function names.
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_backtrace/mod_backtrace-2.01-r2.ebuild b/www-apache/mod_backtrace/mod_backtrace-2.01-r2.ebuild
new file mode 100644
index 000000000000..84a65ffa352c
--- /dev/null
+++ b/www-apache/mod_backtrace/mod_backtrace-2.01-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache toolchain-funcs
+
+DESCRIPTION="Debug segmentation faults in Apache threads"
+HOMEPAGE="https://emptyhammock.com/projects/httpd/diag/"
+SRC_URI="https://emptyhammock.com/media/downloads/wku_bt-${PV}.zip"
+S="${WORKDIR}/wku_bt-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="unwind"
+
+RDEPEND="=www-servers/apache-2*[debug]
+ unwind? ( sys-libs/libunwind:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip
+ unwind? ( virtual/pkgconfig )"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="BACKTRACE"
+
+need_apache2
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_compile() {
+ APXS2_ARGS="-c ${PN}.c diag.c -ldl"
+ if use unwind; then
+ APXS2_ARGS+=" $($(tc-getPKG_CONFIG) --libs libunwind) -DDIAG_HAVE_LIBUNWIND_BACKTRACE=1"
+ fi
+ apache-module_src_compile
+}
diff --git a/www-apache/mod_bw/Manifest b/www-apache/mod_bw/Manifest
new file mode 100644
index 000000000000..ef28a9624dc1
--- /dev/null
+++ b/www-apache/mod_bw/Manifest
@@ -0,0 +1 @@
+DIST mod_bw-0.92.tgz 23816 BLAKE2B f8ae08018ab970c4ac5572a1bf8922c621f285711a8d825f0113566b479fd2773967ef2eac690a4f369a2121b4deb1d528881e8d63b1b1871df54abd629e7cf6 SHA512 caa5c0eccb12498ca59428e0ac6b06e6a6c86c1126693071b5df20f32cc5a5673197b2e53e58c9edb0f0f8efd8d1c276cfdc9962cb90b219baf1bd0785ea2443
diff --git a/www-apache/mod_bw/files/11_mod_bw.conf b/www-apache/mod_bw/files/11_mod_bw.conf
new file mode 100644
index 000000000000..1d990612bdc5
--- /dev/null
+++ b/www-apache/mod_bw/files/11_mod_bw.conf
@@ -0,0 +1,16 @@
+<IfDefine BW>
+LoadModule bw_module modules/mod_bw.so
+
+# This must be turned on for mod_bandwidth to actually do anything
+# These directives can go inside a VirtualHost or Directory, etc...
+#BandWidthModule On
+
+# Limit 196.168.0.0/24 to 80KB/sec, with a minimum of 60KB/sec
+#BandWidth 196.168.0 80000
+#BandWidth 196.168.0 60000
+
+# Everyone else shares 50KB/sec
+#Bandwidth all 50000
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_bw/files/mod_bw-0.9.2-apache24.patch b/www-apache/mod_bw/files/mod_bw-0.9.2-apache24.patch
new file mode 100644
index 000000000000..27af0dbc1c6f
--- /dev/null
+++ b/www-apache/mod_bw/files/mod_bw-0.9.2-apache24.patch
@@ -0,0 +1,49 @@
+--- a/mod_bw.c 2010-07-20 18:14:30.000000000 +0200
++++ b/mod_bw.c 2014-03-31 14:36:27.064883758 +0200
+@@ -105,6 +105,10 @@ Changelog :
+ #define apr_atomic_set32 apr_atomic_set
+ #endif
+
++#define APACHE_VERSION_AT_LEAST(major,minor) \
++(((major) < AP_SERVER_MAJORVERSION_NUMBER) \
++ || ((major) == AP_SERVER_MAJORVERSION_NUMBER && (minor) <= AP_SERVER_MINORVERSION_NUMBER))
++
+ /* Enum types of "from address" */
+ enum from_type {
+ T_ALL,
+@@ -564,7 +568,11 @@ static long get_bw_rate(request_rec * r,
+ return e[i].rate;
+
+ case T_IP:
++#if APACHE_VERSION_AT_LEAST(2,4)
++ if (apr_ipsubnet_test(e[i].x.ip, r->useragent_addr)) {
++#else
+ if (apr_ipsubnet_test(e[i].x.ip, r->connection->remote_addr)) {
++#endif
+ return e[i].rate;
+ }
+ break;
+@@ -655,7 +663,11 @@ static int get_maxconn(request_rec * r,
+ return e[i].max;
+
+ case T_IP:
++#if APACHE_VERSION_AT_LEAST(2,4)
++ if (apr_ipsubnet_test(e[i].x.ip, r->useragent_addr)) {
++#else
+ if (apr_ipsubnet_test(e[i].x.ip, r->connection->remote_addr)) {
++#endif
+ return e[i].max;
+ }
+ break;
+@@ -706,7 +718,11 @@ static int get_sid(request_rec * r, apr_
+ return e[i].sid;
+
+ case T_IP:
++#if APACHE_VERSION_AT_LEAST(2,4)
++ if (apr_ipsubnet_test(e[i].x.ip, r->useragent_addr)) {
++#else
+ if (apr_ipsubnet_test(e[i].x.ip, r->connection->remote_addr)) {
++#endif
+ return e[i].sid;
+ }
+ break;
diff --git a/www-apache/mod_bw/metadata.xml b/www-apache/mod_bw/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_bw/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_bw/mod_bw-0.9.2-r2.ebuild b/www-apache/mod_bw/mod_bw-0.9.2-r2.ebuild
new file mode 100644
index 000000000000..3ec2f4b15036
--- /dev/null
+++ b/www-apache/mod_bw/mod_bw-0.9.2-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+MY_PV=$(ver_rs 2 '')
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Bandwidth Management Module for Apache2"
+HOMEPAGE="http://wp.ivn.cl/apache-bandwidth-mod/"
+SRC_URI="http://legacy.ivn.cl/files/source/${MY_P}.tgz"
+
+KEYWORDS="amd64 ppc x86"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+BDEPEND="dev-build/libtool"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.2-apache24.patch
+)
+
+APACHE2_MOD_CONF="11_${PN}"
+APACHE2_MOD_DEFINE="BW"
+
+need_apache2
+
+S="${WORKDIR}"
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_dnssd/Manifest b/www-apache/mod_dnssd/Manifest
new file mode 100644
index 000000000000..3eb7522966ac
--- /dev/null
+++ b/www-apache/mod_dnssd/Manifest
@@ -0,0 +1 @@
+DIST mod_dnssd-0.6.tar.gz 86417 BLAKE2B 01aee3624e413f5a00d6e63e5e74d9dc1667db9e9747b65a7fce9ab762cf0f9a5cd3ef4dcccf9532e9aa70435bd6afd846fdbaafff6667ba1fd9d413ea6fe0d9 SHA512 c3eacd2065f996ace76496b828a5be4b735225782c88ed0fba00c37ffed91af7c81cef755556968880e11e05fbaf65a4326728cb82abcad03ccaf925be1f29d3
diff --git a/www-apache/mod_dnssd/files/80_mod_dnssd.conf b/www-apache/mod_dnssd/files/80_mod_dnssd.conf
new file mode 100644
index 000000000000..1c67f7e86efc
--- /dev/null
+++ b/www-apache/mod_dnssd/files/80_mod_dnssd.conf
@@ -0,0 +1,6 @@
+<IfDefine DNSSD>
+LoadModule dnssd_module modules/mod_dnssd.so
+DNSSDEnable on
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_dnssd/files/mod_dnssd-0.6-httpd24.patch b/www-apache/mod_dnssd/files/mod_dnssd-0.6-httpd24.patch
new file mode 100644
index 000000000000..fcb0c50c15bd
--- /dev/null
+++ b/www-apache/mod_dnssd/files/mod_dnssd-0.6-httpd24.patch
@@ -0,0 +1,24 @@
+--- a/src/mod_dnssd.c
++++ b/src/mod_dnssd.c
+@@ -26,6 +26,9 @@
+ #include <unixd.h>
+ #include <apr_signal.h>
+ #include <mpm_common.h>
++#if AP_MODULE_MAGIC_AT_LEAST(20090130,0)
++#include <mod_unixd.h>
++#endif
+
+ #include <unistd.h>
+
+@@ -576,7 +579,11 @@ static void child_process(apr_pool_t *p,
+
+ ap_assert(d);
+
++#if AP_MODULE_MAGIC_AT_LEAST(20090130,0)
++ ap_unixd_setup_child();
++#else
+ unixd_setup_child();
++#endif
+
+ if (pipe(sigterm_pipe_fds) < 0) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, r.main_server, "pipe() failed: %s", strerror(errno));
diff --git a/www-apache/mod_dnssd/files/mod_dnssd-0.6-ldflags.patch b/www-apache/mod_dnssd/files/mod_dnssd-0.6-ldflags.patch
new file mode 100644
index 000000000000..a81a255997c4
--- /dev/null
+++ b/www-apache/mod_dnssd/files/mod_dnssd-0.6-ldflags.patch
@@ -0,0 +1,19 @@
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -16,13 +16,14 @@
+
+ APXS=@APXS@
+ APACHECTL=@APACHECTL@
+-LIBS=-Wl,"@LIBS@" @AVAHI_LIBS@
++LIBS="@LIBS@" @AVAHI_LIBS@
+ CFLAGS=-Wc,"@CFLAGS@" @AVAHI_CFLAGS@
++APXS_LDFLAGS=`for ldflag in $(LDFLAGS); do echo -Wl,$$ldflag; done`
+
+ all: mod_dnssd.la
+
+ mod_dnssd.la: @srcdir@/mod_dnssd.c
+- $(APXS) -c $(CFLAGS) $(LIBS) @srcdir@/mod_dnssd.c
++ $(APXS) -c $(CFLAGS) $(APXS_LDFLAGS) @srcdir@/mod_dnssd.c $(LIBS)
+
+ install: all
+ $(APXS) -i -a mod_dnssd.la
diff --git a/www-apache/mod_dnssd/metadata.xml b/www-apache/mod_dnssd/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_dnssd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_dnssd/mod_dnssd-0.6-r2.ebuild b/www-apache/mod_dnssd/mod_dnssd-0.6-r2.ebuild
new file mode 100644
index 000000000000..b28c1fac2d4b
--- /dev/null
+++ b/www-apache/mod_dnssd/mod_dnssd-0.6-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="mod_dnssd is an Apache module which adds Zeroconf support via DNS-SD using Avahi"
+HOMEPAGE="https://0pointer.de/lennart/projects/mod_dnssd/"
+SRC_URI="https://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+DEPEND="net-dns/avahi[dbus]"
+RDEPEND="${DEPEND}"
+
+APACHE2_MOD_CONF="80_${PN}"
+APACHE2_MOD_DEFINE="DNSSD"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}/${P}-ldflags.patch"
+ "${FILESDIR}/${P}-httpd24.patch"
+)
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ econf --with-apxs=${APXS} --disable-lynx
+}
+
+# Do not use inherited src_compile since it doesn't do what we want
+src_compile() {
+ emake
+}
diff --git a/www-apache/mod_fastcgi_handler/Manifest b/www-apache/mod_fastcgi_handler/Manifest
new file mode 100644
index 000000000000..e2a76bcbc60f
--- /dev/null
+++ b/www-apache/mod_fastcgi_handler/Manifest
@@ -0,0 +1 @@
+DIST mod_fastcgi_handler-0.6.tar.gz 10974 BLAKE2B c5613ba343510845c04e75cef815a2ab938aae9b7e2bc78cd709d562734f01f950ceb0b8bcbf2db0e0897c19d61c8d8667a01d82693d5f99971c80b57f73107d SHA512 05b86eb584b74e86924e84dad74072ea4dc318d2d3f1826477cfc45d2f5ea86b8b35d946f5cb1b6472cf21f18636dd2132af06bd27774551f5f5c8c557ed7d6b
diff --git a/www-apache/mod_fastcgi_handler/files/20_mod_fastcgi_handler.conf b/www-apache/mod_fastcgi_handler/files/20_mod_fastcgi_handler.conf
new file mode 100644
index 000000000000..dd07c33cc100
--- /dev/null
+++ b/www-apache/mod_fastcgi_handler/files/20_mod_fastcgi_handler.conf
@@ -0,0 +1,5 @@
+<IfDefine FASTCGI_HANDLER>
+LoadModule fastcgi_handler_module modules/mod_fastcgi_handler.so
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_fastcgi_handler/files/mod_fastcgi_handler-0.6-implicit-function-decl.patch b/www-apache/mod_fastcgi_handler/files/mod_fastcgi_handler-0.6-implicit-function-decl.patch
new file mode 100644
index 000000000000..602590fb3ed5
--- /dev/null
+++ b/www-apache/mod_fastcgi_handler/files/mod_fastcgi_handler-0.6-implicit-function-decl.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/875701
+--- a/fcgi_request.c
++++ b/fcgi_request.c
+@@ -10,6 +10,7 @@
+
+ #include "fcgi_header.h"
+ #include "fcgi_request.h"
++#include "fcgi_server.h"
+
+ #include "mod_fastcgi_handler.h"
+
+--- a/fcgi_server.c
++++ b/fcgi_server.c
+@@ -7,6 +7,7 @@
+ #include <httpd.h>
+ #include <http_config.h>
+ #include <http_log.h>
++#include <http_request.h>
+ #include <util_filter.h>
+ #include <util_script.h>
+
+@@ -424,6 +425,8 @@ int fcgi_server_parse_headers(fcgi_request_t *fr, uint16_t request_id,
+ */
+ return HTTP_MOVED_TEMPORARILY;
+ }
++
++ return ret;
+ }
+
+ int fcgi_server_recv_stdout_stderr_record(fcgi_request_t *fr,
diff --git a/www-apache/mod_fastcgi_handler/metadata.xml b/www-apache/mod_fastcgi_handler/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_fastcgi_handler/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_fastcgi_handler/mod_fastcgi_handler-0.6-r3.ebuild b/www-apache/mod_fastcgi_handler/mod_fastcgi_handler-0.6-r3.ebuild
new file mode 100644
index 000000000000..2f1bc9162ce7
--- /dev/null
+++ b/www-apache/mod_fastcgi_handler/mod_fastcgi_handler-0.6-r3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module
+
+DESCRIPTION="A simple FastCGI handler module"
+HOMEPAGE="https://github.com/hollow/mod_fastcgi_handler"
+SRC_URI="https://github.com/hollow/mod_fastcgi_handler/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+APACHE2_MOD_CONF="20_${PN}"
+APACHE2_MOD_DEFINE="FASTCGI_HANDLER"
+
+APXS2_ARGS="-o ${PN}.so -c *.c"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6-implicit-function-decl.patch
+)
+
+need_apache2
+
+pkg_setup() {
+ # bug #653606
+ # but true cause seems to be bug #616612
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_fcgid/Manifest b/www-apache/mod_fcgid/Manifest
new file mode 100644
index 000000000000..b26637e00795
--- /dev/null
+++ b/www-apache/mod_fcgid/Manifest
@@ -0,0 +1 @@
+DIST mod_fcgid-2.3.9.tar.bz2 80205 BLAKE2B f0320e56f40c90f89d12ecbb91a54a98d49262d01547d743060dfc57c3217f9927a2931d997a003f686d09f4df1c42de45088ce4909aa689f7b7f4ab05b53971 SHA512 c429c14990cc8b492e88db1aa00fc2593bfb1b129b9001be21670d42c8f3e5038acd3f4556b48f3ac7dfc03c8d3656f0d4402122932e5bdc2c2aab1c7c235121
diff --git a/www-apache/mod_fcgid/files/2.2/20_mod_fcgid.conf b/www-apache/mod_fcgid/files/2.2/20_mod_fcgid.conf
new file mode 100644
index 000000000000..38cfa39e0bdf
--- /dev/null
+++ b/www-apache/mod_fcgid/files/2.2/20_mod_fcgid.conf
@@ -0,0 +1,7 @@
+<IfDefine FCGID>
+LoadModule fcgid_module modules/mod_fcgid.so
+SocketPath /var/run/fcgidsock
+SharememPath /var/run/fcgid_shm
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_fcgid/metadata.xml b/www-apache/mod_fcgid/metadata.xml
new file mode 100644
index 000000000000..833cf6f99b54
--- /dev/null
+++ b/www-apache/mod_fcgid/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+ mod_fcgid has a new process management strategy, which concentrates on
+ reducing the number of fastcgi server, and kick out the corrupt fastcgi
+ server as soon as possible.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_fcgid/mod_fcgid-2.3.9-r2.ebuild b/www-apache/mod_fcgid/mod_fcgid-2.3.9-r2.ebuild
new file mode 100644
index 000000000000..3e9da91b4532
--- /dev/null
+++ b/www-apache/mod_fcgid/mod_fcgid-2.3.9-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="Binary-compatible alternative to mod_fastcgi with better process management"
+HOMEPAGE="https://httpd.apache.org/mod_fcgid/"
+SRC_URI="mirror://apache/httpd/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ppc ~ppc64 x86"
+
+APACHE2_MOD_CONF="2.2/20_${PN}"
+APACHE2_MOD_DEFINE="FCGID"
+
+DOCFILES="CHANGES-FCGID README-FCGID STATUS-FCGID"
+
+need_apache2
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ ./configure.apxs || die "apxs configure failed"
+}
+
+src_compile() {
+ emake
+ ln -sf modules/fcgid/.libs .libs || die "symlink creation failed"
+}
diff --git a/www-apache/mod_gnutls/Manifest b/www-apache/mod_gnutls/Manifest
new file mode 100644
index 000000000000..e3e77f63ca1b
--- /dev/null
+++ b/www-apache/mod_gnutls/Manifest
@@ -0,0 +1 @@
+DIST mod_gnutls-0.12.0.tar.bz2 461643 BLAKE2B ffbb4bd50cae7c974c59067908712e104e6d77b121e5e6114a1a45279b9396331f353a53ddae8e3d58259cd7669f047edc4d2b5ebebe94bb40df55f3546b0a02 SHA512 1ec32d0641dc8dc520726a4439edf2e9dbe582651aa4c782047d0499e5e7418b3145eb071d9e97aa4ec803e6818974efea2ed8ed18e5062cd7fdb90ef2e9e0f2
diff --git a/www-apache/mod_gnutls/files/47_mod_gnutls.conf b/www-apache/mod_gnutls/files/47_mod_gnutls.conf
new file mode 100644
index 000000000000..cd88204c9e83
--- /dev/null
+++ b/www-apache/mod_gnutls/files/47_mod_gnutls.conf
@@ -0,0 +1,30 @@
+<IfDefine GNUTLS>
+LoadModule gnutls_module modules/mod_gnutls.so
+
+# mod_gnutls can optionally use a memcached server to store it's SSL Sessions
+# This is useful in a cluster enviroment, where you want all of your servers
+# to share a single SSL Session Cache.
+#GnuTLSCache memcache "127.0.0.1 server2.example.com server3.example.com"
+
+# The Default method is to use a DBM backed Cache. It isn't super fast, but
+# it is portable and does not require another server to be running like memcached.
+GnuTLSCache dbm /var/cache/mod_gnutls/gnutls_cache
+</IfDefine>
+
+# the following is an example virtual-host as you could configure it.
+# however, this is just an example. You should always put your own
+# configuration stuff inside your own files within vhosts.d/ directory.
+#<VirtualHost 1.2.3.4:443>
+# # insert other directives ... here ...
+#
+# # This enables the mod_gnutls Handlers for this Virtual Host
+# GnuTLSEnable On
+#
+# # This is the Private key for your server.
+# GnuTLSKeyFile conf/server.key
+#
+# # This is the Server Certificate.
+# GnuTLSCertificateFile conf/server.cert
+#</VirtualHost>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_gnutls/metadata.xml b/www-apache/mod_gnutls/metadata.xml
new file mode 100644
index 000000000000..a616d9d9541d
--- /dev/null
+++ b/www-apache/mod_gnutls/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:mod_gnutls_project:mod_gnutls</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_gnutls/mod_gnutls-0.12.0-r1.ebuild b/www-apache/mod_gnutls/mod_gnutls-0.12.0-r1.ebuild
new file mode 100644
index 000000000000..7da76ff1d450
--- /dev/null
+++ b/www-apache/mod_gnutls/mod_gnutls-0.12.0-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit autotools apache-module flag-o-matic python-any-r1
+
+DESCRIPTION="mod_gnutls uses GnuTLS for SSL/TLS encryption in Apache2 (compare to mod_ssl)"
+HOMEPAGE="https://mod.gnutls.org/"
+SRC_URI="https://mod.gnutls.org/downloads/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+TEST_REQUIRED_APACHE_MODULES="apache2_modules_proxy,apache2_modules_proxy_http"
+
+COMMON_DEPEND=">=net-libs/gnutls-3.3.0:=[pkcs11]"
+
+DEPEND="${COMMON_DEPEND}
+ test? (
+ app-crypt/monkeysphere
+ >=net-libs/gnutls-3.3.0:=[tools]
+ net-misc/curl
+ || (
+ www-servers/apache[apache2_mpms_worker,${TEST_REQUIRED_APACHE_MODULES}]
+ www-servers/apache[apache2_mpms_prefork,${TEST_REQUIRED_APACHE_MODULES}]
+ www-servers/apache[apache2_mpms_event,${TEST_REQUIRED_APACHE_MODULES}]
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+RESTRICT="!test? ( test )"
+
+APACHE2_MOD_CONF="47_${PN}"
+APACHE2_MOD_DEFINE="GNUTLS"
+
+DOCFILES="CHANGELOG NOTICE README"
+
+need_apache2_4
+
+python_check_deps() {
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # Calling depend.apache_pkg_setup fails because we do not have
+ # "apache2" in IUSE but the function expects this in order to call
+ # _init_apache2_late which sets the APACHE_MODULESDIR variable.
+ _init_apache2
+ _init_apache2_late
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Add LFS flags, enable x86 support. #856349
+ append-lfs-flags
+
+ local myeconfargs=(
+ --with-apxs="${APXS}"
+ --disable-strict
+ --disable-doxygen-dot
+ --disable-doxygen-doc
+ --disable-doxygen-html
+ --disable-doxygen-pdf
+ --disable-valgrind-test
+ ac_cv_path_UNSHARE=no
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ apache-module_src_install
+}
diff --git a/www-apache/mod_h2/Manifest b/www-apache/mod_h2/Manifest
new file mode 100644
index 000000000000..3ed443e85d5c
--- /dev/null
+++ b/www-apache/mod_h2/Manifest
@@ -0,0 +1 @@
+DIST mod_h2-2.0.42.tar.gz 701750 BLAKE2B 8d37728526a9a0524850b2aa0a01aa5c4c576e4bcce4bf2bdae70d596849e54671f67952bad71bfda24f3bcf656292f0f75c498072dc25605405d685a3df5753 SHA512 e6d53e052870eab70bc7eafbf58457a01bc0eeca60a4ab2a3ef8d2430198b2d76d1da7af22afa4141c96dc269a4808eff1414c01f42060e73ae13a0af525113d
diff --git a/www-apache/mod_h2/files/mod_http2.conf b/www-apache/mod_h2/files/mod_http2.conf
new file mode 100644
index 000000000000..aa36a6a1d65e
--- /dev/null
+++ b/www-apache/mod_h2/files/mod_http2.conf
@@ -0,0 +1,8 @@
+<IfDefine HTTP2>
+
+LoadModule http2_module modules/mod_http2.so
+
+# https://httpd.apache.org/docs/2.4/mod/mod_http2.html
+Protocols h2 http/1.1
+
+</IfDefine>
diff --git a/www-apache/mod_h2/metadata.xml b/www-apache/mod_h2/metadata.xml
new file mode 100644
index 000000000000..8a3cd034e7ab
--- /dev/null
+++ b/www-apache/mod_h2/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_h2/mod_h2-2.0.42.ebuild b/www-apache/mod_h2/mod_h2-2.0.42.ebuild
new file mode 100644
index 000000000000..69808b9dab77
--- /dev/null
+++ b/www-apache/mod_h2/mod_h2-2.0.42.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module autotools
+
+MY_P="${PN/h2/http2}-${PV}"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/icing/mod_h2.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/icing/mod_h2/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="HTTP/2 module for Apache"
+HOMEPAGE="https://github.com/icing/mod_h2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="ssl"
+
+RDEPEND=">=net-libs/nghttp2-1.0
+ >=www-servers/apache-2.4.48[-apache2_modules_http2,ssl?]"
+DEPEND="${RDEPEND}"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ APACHE2_MOD_DEFINE="HTTP2"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ newins "${FILESDIR}/mod_http2.conf" "41_mod_http2.conf"
+}
diff --git a/www-apache/mod_h2/mod_h2-9999.ebuild b/www-apache/mod_h2/mod_h2-9999.ebuild
new file mode 100644
index 000000000000..352e2e78dea4
--- /dev/null
+++ b/www-apache/mod_h2/mod_h2-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module autotools
+
+MY_P="${PN/h2/http2}-${PV}"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/icing/mod_h2.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/icing/mod_h2/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="HTTP/2 module for Apache"
+HOMEPAGE="https://github.com/icing/mod_h2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="ssl"
+
+RDEPEND=">=net-libs/nghttp2-1.0
+ >=www-servers/apache-2.4.48[-apache2_modules_http2,ssl?]"
+DEPEND="${RDEPEND}"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ APACHE2_MOD_DEFINE="HTTP2"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ newins "${FILESDIR}/mod_http2.conf" "41_mod_http2.conf"
+}
diff --git a/www-apache/mod_jk/Manifest b/www-apache/mod_jk/Manifest
new file mode 100644
index 000000000000..8034774162ab
--- /dev/null
+++ b/www-apache/mod_jk/Manifest
@@ -0,0 +1,2 @@
+DIST tomcat-connectors-1.2.50-src.tar.gz 1738508 BLAKE2B ffa76cde244010169753d903735157fadcc93e91f32cb604247a8db801d6c05cf67817f457f11ba1aaa3b9d5ae480fad4bde2e50f3114e4e64a70117062419b4 SHA512 9b5a1eb1c0fd38627c574102b3551cdc96fc438b00be5d65770c55b43234af445e642fe8bcbdfe47686b0f3aadab3679340fa76b54b693f57f2273e83ac114ab
+DIST tomcat-connectors-1.2.50-src.tar.gz.asc 833 BLAKE2B e27ef4f7a194623f6561b30f9a97ba0dd1391404d44577e8bfe8663513bf12801753d859fbd75c63d1ceafa59493d338f5b0a1db2eb3678caf807293dc2acd7e SHA512 359721d9bbf121415b655082db5dc9ca7e98aa952038e89c49a69da0c77a4cd183a3e4c40107aa4803885332439868abfe9473b296e99480d01dd2ccc4c9b98b
diff --git a/www-apache/mod_jk/metadata.xml b/www-apache/mod_jk/metadata.xml
new file mode 100644
index 000000000000..aa0f2a273b24
--- /dev/null
+++ b/www-apache/mod_jk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <longdescription>
+ Mod_JK is a connector used to connect to the Tomcat Servlet Engine,
+ used with web servers such as Apache and IIS using the AJP protocol.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_jk/mod_jk-1.2.50.ebuild b/www-apache/mod_jk/mod_jk-1.2.50.ebuild
new file mode 100644
index 000000000000..7224e2332b35
--- /dev/null
+++ b/www-apache/mod_jk/mod_jk-1.2.50.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="tomcat-connectors-${PV#-*}-src"
+
+inherit apache-module autotools verify-sig
+
+DESCRIPTION="Provides an AJP Apache2-JK-connector for the Tomcat servlet engine"
+HOMEPAGE="https://tomcat.apache.org/connectors-doc/"
+SRC_URI="
+ mirror://apache/tomcat/tomcat-connectors/jk/${MY_P}.tar.gz
+ verify-sig? (
+ mirror://apache/tomcat/tomcat-connectors/jk/${MY_P}.tar.gz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/native"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
+
+DEPEND="dev-libs/apr:1="
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-lang/perl
+ verify-sig? ( sec-keys/openpgp-keys-apache-tomcat-connectors )
+"
+
+APACHE2_MOD_FILE="${S}/apache-2.0/${PN}.so"
+APACHE2_MOD_DEFINE="JK"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-connectors.apache.org.asc"
+
+need_apache2
+
+pkg_setup() {
+ # Calling depend.apache_pkg_setup fails because we do not have
+ # "apache2" in IUSE but the function expects this in order to call
+ # _init_apache2_late which sets the APACHE_MODULESDIR variable.
+ _init_apache2
+ _init_apache2_late
+}
+
+src_prepare() {
+ default
+
+ # Don't add '-Wl,' as prefix for CFLAGS, as linker will fail
+ sed -e '/JK_PREFIX_IF_MISSING/d' -i configure.ac || die
+ eautoreconf
+
+ # Adjust confpath and logpath for Gentoo
+ local logs_path="/var/log/apache2"
+ sed -e "s|conf|${APACHE_CONFDIR}|g" -e "s|logs|${logs_path}|g" -i ../conf/httpd-jk.conf || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ --with-apxs="${APXS}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ LIBTOOL="/bin/sh $(pwd)/libtool --silent"
+ default
+}
+
+src_install() {
+ apache-module_src_install
+
+ insinto "${APACHE_CONFDIR}"
+ doins "${S}"/../conf/*.properties
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ newins ../conf/httpd-jk.conf 88_mod_jk.conf
+
+ einstalldocs
+}
diff --git a/www-apache/mod_limitipconn/Manifest b/www-apache/mod_limitipconn/Manifest
new file mode 100644
index 000000000000..b5b306781593
--- /dev/null
+++ b/www-apache/mod_limitipconn/Manifest
@@ -0,0 +1 @@
+DIST mod_limitipconn-0.24.tar.bz2 10150 BLAKE2B 0715a0494f6d434217093625f10b5b723de3823c88c82fe2ffa22972b2496abae0924fc7b5d773568af125dc92466e8ab84e3e86acde7756c9535b244e729e88 SHA512 caf1337231ac83ef57938b0f89769afcf309a4a09a0a2c3fb171e49f038d42a5859dfdac06b2c7766f05d9431132b8752aa8ad5164794c89638eb90f392e827f
diff --git a/www-apache/mod_limitipconn/files/27_mod_limitipconn.conf b/www-apache/mod_limitipconn/files/27_mod_limitipconn.conf
new file mode 100644
index 000000000000..0c3f9d7ed4ae
--- /dev/null
+++ b/www-apache/mod_limitipconn/files/27_mod_limitipconn.conf
@@ -0,0 +1,20 @@
+<IfDefine LIMITIPCONN>
+LoadModule limitipconn_module modules/mod_limitipconn.so
+
+<Location /somewhere>
+ MaxConnPerIP 3
+ # exempting images from the connection limit is often a good
+ # idea if your web page has lots of inline images, since these
+ # pages often generate a flurry of concurrent image requests
+ NoIPLimit image/*
+</Location>
+
+<Location /mp3>
+ MaxConnPerIP 1
+ # In this case, all MIME types other than audio/mpeg and video*
+ # are exempt from the limit check
+ OnlyIPLimit audio/mpeg video
+</Location>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_limitipconn/metadata.xml b/www-apache/mod_limitipconn/metadata.xml
new file mode 100644
index 000000000000..0aa0cfadd9bd
--- /dev/null
+++ b/www-apache/mod_limitipconn/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ Apache module to limit the maximum number of simultaneous
+ connections per IP address. Allows inclusion and exclusion of files
+ based on MIME type.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_limitipconn/mod_limitipconn-0.24-r4.ebuild b/www-apache/mod_limitipconn/mod_limitipconn-0.24-r4.ebuild
new file mode 100644
index 000000000000..e37853b6882d
--- /dev/null
+++ b/www-apache/mod_limitipconn/mod_limitipconn-0.24-r4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="Limit the number of simultaneous apache connections"
+HOMEPAGE="https://dominia.org/djao/limitipconn2.html"
+SRC_URI="https://dominia.org/djao/limit/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="www-servers/apache[apache2_modules_status]"
+
+need_apache2
+
+RESTRICT="test"
+
+APACHE2_MOD_CONF="27_${PN}"
+APACHE2_MOD_DEFINE="LIMITIPCONN STATUS"
+
+DOCFILES="ChangeLog README"
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_log_rotate/Manifest b/www-apache/mod_log_rotate/Manifest
new file mode 100644
index 000000000000..88e511585398
--- /dev/null
+++ b/www-apache/mod_log_rotate/Manifest
@@ -0,0 +1 @@
+DIST mod_log_rotate-1.02.tar.gz 9805 BLAKE2B c2fc8dd26520443ff1363d193c7fd99576fc319d283789cf4527dcdcbca3e88073ba2458d507f456646657b926721b6865cf4d20f9cabb625b7457b85c62d8f4 SHA512 90673723c971527e5b03e138f9f3c4c3c8dfdf98f54f813ee09e5003e13d07bf0595e1e4e6d06e33b55b65566dece03dc1474e9816292e18eb2164724fa390b7
diff --git a/www-apache/mod_log_rotate/files/10_mod_log_rotate.conf b/www-apache/mod_log_rotate/files/10_mod_log_rotate.conf
new file mode 100644
index 000000000000..eb17b4622ff1
--- /dev/null
+++ b/www-apache/mod_log_rotate/files/10_mod_log_rotate.conf
@@ -0,0 +1,6 @@
+<IfDefine LOG_ROTATE>
+LoadModule log_rotate_module modules/mod_log_rotate.so
+RotateLogs On
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_log_rotate/metadata.xml b/www-apache/mod_log_rotate/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_log_rotate/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_log_rotate/mod_log_rotate-1.02.ebuild b/www-apache/mod_log_rotate/mod_log_rotate-1.02.ebuild
new file mode 100644
index 000000000000..eb83618952bc
--- /dev/null
+++ b/www-apache/mod_log_rotate/mod_log_rotate-1.02.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="Log rotation support for mod_log_config based on strftime(3)"
+HOMEPAGE="https://github.com/JBlond/mod_log_rotate"
+SRC_URI="https://github.com/JBlond/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="LOG_ROTATE"
+DOCFILES="README.md"
+
+need_apache2
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/mod_maxminddb/Manifest b/www-apache/mod_maxminddb/Manifest
new file mode 100644
index 000000000000..ae563ea62764
--- /dev/null
+++ b/www-apache/mod_maxminddb/Manifest
@@ -0,0 +1,2 @@
+DIST mod_maxminddb-1.2.0.tar.gz 101465 BLAKE2B a0f9673560851726e7e85b3c6a5ef3e9004854e79a72bb14446bd68eec59ed8befb3bc27d7e7f031c69708ab54984c9f7537e5d55616be9f7ef1b92e2de61ccd SHA512 739c3c9b136fd3ce784e0a81c82a26a188e7d07435c1381ba359b2e159a721d072cb04310f2ce2a38953a8918fec686025bac6c140048a1afc035c0b8e449483
+DIST mod_maxminddb-1.3.0.tar.gz 99765 BLAKE2B c9ea577cf45e8a3c8bf2233ecc8266c070ddf1c5e05f1cd600dc2aff2f78cb9ee484005a3cec788645e05ace97354752ae3555766bb687c3127cbcf56bb8be8b SHA512 7f45efc2047fb1e57bf3d01998022857821d9157d439d4b4dbe7227d8f394ae2f587083ab36222dd3eabe4c1b34748866add6354cfe8710c0eee96560b1ca13b
diff --git a/www-apache/mod_maxminddb/files/70_mod_maxminddb.conf b/www-apache/mod_maxminddb/files/70_mod_maxminddb.conf
new file mode 100644
index 000000000000..80d1ba92f10d
--- /dev/null
+++ b/www-apache/mod_maxminddb/files/70_mod_maxminddb.conf
@@ -0,0 +1,3 @@
+<IfDefine MAXMINDDB>
+ LoadModule maxminddb_module modules/mod_maxminddb.so
+</IfDefine>
diff --git a/www-apache/mod_maxminddb/metadata.xml b/www-apache/mod_maxminddb/metadata.xml
new file mode 100644
index 000000000000..5fd9611ebbc2
--- /dev/null
+++ b/www-apache/mod_maxminddb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomáš Mózes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_maxminddb/mod_maxminddb-1.2.0-r1.ebuild b/www-apache/mod_maxminddb/mod_maxminddb-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..7a0e31e4cfc0
--- /dev/null
+++ b/www-apache/mod_maxminddb/mod_maxminddb-1.2.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module autotools
+
+DESCRIPTION="MaxMind DB Apache Module"
+HOMEPAGE="https://maxmind.github.io/mod_maxminddb/"
+SRC_URI="https://github.com/maxmind/mod_maxminddb/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-libs/libmaxminddb:="
+RDEPEND="${DEPEND}"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ # skipping this results in:
+ # Cannot load modules/mod_maxminddb.so into server:
+ # /usr/lib64/apache2/modules/mod_maxminddb.so: undefined symbol: MMDB_aget_value
+ # because mod_maxminddb.so is not linked with libmaxminddb
+ emake
+}
+
+src_install() {
+ APACHE2_MOD_CONF="70_${PN}"
+ APACHE2_MOD_DEFINE="MAXMINDDB"
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+
+ apache-module_src_install
+}
diff --git a/www-apache/mod_maxminddb/mod_maxminddb-1.3.0.ebuild b/www-apache/mod_maxminddb/mod_maxminddb-1.3.0.ebuild
new file mode 100644
index 000000000000..e84b92ff9dc8
--- /dev/null
+++ b/www-apache/mod_maxminddb/mod_maxminddb-1.3.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module autotools
+
+DESCRIPTION="MaxMind DB Apache Module"
+HOMEPAGE="https://maxmind.github.io/mod_maxminddb/"
+SRC_URI="https://github.com/maxmind/mod_maxminddb/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-libs/libmaxminddb:="
+RDEPEND="${DEPEND}"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ # skipping this results in:
+ # Cannot load modules/mod_maxminddb.so into server:
+ # /usr/lib64/apache2/modules/mod_maxminddb.so: undefined symbol: MMDB_aget_value
+ # because mod_maxminddb.so is not linked with libmaxminddb
+ emake
+}
+
+src_install() {
+ APACHE2_MOD_CONF="70_${PN}"
+ APACHE2_MOD_DEFINE="MAXMINDDB"
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+
+ apache-module_src_install
+}
diff --git a/www-apache/mod_musicindex/Manifest b/www-apache/mod_musicindex/Manifest
new file mode 100644
index 000000000000..688b7532a62f
--- /dev/null
+++ b/www-apache/mod_musicindex/Manifest
@@ -0,0 +1,4 @@
+DIST mod_musicindex-1.4.1.tar.gz 508795 BLAKE2B 272cdddc16097b55c7b89df42f72c4607bfcf2bb1c623967b2f0404d076ee8a58b23c0fceb17960410e0cb41129bd43c70724ad3981fa840611c5708c26d3490 SHA512 2d3acfcf319070dd5352db66b14766498189e9d0790596c4c712b7564f9221cf058ca38fa118f18ec358c2d7c37d695d61f9d43d91bf83fa9582d834f06fbfea
+DIST mod_musicindex-1.4.1_valid-rss.png 1523 BLAKE2B 679a17627a73561ca2fa02bf3c3a8e3ec71883b65b0215d4a580e441f2c935538e4477228c7e0ea83df2322e7b7158e0f0cfd9f895744cf10080a5e3f698c936 SHA512 e9df8ea0c6da2d1f268f8aa17e396dcdf53a61d1196ed67f44f03f22f0c5a9661a1e8a96f6d506c02374bc4f0923be9371372a2c678b705017ee733be2b402ec
+DIST mod_musicindex-1.4.1_valid-xhtml11 1842 BLAKE2B b145d2c8d36e677db38dc8a8ad31e7c69b29d28a56aae8c0c4c89319d95ece7f164968b02f30b6abb425309f4c77a1ead59b2058365eee161ed9b7898685d4e3 SHA512 8beb13a595b402e7de416ae05992f3e0a17719554fbc83cd5c3e0518cd859c560339a61c2f198c8e4982ca397f29823b521e05f29ed632826bfb02646990cc9c
+DIST mod_musicindex-1.4.1_vcss 1547 BLAKE2B 465f63519c64353e1ec6d62e99ea9cf95c00244c717d9bc8d2213723dc55d6186589446a19725d5b8c95f45800946040ad9bfe89ec0b951c514651a9447ad281 SHA512 6c2fa4a0c3fbad68752d7471f95838b69816fd00f58c28f32076af24972117d8b0f2cebb075548ec1317f886a8955cf5686dda571c4d5a823d3ff09da8e33a70
diff --git a/www-apache/mod_musicindex/files/50_mod_musicindex.conf b/www-apache/mod_musicindex/files/50_mod_musicindex.conf
new file mode 100644
index 000000000000..1d3db0caebf5
--- /dev/null
+++ b/www-apache/mod_musicindex/files/50_mod_musicindex.conf
@@ -0,0 +1,5 @@
+<IfDefine MUSICINDEX>
+LoadModule musicindex_module modules/mod_musicindex.so
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_musicindex/files/mod_musicindex-1.4.1-slibtool.patch b/www-apache/mod_musicindex/files/mod_musicindex-1.4.1-slibtool.patch
new file mode 100644
index 000000000000..37b829334a29
--- /dev/null
+++ b/www-apache/mod_musicindex/files/mod_musicindex-1.4.1-slibtool.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/778566
+
+commit 7455f156499c1980193f0c7a4e25b1040ba99104
+Author: orbea <orbea@riseup.net>
+Date: Sat Apr 8 12:31:47 2023 -0700
+
+ build: Don't overwrite the default install target
+
+ Autotools is capable of creating a working install target without any
+ help from apache's apxs which results in calling apache's libtool
+ implementation instead of GNU libtool or slibtool.
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 4815507..7a63571 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -69,11 +69,3 @@ noinst_HEADERS = \
+ playlist-mp4.h \
+ playlist-vorbis.h \
+ sort.h
+-
+-install: $(lib_LTLIBRARIES)
+- $(mkinstalldirs) "$(DESTDIR)$(libdir)"
+-if BUILD_FOR_APACHE2
+- $(APXS) -S LIBEXECDIR="$(DESTDIR)$(libdir)" -i -n musicindex mod_musicindex.la
+-else
+- $(APXS) -S LIBEXECDIR="$(DESTDIR)$(libdir)" -i -n musicindex .libs/mod_musicindex.so
+-endif
diff --git a/www-apache/mod_musicindex/metadata.xml b/www-apache/mod_musicindex/metadata.xml
new file mode 100644
index 000000000000..dcf2af1d19ca
--- /dev/null
+++ b/www-apache/mod_musicindex/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="cache">Add File cache support</flag>
+ <flag name="mysql">Add MySQL cache support</flag>
+ <flag name="archive">Add archive support</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_musicindex/mod_musicindex-1.4.1-r4.ebuild b/www-apache/mod_musicindex/mod_musicindex-1.4.1-r4.ebuild
new file mode 100644
index 000000000000..71fe9ed31699
--- /dev/null
+++ b/www-apache/mod_musicindex/mod_musicindex-1.4.1-r4.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module autotools flag-o-matic
+
+DESCRIPTION="mod_musicindex allows nice displaying of directories containing music files"
+HOMEPAGE="http://hacks.slashdirt.org/sw/musicindex/"
+SRC_URI="http://hacks.slashdirt.org/musicindex/${P}.tar.gz
+ http://validator.w3.org/feed/images/valid-rss.png -> ${P}_valid-rss.png
+ http://jigsaw.w3.org/css-validator/images/vcss -> ${P}_vcss
+ http://www.w3.org/Icons/valid-xhtml11 -> ${P}_valid-xhtml11"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+mp3 +mp4 +flac +vorbis +cache mysql archive"
+
+DEPEND="mp3? ( media-libs/libmad media-libs/libid3tag:= )
+ mp4? ( media-libs/libmp4v2:0 )
+ flac? ( media-libs/flac:= )
+ vorbis? ( media-libs/libvorbis )
+ archive? ( app-arch/libarchive:= )
+ mysql? ( dev-db/mysql-connector-c:0= )"
+RDEPEND="${DEPEND}
+ dev-build/libtool"
+
+APACHE2_MOD_CONF="50_${PN}"
+APACHE2_MOD_DEFINE="MUSICINDEX"
+DOCS=( AUTHORS BUGS ChangeLog README UPGRADING )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slibtool.patch #778566
+)
+
+need_apache2
+
+pkg_setup() {
+ _init_apache2_late
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # bug #944206
+ append-cflags -std=gnu17
+
+ econf \
+ --with-vorbis-libraries="${ESYSROOT}/usr/$(get_libdir)" \
+ --with-libFLAC-libraries="${ESYSROOT}/usr/$(get_libdir)" \
+ $(use_enable mp3) \
+ $(use_enable mp4) \
+ $(use_enable flac) \
+ $(use_enable vorbis) \
+ $(use_enable archive) \
+ $(use_enable cache filecache) \
+ $(use_enable mysql mysqlcache)
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+ apache-module_src_install
+
+ # install W3C images
+ insinto /usr/share/mod_musicindex
+ newins "${DISTDIR}/${P}_valid-rss.png" valid-rss.png
+ newins "${DISTDIR}/${P}_valid-xhtml11" valid-xhtml11
+ newins "${DISTDIR}/${P}_vcss" vcss
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/www-apache/mod_nss/Manifest b/www-apache/mod_nss/Manifest
new file mode 100644
index 000000000000..91f913e2b750
--- /dev/null
+++ b/www-apache/mod_nss/Manifest
@@ -0,0 +1 @@
+DIST mod_nss-1.0.18.tar.gz 184594 BLAKE2B a2c4b07199bb694b4e5a87ec6bf12bbf32862d44a478da3eb7f374f273786a8d66e3c238fea8e3512fa4986366d44fc8ef4ff77d8965afeee716bcc0685040d0 SHA512 68fe061b40acbe07823ba220a67b0646855b7643e472e757f23b38074fab95aa1b99a3f525748d5dd363b8e278e5521cbacae49c0159700e33f2e1b6b0a0bb77
diff --git a/www-apache/mod_nss/files/47_mod_nss.conf b/www-apache/mod_nss/files/47_mod_nss.conf
new file mode 100644
index 000000000000..731f61c03b35
--- /dev/null
+++ b/www-apache/mod_nss/files/47_mod_nss.conf
@@ -0,0 +1,224 @@
+#
+# This is the Apache server configuration file providing SSL support using.
+# the mod_nss plugin. It contains the configuration directives to instruct
+# the server how to serve pages over an https connection.
+#
+# Do NOT simply read the instructions in here without understanding
+# what they do. They're here only as hints or reminders. If you are unsure
+# consult the online docs. You have been warned.
+#
+
+<IfDefine NSS>
+ LoadModule nss_module modules/mod_nss.so
+</IfDefine>
+
+<IfModule mod_nss.c>
+#
+# When we also provide SSL we have to listen to the
+# standard HTTP port (see above) and to the HTTPS port
+#
+# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
+# Listen directives: "Listen [::]:8443" and "Listen 0.0.0.0:8443"
+#
+Listen 8443
+
+##
+## SSL Global Context
+##
+## All SSL configuration in this context applies both to
+## the main server and all SSL-enabled virtual hosts.
+##
+
+#
+# Some MIME-types for downloading Certificates and CRLs
+#
+AddType application/x-x509-ca-cert .crt
+AddType application/x-pkcs7-crl .crl
+
+# Pass Phrase Dialog:
+# Configure the pass phrase gathering process.
+# The filtering dialog program (`builtin' is a internal
+# terminal dialog) has to provide the pass phrase on stdout.
+NSSPassPhraseDialog builtin
+
+
+# Pass Phrase Helper:
+# This helper program stores the token password pins between
+# restarts of Apache.
+NSSPassPhraseHelper /usr/sbin/nss_pcache
+
+# Configure the SSL Session Cache.
+# NSSSessionCacheSize is the number of entries in the cache.
+# NSSSessionCacheTimeout is the SSL2 session timeout (in seconds).
+# NSSSession3CacheTimeout is the SSL3/TLS session timeout (in seconds).
+NSSSessionCacheSize 10000
+NSSSessionCacheTimeout 100
+NSSSession3CacheTimeout 86400
+
+#
+# Pseudo Random Number Generator (PRNG):
+# Configure one or more sources to seed the PRNG of the SSL library.
+# The seed data should be of good random quality.
+# WARNING! On some platforms /dev/random blocks if not enough entropy
+# is available. Those platforms usually also provide a non-blocking
+# device, /dev/urandom, which may be used instead.
+#
+# This does not support seeding the RNG with each connection.
+
+NSSRandomSeed startup builtin
+#NSSRandomSeed startup file:/dev/random 512
+#NSSRandomSeed startup file:/dev/urandom 512
+
+</IfModule>
+
+
+#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
+# include -D NSS_EXAMPLE if you have
+#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
+
+
+<IfDefine NSS_EXAMPLE>
+
+##
+## SSL Virtual Host Context
+##
+
+<VirtualHost _default_:8443>
+
+# General setup for the virtual host
+DocumentRoot "/var/www/localhost/htdocs"
+ServerName localhost:8443
+ServerAdmin you@example.com>
+
+
+# Include vhosts.d/default_vhost.include
+
+
+
+# mod_nss can log to separate log files, you can choose to do that if you'd like
+# LogLevel is not inherited from httpd.conf.
+ErrorLog /var/log/apache2/nss_error_log
+TransferLog var/log/apache2/access_log
+LogLevel debug
+
+# SSL Engine Switch:
+# Enable/Disable SSL for this virtual host.
+NSSEngine on
+
+# SSL Cipher Suite:
+# List the ciphers that the client is permitted to negotiate.
+# See the mod_nss documentation for a complete list.
+
+# SSL 3 ciphers. SSL 2 is disabled by default.
+#NSSCipherSuite +rsa_rc4_128_md5,+rsa_rc4_128_sha,+rsa_3des_sha,-rsa_des_sha,-rsa_rc4_40_md5,-rsa_rc2_40_md5,-rsa_null_md5,-rsa_null_sha,+fips_3des_sha,-fips_des_sha,-fortezza,-fortezza_rc4_128_sha,-fortezza_null,-rsa_des_56_sha,-rsa_rc4_56_sha,+rsa_aes_128_sha,+rsa_aes_256_sha
+
+# SSL 3 ciphers + ECC ciphers. SSL 2 is disabled by default.
+#
+# Comment out the NSSCipherSuite line above and use the one below if you have
+# ECC enabled NSS and mod_nss and want to use Elliptical Curve Cryptography
+NSSCipherSuite +rsa_rc4_128_md5,+rsa_rc4_128_sha,+rsa_3des_sha,-rsa_des_sha,-rsa_rc4_40_md5,-rsa_rc2_40_md5,-rsa_null_md5,-rsa_null_sha,+fips_3des_sha,-fips_des_sha,-fortezza,-fortezza_rc4_128_sha,-fortezza_null,-rsa_des_56_sha,-rsa_rc4_56_sha,+rsa_aes_128_sha,+rsa_aes_256_sha,-ecdh_ecdsa_null_sha,+ecdh_ecdsa_rc4_128_sha,+ecdh_ecdsa_3des_sha,+ecdh_ecdsa_aes_128_sha,+ecdh_ecdsa_aes_256_sha,-ecdhe_ecdsa_null_sha,+ecdhe_ecdsa_rc4_128_sha,+ecdhe_ecdsa_3des_sha,+ecdhe_ecdsa_aes_128_sha,+ecdhe_ecdsa_aes_256_sha,-ecdh_rsa_null_sha,+ecdh_rsa_128_sha,+ecdh_rsa_3des_sha,+ecdh_rsa_aes_128_sha,+ecdh_rsa_aes_256_sha,-echde_rsa_null,+ecdhe_rsa_rc4_128_sha,+ecdhe_rsa_3des_sha,+ecdhe_rsa_aes_128_sha,+ecdhe_rsa_aes_256_sha
+
+NSSProtocol SSLv3,TLSv1
+
+# SSL Certificate Nickname:
+# The nickname of the RSA server certificate you are going to use.
+NSSNickname Server-Cert
+
+# SSL Certificate Nickname:
+# The nickname of the ECC server certificate you are going to use, if you
+# have an ECC-enabled version of NSS and mod_nss
+#NSSECCNickname Server-Cert-ecc
+
+# Server Certificate Database:
+# The NSS security database directory that holds the certificates and
+# keys. The database consists of 3 files: cert8.db, key3.db and secmod.db.
+# Provide the directory that these files exist.
+NSSCertificateDatabase /etc/apache2/nss/
+
+# Database Prefix:
+# In order to be able to store multiple NSS databases in one directory
+# they need unique names. This option sets the database prefix used for
+# cert8.db and key3.db.
+#NSSDBPrefix my-prefix-
+
+# Client Authentication (Type):
+# Client certificate verification type. Types are none, optional and
+# require.
+NSSVerifyClient none
+
+#
+# Online Certificate Status Protocol (OCSP).
+# Verify that certificates have not been revoked before accepting them.
+NSSOCSP off
+
+#
+# Use a default OCSP responder. If enabled this will be used regardless
+# of whether one is included in a client certificate. Note that the
+# server certificate is verified during startup.
+#
+# NSSOCSPDefaultURL defines the service URL of the OCSP responder
+# NSSOCSPDefaultName is the nickname of the certificate to trust to
+# sign the OCSP responses.
+#NSSOCSPDefaultResponder on
+#NSSOCSPDefaultURL http://example.com/ocsp/status
+#NSSOCSPDefaultName ocsp-nickname
+
+# Access Control:
+# With SSLRequire you can do per-directory access control based
+# on arbitrary complex boolean expressions containing server
+# variable checks and other lookup directives. The syntax is a
+# mixture between C and Perl. See the mod_nss documentation
+# for more details.
+#<Location />
+#NSSRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
+# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
+# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
+# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
+# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+#</Location>
+
+# SSL Engine Options:
+# Set various options for the SSL engine.
+# o FakeBasicAuth:
+# Translate the client X.509 into a Basic Authorisation. This means that
+# the standard Auth/DBMAuth methods can be used for access control. The
+# user name is the `one line' version of the client's X.509 certificate.
+# Note that no password is obtained from the user. Every entry in the user
+# file needs this password: `xxj31ZMTZzkVA'.
+# o ExportCertData:
+# This exports two additional environment variables: SSL_CLIENT_CERT and
+# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
+# server (always existing) and the client (only existing when client
+# authentication is used). This can be used to import the certificates
+# into CGI scripts.
+# o StdEnvVars:
+# This exports the standard SSL/TLS related `SSL_*' environment variables.
+# Per default this exportation is switched off for performance reasons,
+# because the extraction step is an expensive operation and is usually
+# useless for serving static content. So one usually enables the
+# exportation for CGI and SSI requests only.
+# o StrictRequire:
+# This denies access when "NSSRequireSSL" or "NSSRequire" applied even
+# under a "Satisfy any" situation, i.e. when it applies access is denied
+# and no other module can change it.
+# o OptRenegotiate:
+# This enables optimized SSL connection renegotiation handling when SSL
+# directives are used in per-directory context.
+#NSSOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
+<Files ~ "\.(cgi|shtml|phtml|php3?)$">
+ NSSOptions +StdEnvVars
+</Files>
+<Directory "/usr/cgi-bin">
+ NSSOptions +StdEnvVars
+</Directory>
+
+# Per-Server Logging:
+# The home of a custom SSL log file. Use this when you want a
+# compact non-error SSL logfile on a virtual host basis.
+#CustomLog /home/rcrit/redhat/apache/logs/ssl_request_log \
+# "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+</VirtualHost>
+
+</IfDefine>
diff --git a/www-apache/mod_nss/files/mod_nss-1.0.18-fno-common.patch b/www-apache/mod_nss/files/mod_nss-1.0.18-fno-common.patch
new file mode 100644
index 000000000000..c6e7babc1d2d
--- /dev/null
+++ b/www-apache/mod_nss/files/mod_nss-1.0.18-fno-common.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/707172
+--- a/mod_nss.h
++++ b/mod_nss.h
+@@ -376,8 +376,8 @@ typedef struct {
+ */
+
+ /* pool and hash to store ServerName and NSSNickname pairs for SNI */
+-apr_pool_t *mp;
+-apr_hash_t *ht;
++extern apr_pool_t *mp;
++extern apr_hash_t *ht;
+
+ /* Compatibility between Apache 2.0.x and 2.2.x. The numeric version of
+ * the version first appeared in Apache 2.0.56-dev. I picked 2.0.55 as it
diff --git a/www-apache/mod_nss/metadata.xml b/www-apache/mod_nss/metadata.xml
new file mode 100644
index 000000000000..9a73bb112c79
--- /dev/null
+++ b/www-apache/mod_nss/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="ecc">enable Elliptical Curve Cyptography</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_nss/mod_nss-1.0.18.ebuild b/www-apache/mod_nss/mod_nss-1.0.18.ebuild
new file mode 100644
index 000000000000..310b5c215080
--- /dev/null
+++ b/www-apache/mod_nss/mod_nss-1.0.18.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools apache-module
+
+DESCRIPTION="SSL/TLS module for the Apache HTTP server"
+HOMEPAGE="https://pagure.io/mod_nss"
+SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ecc"
+
+# https://bugs.gentoo.org/742455
+RESTRICT="test"
+
+DEPEND="
+ dev-libs/nspr
+ dev-libs/nss"
+RDEPEND="${DEPEND}
+ net-dns/bind-tools"
+BDEPEND="virtual/pkgconfig"
+
+APACHE2_MOD_CONF="47_${PN}"
+APACHE2_MOD_DEFINE="NSS"
+
+need_apache2
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
+
+src_prepare() {
+ default
+
+ # setup proper exec name
+ sed -i -e 's/certutil/nsscertutil/' gencert.in || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable ecc) --with-apxs=${APXS}
+}
+
+src_compile() {
+ # default src_compile fails:
+ # In file included from mod_nss.c:16:0:
+ # mod_nss.h:51:18: fatal error: nspr.h: No such file or directory
+ emake
+}
+
+src_install() {
+ # override broken build system
+ mv .libs/libmodnss.so .libs/"${PN}".so || die "cannot move lib"
+ dosbin gencert nss_pcache
+ dodoc docs/mod_nss.html
+ newbin migrate.pl nss_migrate
+ dodir /etc/apache2/nss
+ einstalldocs
+
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+ apache-module_src_install
+}
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
new file mode 100644
index 000000000000..494913bd57b1
--- /dev/null
+++ b/www-apache/mod_perl/Manifest
@@ -0,0 +1 @@
+DIST mod_perl-2.0.13.tar.gz 3848487 BLAKE2B 8fb640f6815dac7a93ceeca21c63d4c5d5f14c81d061b0fbfe5831afcb8682df509c367f113a7b1396fdd25ccebd66cf708f99b5e69c8393add0f7969c102249 SHA512 453c789743487e2d1167d005f21ef9780f36488db8830103e4ea0a0656f685bf5ec423cd1baa68ee30efc75d9e2b845c9656458203b9f48de81a315a91d587c9
diff --git a/www-apache/mod_perl/files/2.0.3/75_mod_perl.2.2.conf b/www-apache/mod_perl/files/2.0.3/75_mod_perl.2.2.conf
new file mode 100644
index 000000000000..596d2cc73c6e
--- /dev/null
+++ b/www-apache/mod_perl/files/2.0.3/75_mod_perl.2.2.conf
@@ -0,0 +1,50 @@
+<IfDefine PERL>
+LoadModule perl_module modules/mod_perl.so
+
+#PerlTrace all
+PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl"
+PerlModule ModPerl::Registry
+
+# Provide two aliases to the same cgi-bin directory, to see the effects of the
+# 2 different mod_perl modes for Apache2::Registry Mode
+Alias /perl/ /var/www/localhost/perl/
+# for Apache2::Perlrun Mode
+Alias /cgi-perl/ /var/www/localhost/perl/
+
+<Location /perl-status>
+ SetHandler perl-script
+ PerlResponseHandler Apache2::Status
+ Order deny,allow
+ Deny from all
+ Allow from 127.0.0.1
+</Location>
+
+<Directory /home/*/public_html/perl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::PerlRun
+ Options -Indexes ExecCGI
+ PerlOptions +ParseHeaders
+</Directory>
+
+# set Apache::Registry Mode for /perl Alias
+<Location /perl/*.pl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::Registry
+ Options -Indexes ExecCGI
+ PerlSendHeader On
+ Order allow,deny
+ Allow from all
+</Location>
+
+# set Apache::PerlRun Mode for /cgi-perl Alias
+<Location /cgi-perl/*.pl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::PerlRun
+ Options -Indexes ExecCGI
+ PerlSendHeader On
+ Order allow,deny
+ Allow from all
+</Location>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_perl/files/2.0.3/75_mod_perl.conf b/www-apache/mod_perl/files/2.0.3/75_mod_perl.conf
new file mode 100644
index 000000000000..9cf7b7b4394f
--- /dev/null
+++ b/www-apache/mod_perl/files/2.0.3/75_mod_perl.conf
@@ -0,0 +1,54 @@
+<IfDefine PERL>
+LoadModule perl_module modules/mod_perl.so
+
+#PerlTrace all
+PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl"
+PerlModule ModPerl::Registry
+
+# Provide two aliases to the same cgi-bin directory, to see the effects of the
+# 2 different mod_perl modes for Apache2::Registry Mode
+Alias /perl/ /var/www/localhost/perl/
+# for Apache2::Perlrun Mode
+Alias /cgi-perl/ /var/www/localhost/perl/
+
+<Location /perl-status>
+ SetHandler perl-script
+ PerlResponseHandler Apache2::Status
+ Require host localhost
+</Location>
+
+<Directory /home/*/public_html/perl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::PerlRun
+ PerlOptions +ParseHeaders
+
+ # Clear all existing options and only permit cgi.
+ Options ExecCGI
+</Directory>
+
+# set Apache::Registry Mode for /perl Alias
+<Location /perl/*.pl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::Registry
+ PerlSendHeader On
+
+ # Clear all existing options and only permit cgi.
+ Options ExecCGI
+
+ Require all granted
+</Location>
+
+# set Apache::PerlRun Mode for /cgi-perl Alias
+<Location /cgi-perl/*.pl>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::PerlRun
+ PerlSendHeader On
+
+ # Clear all existing options and only permit cgi.
+ Options ExecCGI
+
+ Require all granted
+</Location>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_perl/files/2.0.3/apache2-mod_perl-startup.pl b/www-apache/mod_perl/files/2.0.3/apache2-mod_perl-startup.pl
new file mode 100644
index 000000000000..afc048ac125b
--- /dev/null
+++ b/www-apache/mod_perl/files/2.0.3/apache2-mod_perl-startup.pl
@@ -0,0 +1,24 @@
+use lib qw(/home/httpd/perl);
+
+# enable if the mod_perl 1.0 compatibility is needed
+#use Apache2::compat ();
+
+use ModPerl::Util (); #for CORE::GLOBAL::exit
+
+use Apache2::RequestRec ();
+use Apache2::RequestIO ();
+use Apache2::RequestUtil ();
+
+use Apache2::ServerRec ();
+use Apache2::ServerUtil ();
+use Apache2::Connection ();
+use Apache2::Log ();
+
+use APR::Table ();
+
+use ModPerl::Registry ();
+
+use Apache2::Const -compile => ':common';
+use APR::Const -compile => ':common';
+
+1;
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch b/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch
new file mode 100644
index 000000000000..40c88c83eb87
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch
@@ -0,0 +1,11 @@
+--- a/t/conf/modperl_extra.pl
++++ b/t/conf/modperl_extra.pl
+@@ -136,6 +136,8 @@
+ sub test_modperl_env {
+ # see t/response/TestModperl/env.pm
+ $ENV{MODPERL_EXTRA_PL} = __FILE__;
++ $ENV{TMPDIR} = __FILE__;
++ $ENV{TMPDIR} =~ s,/work/.*,/temp,;
+ }
+
+ 1;
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
new file mode 100644
index 000000000000..578878f05d04
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
@@ -0,0 +1,36 @@
+Tests fail because the server banner contains "Gentoo" instead of "Unix". Disable them.
+
+
+diff -ruN mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm
+--- mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm 2016-09-30 14:45:31.000000000 +0200
++++ mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm 2016-10-01 13:18:02.359794404 +0200
+@@ -25,7 +25,7 @@
+
+ my $r = shift;
+
+- plan $r, tests => 6;
++ plan $r, tests => 4;
+
+ # test Apache2::ServerUtil constant subroutines
+
+@@ -45,13 +45,13 @@
+ ok t_cmp($server_descr, qr!\bworld domination series/2\.0\b!,
+ 'Apache2::ServerUtil::get_server_description() -- component');
+
+- # assuming ServerTokens Full (default) the banner equals description
+- ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
+- 'Apache2::ServerUtil::get_server_banner()');
+-
+- # version is just an alias for banner
+- ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
+- 'Apache2::ServerUtil::get_server_version()');
++# # assuming ServerTokens Full (default) the banner equals description
++# ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
++# 'Apache2::ServerUtil::get_server_banner()');
++
++# # version is just an alias for banner
++# ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
++# 'Apache2::ServerUtil::get_server_version()');
+
+ Apache2::Const::OK;
+ }
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
new file mode 100644
index 000000000000..e8ec5d0308da
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
@@ -0,0 +1,80 @@
+diff -ruN mod_perl-2.0.10-rc1.orig/Makefile.PL mod_perl-2.0.10-rc1/Makefile.PL
+--- mod_perl-2.0.10-rc1.orig/Makefile.PL 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/Makefile.PL 2016-10-01 00:35:17.140862642 +0200
+@@ -25,7 +25,7 @@
+
+ }
+
+-use lib qw(lib Apache-Test/lib);
++use lib qw(lib);
+
+ use Config;
+ use File::Spec::Functions;
+@@ -122,15 +122,6 @@
+
+ sub configure {
+
+- # mod_perl test suite relies on having Apache-Test bundled with
+- # the mod_perl source, since any pre-installed version may not do
+- # the right thing
+- unless (-d "Apache-Test") {
+- error "Can't find a sub-directory Apache-Test. " .
+- "Make sure that you are using a complete source distribution";
+- exit 1;
+- }
+-
+ set_modperl_version();
+
+ if ($old_modperl_version) {
+@@ -853,14 +844,9 @@
+ run_subtests ::
+ cd ModPerl-Registry && $(MAKE) test
+
+-run_subtests ::
+- cd Apache-Reload && $(MAKE) test
+-
+ EOF
+
+ $preamble .= <<'EOF' unless $build->mpm_is_threaded();
+-run_subtests ::
+- cd Apache-SizeLimit && $(MAKE) test
+
+ EOF
+
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm 2016-10-01 00:35:17.140862642 +0200
+@@ -39,12 +39,10 @@
+ ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
+ use strict 'refs';
+
+-my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
+-
+ #to override MakeMaker MOD_INSTALL macro
+ sub mod_install {
+ q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
+- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
++ qq{-MModPerl::BuildMM \\}."\n" .
+ q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
+ }
+
+@@ -271,7 +269,7 @@
+
+ push @target,
+ '$(FULLPERL) -I$(INST_LIB) ' .
+- "-I$apache_test_dir -MModPerl::BuildMM " .
++ "-MModPerl::BuildMM " .
+ "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
+
+ # Win32 doesn't normally install man pages
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm 2016-10-01 00:35:17.140862642 +0200
+@@ -119,7 +119,6 @@
+ t/apr-ext/perlio
+ # PAUSE breaks if a dist has more than one META.yml. the top-level
+ # META.yml already excludes Apache-Test from indexing
+-Apache-Test/META.yml
+ # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
+ # wants Apache-Test/META.yml which we don't supply, see above)
+ Apache-Test/MANIFEST
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.11-ranlib.patch b/www-apache/mod_perl/files/mod_perl-2.0.11-ranlib.patch
new file mode 100644
index 000000000000..a8e9e3036937
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.11-ranlib.patch
@@ -0,0 +1,11 @@
+--- ./lib/Apache2/Build.pm~ 2019-10-05 12:04:39.000000000 +0100
++++ ./lib/Apache2/Build.pm 2020-10-28 19:20:40.809279091 +0000
+@@ -1664,7 +1664,7 @@
+
+ my $ranlib = "\t" . '$(MODPERL_RANLIB) $@' . "\n";
+
+- $link .= "\n" . $ranlib unless (DARWIN or OPENBSD);
++ #$link .= "\n" . $ranlib unless (DARWIN or OPENBSD);
+
+ $link;
+ }
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.13-c99.patch b/www-apache/mod_perl/files/mod_perl-2.0.13-c99.patch
new file mode 100644
index 000000000000..f0ef4cba0c52
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.13-c99.patch
@@ -0,0 +1,43 @@
+https://github.com/apache/mod_perl/commit/ead5012b9f8bca08415f39e15226dbc6112a9538
+
+From ead5012b9f8bca08415f39e15226dbc6112a9538 Mon Sep 17 00:00:00 2001
+From: Joe Orton <jorton@apache.org>
+Date: Tue, 6 Feb 2024 08:33:52 +0000
+Subject: [PATCH] * src/modules/perl/modperl_common_util.c
+ (modperl_table_magic_copy): Use I32 rather than int for 'namelen' argument,
+ fixing an incompatible function pointer error/warning in a 32-bit build:
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+modperl_common_util.c:57:53: error: initialization of ‘int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)’ {aka ‘int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, long int)’} from incompatible pointer type ‘int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)’ {aka ‘int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, int)’} [-Wincompatible-pointer-types]
+ 57 | modperl_table_magic_copy};
+ | ^~~~~~~~~~~~~~~~~~~~~~~~
+
+Checked back to Perl 5.14.x which has I32 (a typedef of long int on
+i686) rather than int in the prototype for the svt_copy function
+pointer in MGVTBL, so I32 appears to have been always correct here:
+
+int (*svt_copy)(SV *sv, MAGIC* mg, SV *nsv, const char *name, I32 namlen);
+
+per https://perldoc.perl.org/5.14.0/perlguts
+
+
+git-svn-id: https://svn.apache.org/repos/asf/perl/modperl/trunk@1915593 13f79535-47bb-0310-9956-ffa450edef68
+---
+ src/modules/perl/modperl_common_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/perl/modperl_common_util.c b/src/modules/perl/modperl_common_util.c
+index c5f285f9d..461750f2f 100644
+--- a/src/modules/perl/modperl_common_util.c
++++ b/src/modules/perl/modperl_common_util.c
+@@ -41,7 +41,7 @@
+
+ MP_INLINE static
+ int modperl_table_magic_copy(pTHX_ SV *sv, MAGIC *mg, SV *nsv,
+- const char *name, int namelen)
++ const char *name, I32 namelen)
+ {
+ /* prefetch the value whenever we're iterating over the keys */
+ MAGIC *tie_magic = mg_find(nsv, PERL_MAGIC_tiedelem);
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.4-inline.patch b/www-apache/mod_perl/files/mod_perl-2.0.4-inline.patch
new file mode 100644
index 000000000000..5c51a803b816
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.4-inline.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/550244
+
+taken from Fedora:
+http://pkgs.fedoraproject.org/cgit/mod_perl.git/tree/mod_perl-2.0.4-inline.patch?h=f22
+
+fixes building with gcc-5:
+apache2: Syntax error on line 148 of /etc/apache2/httpd.conf:
+Syntax error on line 2 of /etc/apache2/modules.d/75_mod_perl.conf:
+Cannot load modules/mod_perl.so into server:
+/usr/lib64/apache2/modules/mod_perl.so: undefined symbol: modperl_handler_name
+
+--- mod_perl-2.0.4/src/modules/perl/modperl_common_util.h.inline
++++ mod_perl-2.0.4/src/modules/perl/modperl_common_util.h
+@@ -22,7 +22,7 @@
+ #ifdef MP_DEBUG
+ #define MP_INLINE
+ #else
+-#define MP_INLINE APR_INLINE
++#define MP_INLINE
+ #endif
+
+ #ifdef CYGWIN
diff --git a/www-apache/mod_perl/metadata.xml b/www-apache/mod_perl/metadata.xml
new file mode 100644
index 000000000000..506f963cf8cf
--- /dev/null
+++ b/www-apache/mod_perl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:apache:mod_perl</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_perl/mod_perl-2.0.13-r1.ebuild b/www-apache/mod_perl/mod_perl-2.0.13-r1.ebuild
new file mode 100644
index 000000000000..a0d8c495793b
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.13-r1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_TEST=do
+inherit depend.apache apache-module perl-module
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://perl.apache.org/ https://projects.apache.org/project.html?perl-mod_perl"
+SRC_URI="mirror://apache/perl/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm ppc ppc64 ~riscv x86"
+IUSE="debug perl_features_ithreads test"
+RESTRICT="!test? ( test )"
+
+# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
+# The minimum versions requested here are the bundled versions.
+
+# The test dependencies are from CPAN (Bundle::Apache2).
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading.
+
+RDEPEND="
+ perl_features_ithreads? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] <dev-lang/perl-5.38.2-r3[ithreads] ) )
+ !perl_features_ithreads? ( || ( >=dev-lang/perl-5.38.2-r3[-perl_features_ithreads] <dev-lang/perl-5.38.2-r3[-ithreads] ) )
+ >=dev-perl/Apache-Test-1.420.0
+ >=www-servers/apache-2.0.47
+ >=dev-libs/apr-util-1.4
+ !perl_features_ithreads? ( www-servers/apache[-apache2_mpms_event,-apache2_mpms_worker,apache2_mpms_prefork] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-perl/Module-Build
+ test? (
+ >=dev-perl/CGI-3.110.0
+ dev-perl/Chatbot-Eliza
+ dev-perl/Devel-Symdump
+ dev-perl/HTML-Parser
+ dev-perl/IPC-Run3
+ dev-perl/libwww-perl
+ www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+ !www-apache/mpm_itk
+ )
+"
+PDEPEND="
+ >=dev-perl/Apache-Reload-0.130.0
+ >=dev-perl/Apache-SizeLimit-0.970.0
+"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch # seems to fix the make test problem
+ "${FILESDIR}"/${PN}-2.0.4-inline.patch # 550244
+ "${FILESDIR}"/${PN}-2.0.10_rc1-bundled-Apache-Test.patch # 352724
+ "${FILESDIR}"/${PN}-2.0.10_rc1-Gentoo-not-Unix.patch
+ "${FILESDIR}"/${PN}-2.0.11-ranlib.patch # 728554
+)
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # chainsaw unbundling
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/ || die
+}
+
+src_configure() {
+ _init_apache2_late
+
+ local debug=$(usex debug 1 0)
+ local nothreads=$(usex perl_features_ithreads 0 1)
+ myconf=(
+ MP_USE_DSO=1
+ MP_APXS=${APXS}
+ MP_APR_CONFIG=/usr/bin/apr-1-config
+ MP_TRACE=${debug}
+ MP_DEBUG=${debug}
+ MP_NO_THREADS=${nothreads}
+ )
+
+ perl-module_src_configure
+}
+
+src_test() {
+ # make test notes whether it is running as root, and drops
+ # privileges all the way to "nobody" if so, so we must adjust
+ # write permissions accordingly in this case.
+
+ # IF YOU SUDO TO EMERGE AND HAVE !env_reset set testing will fail!
+ if [[ "$(id -u)" == "0" ]]; then
+ chown nobody:nobody "${WORKDIR}" "${T}" || die
+ fi
+
+ # We force verbose tests for now to get meaningful bug reports.
+ MAKEOPTS+=" -j1"
+ TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 LC_TIME=C perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+
+ perl_delete_localpod
+ perl_fix_packlist
+ perl_delete_emptybsdir
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # this is an attempt to get @INC in line with /usr/bin/perl.
+ # there is blib garbage in the mainstream one that can only be
+ # useful during internal testing, so we wait until here and then
+ # just go with a clean slate. should be much easier to see what's
+ # happening and revert if problematic.
+
+ perl_set_version
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ local fname
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname} || die
+ done
+
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
diff --git a/www-apache/mod_perl/mod_perl-2.0.13-r2.ebuild b/www-apache/mod_perl/mod_perl-2.0.13-r2.ebuild
new file mode 100644
index 000000000000..d8210716297d
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.13-r2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_TEST=do
+inherit depend.apache apache-module perl-module
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://perl.apache.org/ https://projects.apache.org/project.html?perl-mod_perl"
+SRC_URI="mirror://apache/perl/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
+IUSE="debug perl_features_ithreads test"
+RESTRICT="!test? ( test )"
+
+# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
+# The minimum versions requested here are the bundled versions.
+
+# The test dependencies are from CPAN (Bundle::Apache2).
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading.
+
+RDEPEND="
+ perl_features_ithreads? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] <dev-lang/perl-5.38.2-r3[ithreads] ) )
+ !perl_features_ithreads? ( || ( >=dev-lang/perl-5.38.2-r3[-perl_features_ithreads] <dev-lang/perl-5.38.2-r3[-ithreads] ) )
+ >=dev-perl/Apache-Test-1.420.0
+ >=www-servers/apache-2.0.47
+ >=dev-libs/apr-util-1.4
+ !perl_features_ithreads? ( www-servers/apache[-apache2_mpms_event,-apache2_mpms_worker,apache2_mpms_prefork] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-perl/Module-Build
+ test? (
+ >=dev-perl/CGI-3.110.0
+ dev-perl/Chatbot-Eliza
+ dev-perl/Devel-Symdump
+ dev-perl/HTML-Parser
+ dev-perl/IPC-Run3
+ dev-perl/libwww-perl
+ www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+ !www-apache/mpm_itk
+ )
+"
+PDEPEND="
+ >=dev-perl/Apache-Reload-0.130.0
+ >=dev-perl/Apache-SizeLimit-0.970.0
+"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch # seems to fix the make test problem
+ "${FILESDIR}"/${PN}-2.0.4-inline.patch # 550244
+ "${FILESDIR}"/${PN}-2.0.10_rc1-bundled-Apache-Test.patch # 352724
+ "${FILESDIR}"/${PN}-2.0.10_rc1-Gentoo-not-Unix.patch
+ "${FILESDIR}"/${PN}-2.0.11-ranlib.patch # 728554
+ "${FILESDIR}"/${PN}-2.0.13-c99.patch
+)
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # chainsaw unbundling
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/ || die
+}
+
+src_configure() {
+ _init_apache2_late
+
+ local debug=$(usex debug 1 0)
+ local nothreads=$(usex perl_features_ithreads 0 1)
+ myconf=(
+ MP_USE_DSO=1
+ MP_APXS=${APXS}
+ MP_APR_CONFIG=/usr/bin/apr-1-config
+ MP_TRACE=${debug}
+ MP_DEBUG=${debug}
+ MP_NO_THREADS=${nothreads}
+ )
+
+ perl-module_src_configure
+}
+
+src_test() {
+ # make test notes whether it is running as root, and drops
+ # privileges all the way to "nobody" if so, so we must adjust
+ # write permissions accordingly in this case.
+
+ # IF YOU SUDO TO EMERGE AND HAVE !env_reset set testing will fail!
+ if [[ "$(id -u)" == "0" ]]; then
+ chown nobody:nobody "${WORKDIR}" "${T}" || die
+ fi
+
+ # We force verbose tests for now to get meaningful bug reports.
+ MAKEOPTS+=" -j1"
+ TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 LC_TIME=C perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+
+ perl_delete_localpod
+ perl_fix_packlist
+ perl_delete_emptybsdir
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # this is an attempt to get @INC in line with /usr/bin/perl.
+ # there is blib garbage in the mainstream one that can only be
+ # useful during internal testing, so we wait until here and then
+ # just go with a clean slate. should be much easier to see what's
+ # happening and revert if problematic.
+
+ perl_set_version
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ local fname
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname} || die
+ done
+
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
diff --git a/www-apache/mod_security/Manifest b/www-apache/mod_security/Manifest
new file mode 100644
index 000000000000..49942ca88fc4
--- /dev/null
+++ b/www-apache/mod_security/Manifest
@@ -0,0 +1,3 @@
+DIST libinjection-211782219663f889f471650150df12b623c5766e.tar.gz 2237635 BLAKE2B 8791ce892317aff21db137918764b379dbdb9c661fbdb58eee12145eb1f3ac8476c5d20d1fd49bf4d54311aaf79faacf5bd4cbfcafd222cdf48d8bb429dc1d0b SHA512 f3340c924a608b1560ab9aee3109a0d7cb0a9c2b7d0085708061602578c4a4ac60fd46917cdb5c770b69e62dab4b4a58f09a912880bc4744aa6c358e2f8ad7dc
+DIST v2.9.12.tar.gz 3909656 BLAKE2B 850a61cc08224a2ba9303e14b82cfb8a74b837084e7ad6e38a9e4d4f36c089b909acca60919bbf364a790e9ba6718fb2d8afa099072ebf41d0d6126312170104 SHA512 5f5c6d12cf8c0efe8d0f2cfa3f055fb4f1e074d07747a3f6adbf8eb7299c53e4e00bd6dc9046a39fa4529a0a0de9f3cd2893412c160d0ebb3a0f39930a95e5f1
+DIST v2.9.13.tar.gz 3805170 BLAKE2B d470ffd33094df6332496a6ea60e8324901105218eba0af277c59c189979224d70f2604abde687efc83b914a90d33241a806514a3373202a182d944c8e68f390 SHA512 a73224829a95d6b4d4989ceb4c7731f65d1b2650c586bc70490360aa58de7b4962a1b28cb90a72999efe2daa9e81cd1795741b643b91af942995d2bd220ff683
diff --git a/www-apache/mod_security/files/79_mod_security.conf b/www-apache/mod_security/files/79_mod_security.conf
new file mode 100644
index 000000000000..8c7e128571ed
--- /dev/null
+++ b/www-apache/mod_security/files/79_mod_security.conf
@@ -0,0 +1,19 @@
+<IfDefine SECURITY>
+ LoadModule security2_module modules/mod_security2.so
+
+ # These paths are Gentoo-specific, created by the ebuild.
+ SecDataDir /var/lib/modsecurity/data
+ SecTmpDir /var/lib/modsecurity/tmp
+ SecUploadDir /var/lib/modsecurity/upload
+
+ # A copy of upstream's modsecurity.conf-recommended is installed
+ # along with the documentation for mod_security. It contains many
+ # recommended settings that you should evaluate for your system.
+ # The full documentation for the available settings can be found
+ # in the mod_security reference manual, at
+ #
+ # https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual
+ #
+ # and in particular in the "Configuration Directives" setting.
+ #
+</IfDefine>
diff --git a/www-apache/mod_security/files/mod_security-2.9.3-autoconf_lua_package_name.patch b/www-apache/mod_security/files/mod_security-2.9.3-autoconf_lua_package_name.patch
new file mode 100644
index 000000000000..733524ebbc9d
--- /dev/null
+++ b/www-apache/mod_security/files/mod_security-2.9.3-autoconf_lua_package_name.patch
@@ -0,0 +1,11 @@
+--- a/build/find_lua.m4
++++ b/build/find_lua.m4
+@@ -16,7 +16,7 @@
+ LUA_LDADD=""
+ LUA_LDFLAGS=""
+ LUA_CONFIG=${PKG_CONFIG}
+-LUA_PKGNAMES="lua5.1 lua-5.1 lua_5.1 lua-51 lua_51 lua51 lua5 lua lua5.2 lua-5.2 lua_5.2 lua-52 lua_52 lua52 lua5.3 lua-5.3 lua_5.3 lua-53 lua_53 lua53 "
++LUA_PKGNAMES="lua "
+ LUA_SONAMES="so la sl dll dylib a"
+
+ AC_ARG_WITH(
diff --git a/www-apache/mod_security/files/modsecurity-2.7.conf b/www-apache/mod_security/files/modsecurity-2.7.conf
new file mode 100644
index 000000000000..43508bca635f
--- /dev/null
+++ b/www-apache/mod_security/files/modsecurity-2.7.conf
@@ -0,0 +1,15 @@
+<IfDefine SECURITY>
+LoadModule security2_module modules/mod_security2.so
+
+# Enable looking up geolocation data from MaxMind's GeoIP database
+SecGeoLookupDb /usr/share/GeoIP/GeoIP.dat
+
+SecDataDir /var/cache/modsecurity
+
+# Define here your http:BL API key if any
+# see http://www.projecthoneypot.org/httpbl_api.php
+#SecHttpBlKey xxxxxxxx
+</IfDefine>
+
+# -*- apache -*-
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_security/metadata.xml b/www-apache/mod_security/metadata.xml
new file mode 100644
index 000000000000..2196e0411781
--- /dev/null
+++ b/www-apache/mod_security/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dev@liguros.net</email>
+ <name>Development</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:trustwave:modsecurity</remote-id>
+ </upstream>
+ <use>
+ <flag name="fuzzyhash">
+ Support fuzzy hash computations (to detect malware, for example)
+ using the <pkg>app-crypt/ssdeep</pkg> package.
+ </flag>
+ <flag name="geoip">
+ Pull in <pkg>dev-libs/geoip</pkg> for use by the SecGeoLookupDb
+ directive.
+ </flag>
+ <flag name="jit">
+ Add support for the PCRE Just-in-Time optimisation, as enabled
+ by <pkg>dev-libs/libpcre</pkg> with jit USE flag enabled. Might
+ not be available on hardened systems.
+ </flag>
+ <flag name="json">
+ Suppose JSON in the request body parser through
+ <pkg>dev-libs/yajl</pkg>.
+ </flag>
+ <flag name="mlogc">
+ Build and install the ModSecurity Audit Log Collector (mlogc).
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_security/mod_security-2.9.12.ebuild b/www-apache/mod_security/mod_security-2.9.12.ebuild
new file mode 100644
index 000000000000..9fa486aa6cc4
--- /dev/null
+++ b/www-apache/mod_security/mod_security-2.9.12.ebuild
@@ -0,0 +1,124 @@
+# Copyright 2021-2025 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+inherit autotools apache-module lua-single
+
+MY_PN=ModSecurity
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Application firewall and intrusion detection for Apache"
+HOMEPAGE="https://github.com/SpiderLabs/ModSecurity"
+SRC_URI="https://github.com/owasp-modsecurity/ModSecurity/archive/refs/tags/v${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc fuzzyhash geoip jit json lua mlogc"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+COMMON_DEPEND="dev-libs/apr
+ dev-libs/apr-util
+ dev-libs/libxml2
+ dev-libs/libpcre[jit?]
+ virtual/libcrypt:=
+ fuzzyhash? ( app-crypt/ssdeep )
+ json? ( dev-libs/yajl )
+ lua? ( ${LUA_DEPS} )
+ mlogc? ( net-misc/curl )
+ www-servers/apache[apache2_modules_unique_id]"
+BDEPEND="doc? ( app-text/doxygen )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ geoip? ( dev-libs/geoip )
+ mlogc? ( dev-lang/perl )"
+PDEPEND=">=www-apache/modsecurity-crs-2.2.6-r1"
+
+S="${WORKDIR}/${MY_P}"
+
+APACHE2_MOD_FILE="apache2/.libs/${PN}2.so"
+APACHE2_MOD_CONF="79_${PN}"
+APACHE2_MOD_DEFINE="SECURITY"
+
+# Tests require symbols only defined within the Apache binary.
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.3-autoconf_lua_package_name.patch
+)
+
+need_apache2
+
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --enable-request-early
+ --with-apxs="${APXS}"
+ --with-pic
+ $(use_with fuzzyhash ssdeep)
+ $(use_with json yajl)
+ $(use_enable mlogc)
+ $(use_with lua)
+ $(use_enable lua lua-cache)
+ $(use_enable jit pcre-jit)
+ $(use_enable doc docs) )
+
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ apache-module_src_install
+
+ dodoc CHANGES README.md modsecurity.conf-recommended
+
+ if use doc; then
+ dodoc -r doc/apache/html
+ fi
+
+ if use mlogc; then
+ insinto /etc/
+ newins mlogc/mlogc-default.conf mlogc.conf
+ dobin mlogc/mlogc
+ dobin mlogc/mlogc-batch-load.pl
+ newdoc mlogc/INSTALL INSTALL-mlogc
+ fi
+
+ # Use /var/lib instead of /var/cache. This stuff is "persistent,"
+ # and isn't a cached copy of something that we can recreate.
+ # Bug 605496.
+ keepdir /var/lib/modsecurity
+ fowners apache:apache /var/lib/modsecurity
+ fperms 0750 /var/lib/modsecurity
+ for dir in data tmp upload; do
+ keepdir "/var/lib/modsecurity/${dir}"
+ fowners apache:apache "/var/lib/modsecurity/${dir}"
+ fperms 0750 "/var/lib/modsecurity/${dir}"
+ done
+}
+
+pkg_postinst() {
+ elog "The base configuration file has been renamed ${APACHE2_MOD_CONF}"
+ elog "so that you can put your own configuration in (for example)"
+ elog "90_modsecurity_local.conf."
+ elog ""
+ elog "That would be the correct place for site-global security rules."
+ elog "Note: 80_modsecurity_crs.conf is used by www-apache/modsecurity-crs"
+}
diff --git a/www-apache/mod_security/mod_security-2.9.13.ebuild b/www-apache/mod_security/mod_security-2.9.13.ebuild
new file mode 100644
index 000000000000..d93b2fba6647
--- /dev/null
+++ b/www-apache/mod_security/mod_security-2.9.13.ebuild
@@ -0,0 +1,128 @@
+# Copyright 2021-2026 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+inherit autotools apache-module lua-single
+
+MY_PN=ModSecurity
+MY_P=${MY_PN}-${PV}
+
+LIBINJECTION_COMMIT="211782219663f889f471650150df12b623c5766e"
+
+DESCRIPTION="Application firewall and intrusion detection for Apache"
+HOMEPAGE="https://github.com/SpiderLabs/ModSecurity"
+SRC_URI="
+ https://github.com/owasp-modsecurity/ModSecurity/archive/refs/tags/v${PV}.tar.gz
+ https://github.com/libinjection/libinjection/archive/${LIBINJECTION_COMMIT}.tar.gz -> libinjection-${LIBINJECTION_COMMIT}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc fuzzyhash geoip jit json lua mlogc"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+COMMON_DEPEND="dev-libs/apr
+ dev-libs/apr-util
+ dev-libs/libxml2
+ dev-libs/libpcre[jit?]
+ virtual/libcrypt:=
+ fuzzyhash? ( app-crypt/ssdeep )
+ json? ( dev-libs/yajl )
+ lua? ( ${LUA_DEPS} )
+ mlogc? ( net-misc/curl )
+ www-servers/apache[apache2_modules_unique_id]"
+BDEPEND="doc? ( app-text/doxygen )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ geoip? ( dev-libs/geoip )
+ mlogc? ( dev-lang/perl )"
+PDEPEND=">=www-apache/modsecurity-crs-3.3.2"
+
+S="${WORKDIR}/${MY_P}"
+
+APACHE2_MOD_FILE="apache2/.libs/${PN}2.so"
+APACHE2_MOD_CONF="79_${PN}"
+APACHE2_MOD_DEFINE="SECURITY"
+
+# Tests require symbols only defined within the Apache binary.
+RESTRICT=test
+
+need_apache2
+
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ mv ${WORKDIR}/libinjection-${LIBINJECTION_COMMIT}/* $S/apache2/others/libinjection
+ rm -rf ${WORKDIR}/libinjection-${LIBINJECTION_COMMIT}
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ --enable-request-early
+ --with-apxs="${APXS}"
+ --with-pic
+ --with-pcre2
+ $(use_enable doc docs)
+ $(use_enable jit pcre-jit)
+ $(use_enable lua lua-cache)
+ $(use_enable mlogc)
+ $(use_with fuzzyhash ssdeep)
+ $(use_with json yajl)
+ $(use_with lua)
+ )
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ apache-module_src_install
+
+ dodoc CHANGES README.md modsecurity.conf-recommended
+
+ if use doc; then
+ dodoc -r doc/apache/html
+ fi
+
+ if use mlogc; then
+ insinto /etc/
+ newins mlogc/mlogc-default.conf mlogc.conf
+ dobin mlogc/mlogc
+ dobin mlogc/mlogc-batch-load.pl
+ newdoc mlogc/INSTALL INSTALL-mlogc
+ fi
+
+ # Use /var/lib instead of /var/cache. This stuff is "persistent,"
+ # and isn't a cached copy of something that we can recreate.
+ # Bug 605496.
+ keepdir /var/lib/modsecurity
+ fowners apache:apache /var/lib/modsecurity
+ fperms 0750 /var/lib/modsecurity
+ for dir in data tmp upload; do
+ keepdir "/var/lib/modsecurity/${dir}"
+ fowners apache:apache "/var/lib/modsecurity/${dir}"
+ fperms 0750 "/var/lib/modsecurity/${dir}"
+ done
+}
+
+pkg_postinst() {
+ elog "The base configuration file has been renamed ${APACHE2_MOD_CONF}"
+ elog "so that you can put your own configuration in (for example)"
+ elog "90_modsecurity_local.conf."
+ elog ""
+ elog "That would be the correct place for site-global security rules."
+ elog "Note: 80_modsecurity_crs.conf is used by www-apache/modsecurity-crs"
+}
diff --git a/www-apache/mod_tls/Manifest b/www-apache/mod_tls/Manifest
new file mode 100644
index 000000000000..90ccd3a96068
--- /dev/null
+++ b/www-apache/mod_tls/Manifest
@@ -0,0 +1 @@
+DIST mod_tls-0.14.0.tar.gz 206639 BLAKE2B fffdb26b171cba674c283e689728dc42fff75124c0a1e2590c31e0fea2d5ea840db4cdbaa5455eee46c1cdd5211532b80271c2cf63f98c246e34bda07d96508d SHA512 a48e0eba706358aa348b3feba84392b9ac43979f40ae4eb56b1a4cc9b3bf39c233cafa166edb193a3c20657d7c9f592941ac19b22852516d34d956586390c7c7
diff --git a/www-apache/mod_tls/files/mod_tls-0.14.0-werror.patch b/www-apache/mod_tls/files/mod_tls-0.14.0-werror.patch
new file mode 100644
index 000000000000..ef220bf8e07f
--- /dev/null
+++ b/www-apache/mod_tls/files/mod_tls-0.14.0-werror.patch
@@ -0,0 +1,21 @@
+--- a/configure.ac 2024-09-18 16:00:53.000000000 +0200
++++ b/configure.ac 2025-08-08 10:05:06.225282494 +0200
+@@ -90,7 +90,6 @@
+ AX_CHECK_COMPILE_FLAG([-Wall], [WERROR_CFLAGS="$WERROR_CFLAGS -Wall"])
+ AX_CHECK_COMPILE_FLAG([-Wconversion], [WERROR_CFLAGS="$WERROR_CFLAGS -Wconversion"])
+ AX_CHECK_COMPILE_FLAG([-Wextra], [WERROR_CFLAGS="$WERROR_CFLAGS -Wextra"])
+- AX_CHECK_COMPILE_FLAG([-Werror], [WERROR_CFLAGS="$WERROR_CFLAGS -Werror"])
+ AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [WERROR_CFLAGS="$WERROR_CFLAGS -Wmissing-prototypes"])
+ AX_CHECK_COMPILE_FLAG([-Wstrict-prototypes], [WERROR_CFLAGS="$WERROR_CFLAGS -Wstrict-prototypes"])
+ AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], [WERROR_CFLAGS="$WERROR_CFLAGS -Wmissing-declarations"])
+--- a/src/Makefile.am 2024-09-18 16:00:53.000000000 +0200
++++ b/src/Makefile.am 2025-08-08 10:16:27.571458349 +0200
+@@ -23,7 +23,7 @@
+ # mod_md for httpd
+ #---------------------------------------------------------------------------------------------------
+
+-mod_tls_la_CPPFLAGS = -g -I../src -std=c99 -D_GNU_SOURCE -Werror @WERROR_CFLAGS@
++mod_tls_la_CPPFLAGS = -I../src -std=c99 -D_GNU_SOURCE @WERROR_CFLAGS@
+ mod_tls_la_LDFLAGS = -lrustls -module -export-symbols-regex tls_module
+
+
diff --git a/www-apache/mod_tls/files/mod_tls.conf b/www-apache/mod_tls/files/mod_tls.conf
new file mode 100644
index 000000000000..572db10cfcb3
--- /dev/null
+++ b/www-apache/mod_tls/files/mod_tls.conf
@@ -0,0 +1,5 @@
+<IfDefine TLS>
+
+LoadModule tls_module modules/mod_tls.so
+
+</IfDefine>
diff --git a/www-apache/mod_tls/metadata.xml b/www-apache/mod_tls/metadata.xml
new file mode 100644
index 000000000000..fb5362858748
--- /dev/null
+++ b/www-apache/mod_tls/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>apache-bugs@gentoo.org</email>
+ <name>Apache project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_tls/mod_tls-0.14.0-r1.ebuild b/www-apache/mod_tls/mod_tls-0.14.0-r1.ebuild
new file mode 100644
index 000000000000..bec4a0645e17
--- /dev/null
+++ b/www-apache/mod_tls/mod_tls-0.14.0-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module autotools
+
+DESCRIPTION="A module that uses rustls to provide a memory safe TLS implementation in Rust"
+HOMEPAGE="https://github.com/icing/mod_tls"
+SRC_URI="https://github.com/icing/mod_tls/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ssl"
+
+RDEPEND="
+ || ( =net-libs/rustls-ffi-0.15* =net-libs/rustls-ffi-0.14* )
+ >=www-servers/apache-2.4.48[-apache2_modules_tls(-)]
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-werror.patch" )
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ APACHE2_MOD_DEFINE="TLS"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ newins "${FILESDIR}/mod_tls.conf" "41_mod_tls.conf"
+}
diff --git a/www-apache/mod_tls/mod_tls-0.14.0.ebuild b/www-apache/mod_tls/mod_tls-0.14.0.ebuild
new file mode 100644
index 000000000000..9abd7d4fcce9
--- /dev/null
+++ b/www-apache/mod_tls/mod_tls-0.14.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module autotools
+
+DESCRIPTION="A module that uses rustls to provide a memory safe TLS implementation in Rust"
+HOMEPAGE="https://github.com/icing/mod_tls"
+SRC_URI="https://github.com/icing/mod_tls/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ssl"
+
+RDEPEND="
+ =net-libs/rustls-ffi-0.14*
+ >=www-servers/apache-2.4.48[-apache2_modules_tls(-)]
+"
+DEPEND="${RDEPEND}"
+
+need_apache2_4
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ APACHE2_MOD_DEFINE="TLS"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ newins "${FILESDIR}/mod_tls.conf" "41_mod_tls.conf"
+}
diff --git a/www-apache/mod_whatkilledus/Manifest b/www-apache/mod_whatkilledus/Manifest
new file mode 100644
index 000000000000..634d8624c086
--- /dev/null
+++ b/www-apache/mod_whatkilledus/Manifest
@@ -0,0 +1 @@
+DIST wku_bt-2.01.zip 933169 BLAKE2B 5ec19ee27284b432162ee10433d9b9da4f390557eec644c3cc9fae2f447ca23dbfa3d678054a90ee1d0cc54aef1666910f23e66b811b22652fa2a50abeeaf68c SHA512 c1bde8a26b395fc5fc66cd83c9282a8c519f34d27bef628ec502cec4245a7d446300178c9c94a5c5c0eb817bb8dd146587607760f9c9e780986d6ec53f03fb4c
diff --git a/www-apache/mod_whatkilledus/files/10_mod_whatkilledus.conf b/www-apache/mod_whatkilledus/files/10_mod_whatkilledus.conf
new file mode 100644
index 000000000000..4d99d8af4523
--- /dev/null
+++ b/www-apache/mod_whatkilledus/files/10_mod_whatkilledus.conf
@@ -0,0 +1,5 @@
+<IfDefine WHATKILLEDUS>
+ LoadModule whatkilledus_module modules/mod_whatkilledus.so
+ EnableExceptionHook On
+ WKULogfile /var/log/apache2/whatkilledus.log
+</IfDefine>
diff --git a/www-apache/mod_whatkilledus/metadata.xml b/www-apache/mod_whatkilledus/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_whatkilledus/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_whatkilledus/mod_whatkilledus-2.01-r1.ebuild b/www-apache/mod_whatkilledus/mod_whatkilledus-2.01-r1.ebuild
new file mode 100644
index 000000000000..708ceda8c228
--- /dev/null
+++ b/www-apache/mod_whatkilledus/mod_whatkilledus-2.01-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module depend.apache
+
+DESCRIPTION="Debug segmentation faults in Apache threads"
+HOMEPAGE="https://emptyhammock.com/projects/httpd/diag/"
+SRC_URI="https://emptyhammock.com/media/downloads/wku_bt-${PV}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=www-apache/mod_backtrace-2.01
+ =www-servers/apache-2*[debug]"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+APACHE2_MOD_CONF="10_${PN}"
+APACHE2_MOD_DEFINE="BACKTRACE WHATKILLEDUS"
+
+need_apache2
+
+S="${WORKDIR}/wku_bt-${PV}"
+
+# Work around Bug #616612
+pkg_setup() {
+ _init_apache2
+ _init_apache2_late
+}
+
+src_compile() {
+ APXS2_ARGS="-c ${PN}.c diag.c -ldl"
+ apache-module_src_compile
+}
diff --git a/www-apache/mod_wsgi/Manifest b/www-apache/mod_wsgi/Manifest
new file mode 100644
index 000000000000..87e94e9fffe9
--- /dev/null
+++ b/www-apache/mod_wsgi/Manifest
@@ -0,0 +1,2 @@
+DIST mod_wsgi-5.0.2.gh.tar.gz 710243 BLAKE2B ab52fcc661932af4e47398fea2a3d102cc7250e55381154376afe57c828259e41d698a9421adea796f58fa5063aadb05c7d3b6c263e55820784709ada28dde28 SHA512 ecb8aa86ca24a72b7cf72a5994e515c1bef9683f2217acab470272c5ea1e277eb4def44a4e65534fcf7ea1068df98b7bd7566a35c4243c44a5f502d984c7b110
+DIST mod_wsgi-6.0.2.tar.gz 606657 BLAKE2B 57f00277ce7eb683cc6e2a3ffde7c4c0f956b1e2bc7f5bb07ade89f9fa7c14b7988f7a1f7b38a3595386c08a76a4aefc4182ce29ae01f76fdabebfd777fccb7d SHA512 88fa52817c3ac0575e9e314e122c0d0d407ceea0e33cb3a0a3ebad73ca2322b6a4e7e8faf3ae7de56f050d22173ac3f8af38562506916e48cff70b8a07f51a7a
diff --git a/www-apache/mod_wsgi/files/70_mod_wsgi.conf b/www-apache/mod_wsgi/files/70_mod_wsgi.conf
new file mode 100644
index 000000000000..3fabc5967fca
--- /dev/null
+++ b/www-apache/mod_wsgi/files/70_mod_wsgi.conf
@@ -0,0 +1,5 @@
+<IfDefine WSGI>
+LoadModule wsgi_module modules/mod_wsgi.so
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_wsgi/metadata.xml b/www-apache/mod_wsgi/metadata.xml
new file mode 100644
index 000000000000..1ce00a078737
--- /dev/null
+++ b/www-apache/mod_wsgi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:modwsgi:mod_wsgi</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_wsgi/mod_wsgi-5.0.2.ebuild b/www-apache/mod_wsgi/mod_wsgi-5.0.2.ebuild
new file mode 100644
index 000000000000..7f0724542aa5
--- /dev/null
+++ b/www-apache/mod_wsgi/mod_wsgi-5.0.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit apache-module python-single-r1
+
+DESCRIPTION="An Apache2 module for running Python WSGI applications"
+HOMEPAGE="https://github.com/GrahamDumpleton/mod_wsgi"
+SRC_URI="https://github.com/GrahamDumpleton/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+
+APACHE2_MOD_CONF="70_${PN}"
+APACHE2_MOD_DEFINE="WSGI"
+APACHE2_MOD_FILE="${S}/src/server/.libs/${PN}.so"
+
+DOCFILES="README.rst"
+
+need_apache2
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+
+ # Calling depend.apache_pkg_setup fails because we do not have
+ # "apache2" in IUSE but the function expects this in order to call
+ # _init_apache2_late which sets the APACHE_MODULESDIR variable.
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ econf --with-apxs="${APXS}" --with-python="${PYTHON}"
+}
+
+src_compile() {
+ default
+}
diff --git a/www-apache/mod_wsgi/mod_wsgi-6.0.2.ebuild b/www-apache/mod_wsgi/mod_wsgi-6.0.2.ebuild
new file mode 100644
index 000000000000..23c27cf39f4a
--- /dev/null
+++ b/www-apache/mod_wsgi/mod_wsgi-6.0.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit apache-module python-single-r1
+
+DESCRIPTION="An Apache2 module for running Python WSGI applications"
+HOMEPAGE="https://github.com/GrahamDumpleton/mod_wsgi"
+SRC_URI="https://github.com/GrahamDumpleton/mod_wsgi/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+
+APACHE2_MOD_CONF="70_${PN}"
+APACHE2_MOD_DEFINE="WSGI"
+APACHE2_MOD_FILE="${S}/src/server/.libs/${PN}.so"
+
+DOCFILES="README.rst"
+
+need_apache2
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+
+ # Calling depend.apache_pkg_setup fails because we do not have
+ # "apache2" in IUSE but the function expects this in order to call
+ # _init_apache2_late which sets the APACHE_MODULESDIR variable.
+ _init_apache2
+ _init_apache2_late
+}
+
+src_configure() {
+ econf --with-apxs="${APXS}" --with-python="${PYTHON}"
+}
+
+src_compile() {
+ default
+}
diff --git a/www-apache/mod_xsendfile/Manifest b/www-apache/mod_xsendfile/Manifest
new file mode 100644
index 000000000000..e6a3d863f20a
--- /dev/null
+++ b/www-apache/mod_xsendfile/Manifest
@@ -0,0 +1 @@
+DIST mod_xsendfile-1.0b1.tar.gz 14883 BLAKE2B fe250070ae8b7f2f00b8b0616ad53803b0c2d5cbec897f98a9af45e3b2a4e5c598b93ce3f0ffe65d6ec083a0201e1f1c07a8d6109fc77dd761d2aa7e4d3caf10 SHA512 96745a5c753af329cabc10b1551e199425abf28c058222e118e67c604a53cfebb4fd8e27558caa58269ca8b4ca805ac6c4a71654c8414331c095bd600a4b3914
diff --git a/www-apache/mod_xsendfile/files/50_mod_xsendfile.conf b/www-apache/mod_xsendfile/files/50_mod_xsendfile.conf
new file mode 100644
index 000000000000..eda65879a6ff
--- /dev/null
+++ b/www-apache/mod_xsendfile/files/50_mod_xsendfile.conf
@@ -0,0 +1,20 @@
+<IfDefine XSENDFILE>
+LoadModule xsendfile_module modules/mod_xsendfile.so
+
+# Enables or disables header processing
+# XSendFile on|off
+XSendFile on
+# Ignore script provided Etag headers
+# XSendFileIgnoreEtag on|off
+#
+# Ignore script provided LastModified headers
+# XSendFileIgnoreLastModified on|off
+#
+# White-list more paths
+# XSendFilePath absolute path
+#
+# XSendFilePath /var/infiniband_mount/shared/LUN1/
+#
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/mod_xsendfile/metadata.xml b/www-apache/mod_xsendfile/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/mod_xsendfile/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mod_xsendfile/mod_xsendfile-1.0_beta1-r3.ebuild b/www-apache/mod_xsendfile/mod_xsendfile-1.0_beta1-r3.ebuild
new file mode 100644
index 000000000000..a72d8dd1a7c2
--- /dev/null
+++ b/www-apache/mod_xsendfile/mod_xsendfile-1.0_beta1-r3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit apache-module
+
+MY_PV="1.0b1"
+DESCRIPTION="Apache module that processes X-SENDFILE headers registered by the output handler"
+HOMEPAGE="https://tn123.org/mod_xsendfile/"
+SRC_URI="https://tn123.org/mod_xsendfile/beta/${PN}-${MY_PV}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+
+need_apache2
+
+src_install() {
+ APACHE2_MOD_CONF="50_${PN}"
+ APACHE2_MOD_DEFINE="XSENDFILE"
+ APACHE_MODULESDIR="/usr/$(get_libdir)/apache2/modules"
+
+ apache-module_src_install
+
+ dodoc docs/Readme.html
+}
diff --git a/www-apache/modsecurity-crs/Manifest b/www-apache/modsecurity-crs/Manifest
new file mode 100644
index 000000000000..e41e03007b5f
--- /dev/null
+++ b/www-apache/modsecurity-crs/Manifest
@@ -0,0 +1,3 @@
+DIST modsecurity-crs-3.3.9.tar.gz 304961 BLAKE2B e849c4461608c3a3adc6a06e488044c2c8c1f193246ef6704e9bf9d618e66b548b6e904a2172b1f3a7b451c324f5887b759d6c5c745fefadabab6f182927d776 SHA512 cfd63d630879727890fea4bb44c9b88d47e98f1a26e55b387e63f59bd47e3d61ba2f0e9efcd48f9008191f66defb2c68cb640f9968345181aafe360335d4db65
+DIST modsecurity-crs-4.25.0.tar.gz 588085 BLAKE2B a121b655a206e2e00fa0aaed99a448881d2de258f2b7b385da5cd17e9457f6b36e6bd8e8d1c8f8205cbdcf9ede65c28d133c484fe52adb025ef046b670bc0fbe SHA512 800232026bce743b9bba7ebd8e2bfb1ae5d4ccfa1672e5ab72d764819c64a1c276e89c28d34ac0d05964392054464d394846013aae11ad54c870ce4aec7e2480
+DIST modsecurity-crs-4.26.0.tar.gz 596211 BLAKE2B dd633a0fd98b794e186bbfe17f5d643579fdfd6848f13322a42d4236f7d27bf90e83e30ff7dad173d6218473c6d50a2b803681f62860f74796cdd11fdbcc7c90 SHA512 0b59a54e2a8b23d6afbbcea8fa176a8302bb5f98abd5e7ade7acf82cc63c9dfc675b37912dc5a422c6f470f924ab22ce7256368762726862d076a50c70af2545
diff --git a/www-apache/modsecurity-crs/files/80_mod_security-crs.conf b/www-apache/modsecurity-crs/files/80_mod_security-crs.conf
new file mode 100644
index 000000000000..c6b767a3cf24
--- /dev/null
+++ b/www-apache/modsecurity-crs/files/80_mod_security-crs.conf
@@ -0,0 +1,8 @@
+<IfDefine SECURITY>
+ # Add your custom CRS configuration here. A copy of upstream's
+ # crs-setup.conf.example is includes with the documentation of
+ # modsecurity-crs.
+
+ # Include the rules AFTER your custom configuration.
+ Include /usr/share/modsecurity-crs/rules/*.conf
+</IfDefine>
diff --git a/www-apache/modsecurity-crs/metadata.xml b/www-apache/modsecurity-crs/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/www-apache/modsecurity-crs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/modsecurity-crs/modsecurity-crs-3.3.9.ebuild b/www-apache/modsecurity-crs/modsecurity-crs-3.3.9.ebuild
new file mode 100644
index 000000000000..68d79d20df40
--- /dev/null
+++ b/www-apache/modsecurity-crs/modsecurity-crs-3.3.9.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature
+
+DESCRIPTION="OWASP ModSecurity Core Rule Set"
+HOMEPAGE="https://coreruleset.org/"
+SRC_URI="https://github.com/coreruleset/coreruleset/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/coreruleset-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+apache2"
+
+RDEPEND="apache2? ( >=www-apache/mod_security-2.9.6 )"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md crs-setup.conf.example KNOWN_BUGS README.md )
+
+src_install() {
+ insinto "/usr/share/${PN}"
+ doins -r rules
+
+ einstalldocs
+
+ if use apache2; then
+ # I don't think it's worth pulling in apache-module.eclass just for
+ # this path...
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}/80_mod_security-crs.conf"
+ fi
+}
+
+pkg_postinst() {
+ if use apache2; then
+ einfo "The CRS configuration file has been installed to:"
+ einfo " ${ROOT}/etc/apache2/modules.d/80_mod_security-crs.conf"
+ fi
+
+ optfeature "apache-less installations, e.g. nginx" dev-libs/modsecurity
+}
diff --git a/www-apache/modsecurity-crs/modsecurity-crs-4.25.0.ebuild b/www-apache/modsecurity-crs/modsecurity-crs-4.25.0.ebuild
new file mode 100644
index 000000000000..380f6860cf8c
--- /dev/null
+++ b/www-apache/modsecurity-crs/modsecurity-crs-4.25.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature
+
+MY_PV=${PV/_/-}
+
+DESCRIPTION="OWASP ModSecurity Core Rule Set"
+HOMEPAGE="https://coreruleset.org/"
+SRC_URI="https://github.com/coreruleset/coreruleset/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/coreruleset-${MY_PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+apache2"
+
+RDEPEND="apache2? ( >=www-apache/mod_security-2.9.6 )"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md crs-setup.conf.example KNOWN_BUGS.md README.md )
+
+src_install() {
+ insinto "/usr/share/${PN}"
+ doins -r plugins rules
+
+ einstalldocs
+
+ if use apache2; then
+ # I don't think it's worth pulling in apache-module.eclass just for
+ # this path...
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}/80_mod_security-crs.conf"
+ fi
+}
+
+pkg_postinst() {
+ if use apache2; then
+ einfo "The CRS configuration file has been installed to:"
+ einfo " ${ROOT}/etc/apache2/modules.d/80_mod_security-crs.conf"
+ fi
+
+ optfeature "apache-less installations, e.g. nginx" dev-libs/modsecurity
+}
diff --git a/www-apache/modsecurity-crs/modsecurity-crs-4.26.0.ebuild b/www-apache/modsecurity-crs/modsecurity-crs-4.26.0.ebuild
new file mode 100644
index 000000000000..eab0b1ed35af
--- /dev/null
+++ b/www-apache/modsecurity-crs/modsecurity-crs-4.26.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature
+
+MY_PV=${PV/_/-}
+
+DESCRIPTION="OWASP ModSecurity Core Rule Set"
+HOMEPAGE="https://coreruleset.org/"
+SRC_URI="https://github.com/coreruleset/coreruleset/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/coreruleset-${MY_PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+apache2"
+
+RDEPEND="apache2? ( >=www-apache/mod_security-2.9.6 )"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md crs-setup.conf.example KNOWN_BUGS.md README.md )
+
+src_install() {
+ insinto "/usr/share/${PN}"
+ doins -r plugins rules
+
+ einstalldocs
+
+ if use apache2; then
+ # I don't think it's worth pulling in apache-module.eclass just for
+ # this path...
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}/80_mod_security-crs.conf"
+ fi
+}
+
+pkg_postinst() {
+ if use apache2; then
+ einfo "The CRS configuration file has been installed to:"
+ einfo " ${ROOT}/etc/apache2/modules.d/80_mod_security-crs.conf"
+ fi
+
+ optfeature "apache-less installations, e.g. nginx" dev-libs/modsecurity
+}
diff --git a/www-apache/mpm_itk/Manifest b/www-apache/mpm_itk/Manifest
new file mode 100644
index 000000000000..d8cdea571883
--- /dev/null
+++ b/www-apache/mpm_itk/Manifest
@@ -0,0 +1 @@
+DIST mpm-itk-2.4.7-04.tar.gz 45843 BLAKE2B baf590b82dce886723e7c6dfb46163eda2bddb3df96dbda52f491b3b821fa069a5aed7febdea6bce059418960484e748ad1117518346b0bbd588575a54171420 SHA512 4c6f02bbe3aa4e1af2e912b6a49751dedf976901484b4f55ff67757c2f40077a330e41bcfbe1cb433a8ec8870055b0533658e85042887aa94ccf14638eade178
diff --git a/www-apache/mpm_itk/files/00_mpm_itk.conf b/www-apache/mpm_itk/files/00_mpm_itk.conf
new file mode 100644
index 000000000000..bb77e57aec6c
--- /dev/null
+++ b/www-apache/mpm_itk/files/00_mpm_itk.conf
@@ -0,0 +1,5 @@
+<IfDefine MPM_ITK>
+ LoadModule mpm_itk_module modules/mpm_itk.so
+ LimitUIDRange 1000 2000
+ LimitGIDRange 1000 2000
+</IfDefine>
diff --git a/www-apache/mpm_itk/metadata.xml b/www-apache/mpm_itk/metadata.xml
new file mode 100644
index 000000000000..33f4f66d96a1
--- /dev/null
+++ b/www-apache/mpm_itk/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/mpm_itk/mpm_itk-2.4.7_p4-r2.ebuild b/www-apache/mpm_itk/mpm_itk-2.4.7_p4-r2.ebuild
new file mode 100644
index 000000000000..093dfa16ab39
--- /dev/null
+++ b/www-apache/mpm_itk/mpm_itk-2.4.7_p4-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit apache-module linux-info
+
+MY_PN=${PN/_/-}
+MY_PV=${PV/_p/-0}
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="Run virtual hosts under separate users/groups"
+HOMEPAGE="http://mpm-itk.sesse.net/"
+SRC_URI="http://mpm-itk.sesse.net/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# The libcap dependency is automagic, so we require it
+# unconditionally. Reported upstream at,
+#
+# http://lists.err.no/pipermail/mpm-itk/2014-May/000808.html
+#
+#
+# The -threads USE dependency is only reliable as long as we don't
+# support building more than one MPM. See bug #511658.
+#
+DEPEND="sys-libs/libcap
+ >=www-servers/apache-2.4.7[-threads]"
+RDEPEND="${DEPEND}"
+
+APACHE2_MOD_CONF="00_${PN}"
+APACHE2_MOD_DEFINE="MPM_ITK"
+APXS2_ARGS="-c ${PN}.c seccomp.c -lcap"
+
+need_apache2_4
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ linux-info_pkg_setup
+
+ local minkv="3.5"
+ if kernel_is -lt ${minkv//./ }; then
+ ewarn "A kernel newer than ${minkv} (with seccomp v2) is needed"
+ ewarn "for LimitUIDRange and LimitGIDRange which we include by"
+ ewarn "default in ${APACHE2_MOD_CONF}.conf."
+ fi
+
+ # Work around bug #616612
+ _init_apache2
+ _init_apache2_late
+}
diff --git a/www-apache/passenger/Manifest b/www-apache/passenger/Manifest
new file mode 100644
index 000000000000..967b0b3cb8a0
--- /dev/null
+++ b/www-apache/passenger/Manifest
@@ -0,0 +1,3 @@
+DIST passenger-6.0.27.tar.gz 7548637 BLAKE2B 9586dff461243b0a8b4748456994d234ea38bc92b96361d6d544f894990d098fea375049f100aea2a505f51c6f0f48821b76bb50f33184dde7032dfdd56c2030 SHA512 b4e73fa8e37c052377df13438854219ed0d7d8cb5ef8fca295e8b8af605de336a855955f7d183d0ebf84c851dd5dee8a7d810241f8cf2fdde6a87f85678221c8
+DIST passenger-6.1.0.tar.gz 7557582 BLAKE2B 8a2c9661241058062761811ceb4c5f88181f905f67c13ef4a2c5effaa83021595d99d098ef0fc13785cb86515ec656df528dba72b4fddc9ee2403998c4a19253 SHA512 3ca4ec7e8d6a6e8cec7058b5f7d96d6ead7f0954a1f2391bb72159568f902d242b8e467af0dd58121576a312fb8e0981bb851e09a2fefac8af126f48400c0a2f
+DIST passenger-6.1.1.tar.gz 7428895 BLAKE2B 68c148caa1567284b0bc21711aa95c3514468f482bd984672fbdee6da2f183cb7790f01a8bc144871fdd49f075e0c3cad97f46ca56671776ea26707c294d94cf SHA512 7676c67ac3d97c9c392a1b2434e1ce5d6f1d2c1359034e713bf8692a7a5eeb6830029656039e2175b000ff3ccffa59a6543bcf0afffdc71ad70c865c403ad114
diff --git a/www-apache/passenger/files/30_mod_passenger-5.0.0.conf b/www-apache/passenger/files/30_mod_passenger-5.0.0.conf
new file mode 100644
index 000000000000..f218b59ca412
--- /dev/null
+++ b/www-apache/passenger/files/30_mod_passenger-5.0.0.conf
@@ -0,0 +1,63 @@
+<IfDefine PASSENGER>
+LoadModule passenger_module modules/mod_passenger.so
+
+# The location to the Phusion Passenger root directory. This configuration
+# option is essential to Phusion Passenger. The correct value is given by the
+# installer, and should usually not be changed manually.
+PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
+
+# This option allows one to specify how much information Phusion Passenger
+# should write to the Apache error log file. A higher log level value means
+# that more information will be logged.
+#
+# Possible values are:
+#
+# 0: Show only errors and warnings.
+# 1: Show the most important debugging information. This might be useful for
+# system administrators who are trying to figure out the cause of a
+# problem.
+# 2: Show more debugging information. This is typically only useful for
+# developers.
+# 3: Show even more debugging information.
+PassengerLogLevel 0
+
+# This option specifies the default global version of Ruby to use.
+PassengerDefaultRuby /usr/bin/ruby
+
+# This option allows one to specify the Ruby interpreter to use for
+# specific instances.
+# PassengerRuby /usr/bin/ruby
+
+# The maximum number of Ruby on Rails application instances that may be
+# simultaneously active. A larger number results in higher memory usage, but
+# improved ability to handle concurrent HTTP clients.
+PassengerMaxPoolSize 20
+
+# The maximum number of seconds that a Ruby on Rails application instance may
+# be idle. That is, if an application instance hasn't done anything after the
+# given number of seconds, then it will be shutdown in order to conserve
+# memory.
+PassengerPoolIdleTime 120
+
+# The maximum number of application instances that may be simultaneously active
+# for a single application. This helps to make sure that a single application
+# will not occupy all available slots in the application pool.
+#
+# This value must be less than PassengerMaxPoolSize. A value of 0 means that
+# there is no limit placed on the number of instances a single application may
+# use, i.e. only the global limit of PassengerMaxPoolSize will be enforced.
+PassengerMaxInstancesPerApp 0
+
+# When the PassengerUserSwitching option is enabled a Rails application is started
+# as the owner of the file config/environment.rb. So if
+# /home/webapps/foo/config/environment.rb is owned by joe, then Passenger will
+# launch the corresponding Rails application as joe as well.
+PassengerUserSwitching On
+
+# Under no circumstances will Rails applications be run as root. If
+# environment.rb is owned by root or by an unknown user, then the Rails
+# application will run as the user specified by PassengerDefaultUser.
+PassengerDefaultUser apache
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/www-apache/passenger/files/passenger-5.1.11-gentoo.patch b/www-apache/passenger/files/passenger-5.1.11-gentoo.patch
new file mode 100644
index 000000000000..5981ead136f0
--- /dev/null
+++ b/www-apache/passenger/files/passenger-5.1.11-gentoo.patch
@@ -0,0 +1,30 @@
+--- a/build/packaging.rb.~1~ 2013-10-27 00:00:00.000000000 +0200
++++ b/build/packaging.rb 2015-09-28 07:44:04.584236386 +0200
+@@ -575,7 +575,7 @@
+ psg_ruby = ENV['RUBY'] || "#{fs_bindir}/ruby"
+ psg_free_ruby = ENV['FREE_RUBY'] || "/usr/bin/env ruby"
+
+- fakeroot = "#{PKG_DIR}/fakeroot"
++ fakeroot = ENV['DISTDIR']
+ fake_rubylibdir = "#{fakeroot}#{psg_rubylibdir}"
+ fake_nodelibdir = "#{fakeroot}#{psg_nodelibdir}"
+ fake_libdir = "#{fakeroot}#{psg_libdir}"
+@@ -593,7 +593,6 @@
+
+ packaging_method = ENV['NATIVE_PACKAGING_METHOD'] || ENV['PACKAGING_METHOD'] || "deb"
+
+- sh "rm -rf #{fakeroot}"
+ sh "mkdir -p #{fakeroot}"
+
+ # Ruby sources
+@@ -690,10 +689,6 @@
+ change_shebang("#{fake_sbindir}/#{exe}", shebang)
+ end
+
+- # Apache 2 module
+- sh "mkdir -p #{File.dirname(fake_apache2_module_path)}"
+- sh "cp #{APACHE2_TARGET} #{fake_apache2_module_path}"
+-
+ # Ruby extension sources
+ sh "mkdir -p #{fake_ruby_extension_source_dir}"
+ sh "cp -R #{PhusionPassenger.ruby_extension_source_dir}/* #{fake_ruby_extension_source_dir}"
diff --git a/www-apache/passenger/metadata.xml b/www-apache/passenger/metadata.xml
new file mode 100644
index 000000000000..524669ace7bb
--- /dev/null
+++ b/www-apache/passenger/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:phusion:passenger</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-apache/passenger/passenger-6.0.27.ebuild b/www-apache/passenger/passenger-6.0.27.ebuild
new file mode 100644
index 000000000000..94460f34012a
--- /dev/null
+++ b/www-apache/passenger/passenger-6.0.27.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+inherit apache-module flag-o-matic ruby-ng toolchain-funcs
+
+DESCRIPTION="Passenger makes deployment of Ruby on Rails applications a breeze"
+HOMEPAGE="https://www.phusionpassenger.com/"
+SRC_URI="https://s3.amazonaws.com/phusion-passenger/releases/${P}.tar.gz"
+
+# Passenger is licensed MIT, but vendored code licenses should also be taken into account.
+LICENSE="Boost-1.0 MIT BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+IUSE="apache2 debug selinux"
+
+ruby_add_bdepend "dev-ruby/rake"
+
+ruby_add_rdepend "
+ >=dev-ruby/rack-1.6.13:*
+ dev-ruby/rackup:2
+ >=dev-ruby/rake-12.3.3"
+
+# libev is bundled but with adapations that do not seem to be accepted
+# upstream, so we must use the bundled version :-(
+CDEPEND="
+ >=dev-libs/libuv-1.8.0
+ net-misc/curl[ssl]
+ apache2? ( www-servers/apache[apache2_modules_unixd(+)] )"
+
+RDEPEND="${RDEPEND} ${CDEPEND}"
+DEPEND="${DEPEND} ${CDEPEND}"
+RDEPEND+=" selinux? ( sec-policy/selinux-passenger )"
+
+APACHE2_MOD_CONF="30_mod_${PN}-5.0.0 30_mod_${PN}"
+APACHE2_MOD_DEFINE="PASSENGER"
+
+want_apache2
+
+pkg_setup() {
+ use debug && append-flags -DPASSENGER_DEBUG
+ depend.apache_pkg_setup
+}
+
+all_ruby_prepare() {
+ eapply "${FILESDIR}"/${PN}-5.1.11-gentoo.patch
+
+ # Avoid fixed debugging CFLAGs.
+ sed -e '/debugging_\(c\|cxx\)flags/areturn ""' \
+ -i src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb || die
+
+ # Use sed here so that we can dynamically set the documentation directory.
+ sed -i -e "s:/usr/share/doc/passenger:/usr/share/doc/${P}:" \
+ -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ src/ruby_supportlib/phusion_passenger.rb || die
+ sed -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ -i src/cxx_supportlib/ResourceLocator.h || die
+
+ # Don't install a tool that won't work in our setup.
+ sed -i -e '/passenger-install-apache2-module/d' src/ruby_supportlib/phusion_passenger/packaging.rb || die
+ rm -f bin/passenger-install-apache2-module || die "Unable to remove unneeded install script."
+
+ # Make sure we use the system-provided version where possible
+ rm -rf src/cxx_supportlib/vendor-copy/libuv || die "Unable to remove vendored code."
+
+ # Fix hard-coded use of AR and RANLIB
+ sed -e "s/ar cru/"$(tc-getAR)" cru/" \
+ -e "s/ranlib/"$(tc-getRANLIB)"/" \
+ -i build/support/cplusplus.rb || die
+
+ # Make sure apache support is not attempted with -apache2
+ if ! use apache2 ; then
+ sed -i -e '/fakeroot/ s/:apache2, //' build/packaging.rb || die
+ fi
+}
+
+all_ruby_compile() {
+ if use apache2 ; then
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ruby -S rake apache2 || die "rake failed"
+ fi
+}
+
+each_ruby_compile() {
+ append-flags -fno-strict-aliasing
+
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake native_support || die "rake failed"
+}
+
+all_ruby_install() {
+ if use apache2 ; then
+ APACHE2_MOD_FILE="${S}/buildout/apache2/mod_${PN}.so"
+ apache-module_src_install
+
+ # Patch in the correct libdir
+ sed -i -e 's:/usr/lib/:/usr/'$(get_libdir)'/:' "${D}${APACHE_MODULES_CONFDIR}/30_mod_${PN}.conf" || die
+ fi
+
+ dodoc CHANGELOG README.md doc/*.md
+}
+
+each_ruby_install() {
+ DISTDIR="${D}" \
+ RUBYLIBDIR="$(ruby_rbconfig_value vendordir)" \
+ RUBYARCHDIR="$(ruby_rbconfig_value archdir)" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_DOCDIR="/usr/share/doc/${P}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake fakeroot || die "rake failed"
+}
diff --git a/www-apache/passenger/passenger-6.1.0.ebuild b/www-apache/passenger/passenger-6.1.0.ebuild
new file mode 100644
index 000000000000..76d29a2aff47
--- /dev/null
+++ b/www-apache/passenger/passenger-6.1.0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+inherit apache-module flag-o-matic ruby-ng toolchain-funcs
+
+DESCRIPTION="Passenger makes deployment of Ruby on Rails applications a breeze"
+HOMEPAGE="https://www.phusionpassenger.com/"
+SRC_URI="https://s3.amazonaws.com/phusion-passenger/releases/${P}.tar.gz"
+
+# Passenger is licensed MIT, but vendored code licenses should also be taken into account.
+LICENSE="Boost-1.0 MIT BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="apache2 debug selinux"
+
+ruby_add_bdepend "dev-ruby/rake"
+
+ruby_add_rdepend "
+ >=dev-ruby/rack-1.6.13:*
+ dev-ruby/rackup:2
+ >=dev-ruby/rake-12.3.3"
+
+# libev is bundled but with adapations that do not seem to be accepted
+# upstream, so we must use the bundled version :-(
+CDEPEND="
+ >=dev-libs/libuv-1.8.0
+ net-misc/curl[ssl]
+ apache2? ( www-servers/apache[apache2_modules_unixd(+)] )"
+
+RDEPEND="${RDEPEND} ${CDEPEND}"
+DEPEND="${DEPEND} ${CDEPEND}"
+RDEPEND+=" selinux? ( sec-policy/selinux-passenger )"
+
+APACHE2_MOD_CONF="30_mod_${PN}-5.0.0 30_mod_${PN}"
+APACHE2_MOD_DEFINE="PASSENGER"
+
+want_apache2
+
+pkg_setup() {
+ use debug && append-flags -DPASSENGER_DEBUG
+ depend.apache_pkg_setup
+}
+
+all_ruby_prepare() {
+ eapply "${FILESDIR}"/${PN}-5.1.11-gentoo.patch
+
+ # Avoid fixed debugging CFLAGs.
+ sed -e '/debugging_\(c\|cxx\)flags/areturn ""' \
+ -i src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb || die
+
+ # Use sed here so that we can dynamically set the documentation directory.
+ sed -i -e "s:/usr/share/doc/passenger:/usr/share/doc/${P}:" \
+ -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ src/ruby_supportlib/phusion_passenger.rb || die
+ sed -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ -i src/cxx_supportlib/ResourceLocator.h || die
+
+ # Don't install a tool that won't work in our setup.
+ sed -i -e '/passenger-install-apache2-module/d' src/ruby_supportlib/phusion_passenger/packaging.rb || die
+ rm -f bin/passenger-install-apache2-module || die "Unable to remove unneeded install script."
+
+ # Make sure we use the system-provided version where possible
+ rm -rf src/cxx_supportlib/vendor-copy/libuv || die "Unable to remove vendored code."
+
+ # Fix hard-coded use of AR and RANLIB
+ sed -e "s/ar cru/"$(tc-getAR)" cru/" \
+ -e "s/ranlib/"$(tc-getRANLIB)"/" \
+ -i build/support/cplusplus.rb || die
+
+ # Make sure apache support is not attempted with -apache2
+ if ! use apache2 ; then
+ sed -i -e '/fakeroot/ s/:apache2, //' build/packaging.rb || die
+ fi
+}
+
+all_ruby_compile() {
+ if use apache2 ; then
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ruby -S rake apache2 || die "rake failed"
+ fi
+}
+
+each_ruby_compile() {
+ append-flags -fno-strict-aliasing
+
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake native_support || die "rake failed"
+}
+
+all_ruby_install() {
+ if use apache2 ; then
+ APACHE2_MOD_FILE="${S}/buildout/apache2/mod_${PN}.so"
+ apache-module_src_install
+
+ # Patch in the correct libdir
+ sed -i -e 's:/usr/lib/:/usr/'$(get_libdir)'/:' "${D}${APACHE_MODULES_CONFDIR}/30_mod_${PN}.conf" || die
+ fi
+
+ dodoc CHANGELOG README.md doc/*.md
+}
+
+each_ruby_install() {
+ DISTDIR="${D}" \
+ RUBYLIBDIR="$(ruby_rbconfig_value vendordir)" \
+ RUBYARCHDIR="$(ruby_rbconfig_value archdir)" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_DOCDIR="/usr/share/doc/${P}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake fakeroot || die "rake failed"
+}
diff --git a/www-apache/passenger/passenger-6.1.1.ebuild b/www-apache/passenger/passenger-6.1.1.ebuild
new file mode 100644
index 000000000000..42c4ed5aaf0c
--- /dev/null
+++ b/www-apache/passenger/passenger-6.1.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34 ruby40"
+
+inherit apache-module flag-o-matic ruby-ng toolchain-funcs
+
+DESCRIPTION="Passenger makes deployment of Ruby on Rails applications a breeze"
+HOMEPAGE="https://www.phusionpassenger.com/"
+SRC_URI="https://s3.amazonaws.com/phusion-passenger/releases/${P}.tar.gz"
+
+# Passenger is licensed MIT, but vendored code licenses should also be taken into account.
+LICENSE="Boost-1.0 MIT BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="apache2 debug selinux"
+
+ruby_add_bdepend "dev-ruby/rake"
+
+ruby_add_rdepend "
+ >=dev-ruby/rack-1.6.13:*
+ dev-ruby/rackup:2
+ >=dev-ruby/rake-12.3.3"
+
+# libev is bundled but with adapations that do not seem to be accepted
+# upstream, so we must use the bundled version :-(
+CDEPEND="
+ >=dev-libs/libuv-1.8.0
+ net-misc/curl[ssl]
+ apache2? ( www-servers/apache[apache2_modules_unixd(+)] )"
+
+RDEPEND="${RDEPEND} ${CDEPEND}"
+DEPEND="${DEPEND} ${CDEPEND}"
+RDEPEND+=" selinux? ( sec-policy/selinux-passenger )"
+
+APACHE2_MOD_CONF="30_mod_${PN}-5.0.0 30_mod_${PN}"
+APACHE2_MOD_DEFINE="PASSENGER"
+
+want_apache2
+
+pkg_setup() {
+ use debug && append-flags -DPASSENGER_DEBUG
+ depend.apache_pkg_setup
+}
+
+all_ruby_prepare() {
+ eapply "${FILESDIR}"/${PN}-5.1.11-gentoo.patch
+
+ # Avoid fixed debugging CFLAGs.
+ sed -e '/debugging_\(c\|cxx\)flags/areturn ""' \
+ -i src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb || die
+
+ # Use sed here so that we can dynamically set the documentation directory.
+ sed -i -e "s:/usr/share/doc/passenger:/usr/share/doc/${P}:" \
+ -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ src/ruby_supportlib/phusion_passenger.rb || die
+ sed -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
+ -i src/cxx_supportlib/ResourceLocator.h || die
+
+ # Don't install a tool that won't work in our setup.
+ sed -i -e '/passenger-install-apache2-module/d' src/ruby_supportlib/phusion_passenger/packaging.rb || die
+ rm -f bin/passenger-install-apache2-module || die "Unable to remove unneeded install script."
+
+ # Make sure we use the system-provided version where possible
+ rm -rf src/cxx_supportlib/vendor-copy/libuv || die "Unable to remove vendored code."
+
+ # Fix hard-coded use of AR and RANLIB
+ sed -e "s/ar cru/"$(tc-getAR)" cru/" \
+ -e "s/ranlib/"$(tc-getRANLIB)"/" \
+ -i build/support/cplusplus.rb || die
+
+ # Make sure apache support is not attempted with -apache2
+ if ! use apache2 ; then
+ sed -i -e '/fakeroot/ s/:apache2, //' build/packaging.rb || die
+ fi
+}
+
+all_ruby_compile() {
+ if use apache2 ; then
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ruby -S rake apache2 || die "rake failed"
+ fi
+}
+
+each_ruby_compile() {
+ append-flags -fno-strict-aliasing
+
+ V=1 EXTRA_LDFLAGS="${LDFLAGS}" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake native_support || die "rake failed"
+}
+
+all_ruby_install() {
+ if use apache2 ; then
+ APACHE2_MOD_FILE="${S}/buildout/apache2/mod_${PN}.so"
+ apache-module_src_install
+
+ # Patch in the correct libdir
+ sed -i -e 's:/usr/lib/:/usr/'$(get_libdir)'/:' "${D}${APACHE_MODULES_CONFDIR}/30_mod_${PN}.conf" || die
+ fi
+
+ dodoc CHANGELOG README.md doc/*.md
+}
+
+each_ruby_install() {
+ DISTDIR="${D}" \
+ RUBYLIBDIR="$(ruby_rbconfig_value vendordir)" \
+ RUBYARCHDIR="$(ruby_rbconfig_value archdir)" \
+ APXS2="${APXS}" \
+ HTTPD="${APACHE_BIN}" \
+ FS_DOCDIR="/usr/share/doc/${P}" \
+ FS_LIBDIR='/usr/'$(get_libdir) \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ USE_VENDORED_LIBUV="no" LIBUV_LIBS="-luv" \
+ RANLIB=$(tc-getRANLIB) \
+ ${RUBY} -S rake fakeroot || die "rake failed"
+}