commit:     794e3dca81a22db884eaeb45c2b7e413d6dbaf2e
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Tue Jul 19 15:01:43 2022 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 07:51:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=794e3dca

app-admin/apache-tools: Fix the build with rlibtool

The apache-tools-2.4.7-Makefile.patch is reimplemented since the
existing patch is wrong. The binaries are already installed in
build/rules.mk and with the patch they were being installed twice
where the second instance overwrites the binaries with the slibtool
wrapper scripts.

Bug: https://bugs.gentoo.org/858833
Signed-off-by: orbea <orbea <AT> riseup.net>
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 .../apache-tools/apache-tools-2.4.54-r2.ebuild     | 109 +++++++++++++++++++++
 .../files/apache-tools-2.4.54-Makefile.patch       |  37 +++++++
 .../files/apache-tools-2.4.54-libtool.patch        |  21 ++++
 3 files changed, 167 insertions(+)

diff --git a/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild 
b/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild
new file mode 100644
index 000000000000..e12bf1fadeae
--- /dev/null
+++ b/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
+HOMEPAGE="https://httpd.apache.org/";
+SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris 
~x64-solaris"
+IUSE="ssl"
+RESTRICT="test"
+
+RDEPEND=">=dev-libs/apr-1.5.0:1=
+       dev-libs/apr-util:1=
+       dev-libs/expat
+       dev-libs/libpcre
+       virtual/libcrypt:=
+       kernel_linux? ( sys-apps/util-linux )
+       ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}
+       sys-devel/libtool"
+BDEPEND="
+       virtual/pkgconfig
+"
+
+S="${WORKDIR}/httpd-${PV}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.4.54-Makefile.patch" #459446
+       "${FILESDIR}/${PN}-2.4.54-no-which.patch" #844868
+       "${FILESDIR}/${PN}-2.4.54-libtool.patch" #858833
+)
+
+src_prepare() {
+       default
+
+       # This package really should upgrade to using pcre's .pc file.
+       cat <<-\EOF >"${T}"/pcre-config
+       #!/bin/bash
+       flags=()
+       for flag; do
+               if [[ ${flag} == "--version" ]]; then
+                       flags+=( --modversion )
+               else
+                       flags+=( "${flag}" )
+               fi
+       done
+       exec ${PKG_CONFIG} libpcre "${flags[@]}"
+       EOF
+       chmod a+x "${T}"/pcre-config || die
+
+       # Only here for libtool and which patches
+       eautoreconf
+}
+
+src_configure() {
+       # Brain dead check.
+       tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
+
+       tc-export PKG_CONFIG
+
+       local myeconfargs=(
+               --libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
+               --sbindir="${EPREFIX}"/usr/sbin
+               --with-z="${EPREFIX}"/usr
+               --with-apr="${ESYSROOT}"/usr
+               --with-apr-util="${ESYSROOT}"/usr
+               --with-pcre="${T}"/pcre-config
+               $(use_enable ssl)
+               $(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
+       )
+       # econf overwrites the stuff from config.layout.
+       ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \
+       econf "${myeconfargs[@]}"
+       sed -i \
+               -e '/^LTFLAGS/s:--silent::' \
+               build/rules.mk build/config_vars.mk || die
+}
+
+src_compile() {
+       emake -C support
+}
+
+src_install() {
+       emake -C support DESTDIR="${D}" install
+       dodoc CHANGES
+       doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
+               docs/man/{htcacheclean,rotatelogs}.8
+
+       # Providing compatiblity symlinks for #177697 (which we'll stop to 
install
+       # at some point).
+       pushd "${ED}"/usr/sbin >/dev/null || die
+       local i
+       for i in *; do
+               dosym ${i} /usr/sbin/${i}2
+       done
+       popd >/dev/null || die
+
+       # Provide a symlink for ab-ssl
+       if use ssl ; then
+               dosym ab /usr/bin/ab-ssl
+               dosym ab /usr/bin/ab2-ssl
+       fi
+}

diff --git a/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch 
b/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch
new file mode 100644
index 000000000000..882e97a1c26e
--- /dev/null
+++ b/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch
@@ -0,0 +1,37 @@
+Bug: https://bugs.gentoo.org/459446
+
+From: orbea <[email protected]>
+Date: Tue, 19 Jul 2022 10:42:26 -0700
+Subject: [PATCH] support: Install fewer programs
+
+--- a/support/Makefile.in
++++ b/support/Makefile.in
+@@ -14,27 +14,12 @@ include $(top_builddir)/build/rules.mk
+ 
+ install:
+       @test -d $(DESTDIR)$(bindir) || $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+-      @test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir)
+-      @test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) 
$(DESTDIR)$(libexecdir)
+-      @cp -p $(top_builddir)/server/httpd.exp $(DESTDIR)$(libexecdir)
+-      @for i in apxs dbmmanage; do \
++      @for i in dbmmanage; do \
+           if test -f "$(builddir)/$$i"; then \
+               cp -p $$i $(DESTDIR)$(bindir); \
+               chmod 755 $(DESTDIR)$(bindir)/$$i; \
+           fi ; \
+       done
+-      @for i in apachectl; do \
+-          if test -f "$(builddir)/$$i"; then \
+-              cp -p $$i $(DESTDIR)$(sbindir); \
+-              chmod 755 $(DESTDIR)$(sbindir)/$$i; \
+-          fi ; \
+-      done
+-      @if test -f "$(builddir)/envvars-std"; then \
+-          cp -p envvars-std $(DESTDIR)$(sbindir); \
+-          if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
+-              cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
+-          fi ; \
+-      fi
+ 
+ htpasswd.lo: passwd_common.h
+ passwd_common.lo: passwd_common.h

diff --git a/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch 
b/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch
new file mode 100644
index 000000000000..9cd957c21499
--- /dev/null
+++ b/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/858833
+
+From: orbea <[email protected]>
+Date: Tue, 19 Jul 2022 07:46:36 -0700
+Subject: [PATCH] build: Fix the build with slibtool
+
+Adding LT_INIT to configure.in generates the libtool script in the build
+directory which is required by rlibtool to determine if the build is
+shared or static.
+
+--- a/configure.in
++++ b/configure.in
+@@ -398,7 +398,7 @@ AC_PATH_PROG(RSYNC, rsync)
+ AC_PATH_PROG(SVN, svn)
+ AC_PROG_AWK
+ AC_PROG_LN_S
+-AC_CHECK_TOOL(RANLIB, ranlib, true)
++LT_INIT
+ dnl AC_PATH_PROG(PERL_PATH, perl)
+ AC_CHECK_PROGS(LYNX_PATH,[lynx links elinks], [lynx])
+ 

Reply via email to