summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-06-24 04:20:12 +0100
committerSam James <sam@gentoo.org>2024-06-24 04:20:12 +0100
commita11f317df653e64a0d672366cd6ff4642a2b8ee4 (patch)
tree23f95f48d75e2a782c0d56569daa891cd2536f38 /www-apache
parentgames-arcade/frozen-bubble: fix build w/ perl-5.40 (diff)
downloadgentoo-a11f317df653e64a0d672366cd6ff4642a2b8ee4.tar.gz
gentoo-a11f317df653e64a0d672366cd6ff4642a2b8ee4.tar.bz2
gentoo-a11f317df653e64a0d672366cd6ff4642a2b8ee4.zip
www-apache/libapreq2: EAPI 8, fix runtime w/ BIND_NOW
Closes: https://bugs.gentoo.org/934379 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'www-apache')
-rw-r--r--www-apache/libapreq2/files/libapreq2-2.08-fix-linkage.patch51
-rw-r--r--www-apache/libapreq2/libapreq2-2.17-r1.ebuild83
2 files changed, 134 insertions, 0 deletions
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..c379b136f230
--- /dev/null
+++ b/www-apache/libapreq2/libapreq2-2.17-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 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
+}