summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2022-07-19 08:01:43 -0700
committerHans de Graaff <graaff@gentoo.org>2022-07-22 09:51:12 +0200
commit794e3dca81a22db884eaeb45c2b7e413d6dbaf2e (patch)
tree86e7a95283ac497aa1564b6c5097aaeb36c4d7b3 /app-admin
parenteclass/apache-2: Add --disable-static (diff)
downloadgentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.tar.gz
gentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.tar.bz2
gentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.zip
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@riseup.net> Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild109
-rw-r--r--app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch37
-rw-r--r--app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch21
3 files changed, 167 insertions, 0 deletions
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 <orbea@riseup.net>
+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 <orbea@riseup.net>
+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])
+