diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /www-apache | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'www-apache')
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" +} |
