commit:     54055f7d61bcc77b6c0dae8dd73d7cc6c38ffee0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 00:22:33 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 00:22:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54055f7d

sys-devel/autoconf: fix build with make-9999 (4.4)

Closes: https://bugs.gentoo.org/869257
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/autoconf/autoconf-2.71-r2.ebuild         | 84 ++++++++++++++++++++++
 .../autoconf/files/autoconf-2.71-make-4.4.patch    | 25 +++++++
 2 files changed, 109 insertions(+)

diff --git a/sys-devel/autoconf/autoconf-2.71-r2.ebuild 
b/sys-devel/autoconf/autoconf-2.71-r2.ebuild
new file mode 100644
index 000000000000..aa7f260aed6d
--- /dev/null
+++ b/sys-devel/autoconf/autoconf-2.71-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git";
+       inherit git-r3
+else
+       # For _beta handling replace with real version number
+       MY_PV="${PV}"
+       MY_P="${PN}-${MY_PV}"
+       #PATCH_TARBALL_NAME="${PN}-2.70-patches-01"
+       SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+               https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
+       #SRC_URI+=" 
https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz";
+
+       if ! [[ ${PV} == *_beta* ]] ; then
+               KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k 
~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux 
~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+       fi
+       S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain-autoconf
+
+DESCRIPTION="Used to create autoconfiguration files"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html";
+
+LICENSE="GPL-3"
+SLOT="${PV/_*}"
+IUSE="emacs"
+
+# for 2.71, our Perl time resolution patch changes our min Perl from 5.6
+# (vanilla upstream for 2.71) to 5.8.
+BDEPEND=">=sys-devel/m4-1.4.16
+       >=dev-lang/perl-5.8"
+RDEPEND="${BDEPEND}
+       >=sys-devel/autoconf-wrapper-15
+       sys-devel/gnuconfig
+       !~sys-devel/${P}:2.5"
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
+PDEPEND="emacs? ( app-emacs/autoconf-mode )"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-time.patch
+       "${FILESDIR}"/${P}-make-4.4.patch
+)
+
+src_prepare() {
+       # usr/bin/libtool is provided by binutils-apple, need gnu libtool
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               PATCHES+=( "${FILESDIR}"/${PN}-2.71-darwin.patch )
+       fi
+
+       # Save timestamp to avoid later makeinfo call
+       touch -r doc/{,old_}autoconf.texi || die
+
+       local pdir
+       for pdir in "${WORKDIR}"/{upstream_,}patches ; do
+               if [[ -d "${pdir}" ]] ; then
+                       eapply ${pdir}
+               fi
+       done
+
+       toolchain-autoconf_src_prepare
+
+       # Restore timestamp to avoid makeinfo call
+       # We already have an up to date autoconf.info page at this point.
+       touch -r doc/{old_,}autoconf.texi || die
+}
+
+src_test() {
+       emake check
+}
+
+src_install() {
+       toolchain-autoconf_src_install
+
+       local f
+       for f in config.{guess,sub} ; do
+               ln -fs ../../gnuconfig/${f} \
+                       "${ED}"/usr/share/autoconf-*/build-aux/${f} || die
+       done
+}

diff --git a/sys-devel/autoconf/files/autoconf-2.71-make-4.4.patch 
b/sys-devel/autoconf/files/autoconf-2.71-make-4.4.patch
new file mode 100644
index 000000000000..4dcf05996180
--- /dev/null
+++ b/sys-devel/autoconf/files/autoconf-2.71-make-4.4.patch
@@ -0,0 +1,25 @@
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=31f673434ee402258b45e958c88acc8725d82b1a
+https://savannah.gnu.org/bugs/?63040
+https://bugs.gentoo.org/869257
+
+From 31f673434ee402258b45e958c88acc8725d82b1a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <[email protected]>
+Date: Fri, 9 Sep 2022 16:54:11 -0500
+Subject: Port to GNU make 4.4
+
+* cfg.mk (PATH): Assign eagerly, and simplify shell use, avoiding
+use of the shell entirely if PWD is set, as it should be.
+Problem reported by Sergei Trofimovich in:
+https://lists.gnu.org/r/autoconf-patches/2022-09/msg00007.html
+--- a/cfg.mk
++++ b/cfg.mk
+@@ -18,7 +18,7 @@
+ # This file is '-include'd into GNUmakefile.
+ 
+ # Build with our own versions of these tools, when possible.
+-export PATH = $(shell echo "`pwd`/tests:$$PATH")
++export PATH := $(or $(PWD),$(shell pwd))/tests:$(PATH)
+ 
+ # Remove the autoreconf-provided INSTALL, so that we regenerate it.
+ _autoreconf = autoreconf -i -v && rm -f INSTALL
+cgit v1.1

Reply via email to