1 |
commit: 54055f7d61bcc77b6c0dae8dd73d7cc6c38ffee0 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Sep 10 00:22:33 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Sep 10 00:22:41 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54055f7d |
7 |
|
8 |
sys-devel/autoconf: fix build with make-9999 (4.4) |
9 |
|
10 |
Closes: https://bugs.gentoo.org/869257 |
11 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
12 |
|
13 |
sys-devel/autoconf/autoconf-2.71-r2.ebuild | 84 ++++++++++++++++++++++ |
14 |
.../autoconf/files/autoconf-2.71-make-4.4.patch | 25 +++++++ |
15 |
2 files changed, 109 insertions(+) |
16 |
|
17 |
diff --git a/sys-devel/autoconf/autoconf-2.71-r2.ebuild b/sys-devel/autoconf/autoconf-2.71-r2.ebuild |
18 |
new file mode 100644 |
19 |
index 000000000000..aa7f260aed6d |
20 |
--- /dev/null |
21 |
+++ b/sys-devel/autoconf/autoconf-2.71-r2.ebuild |
22 |
@@ -0,0 +1,84 @@ |
23 |
+# Copyright 1999-2022 Gentoo Authors |
24 |
+# Distributed under the terms of the GNU General Public License v2 |
25 |
+ |
26 |
+EAPI=7 |
27 |
+ |
28 |
+if [[ ${PV} == 9999 ]] ; then |
29 |
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/autoconf.git" |
30 |
+ inherit git-r3 |
31 |
+else |
32 |
+ # For _beta handling replace with real version number |
33 |
+ MY_PV="${PV}" |
34 |
+ MY_P="${PN}-${MY_PV}" |
35 |
+ #PATCH_TARBALL_NAME="${PN}-2.70-patches-01" |
36 |
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz |
37 |
+ https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" |
38 |
+ #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz" |
39 |
+ |
40 |
+ if ! [[ ${PV} == *_beta* ]] ; then |
41 |
+ 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" |
42 |
+ fi |
43 |
+ S="${WORKDIR}"/${MY_P} |
44 |
+fi |
45 |
+ |
46 |
+inherit toolchain-autoconf |
47 |
+ |
48 |
+DESCRIPTION="Used to create autoconfiguration files" |
49 |
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html" |
50 |
+ |
51 |
+LICENSE="GPL-3" |
52 |
+SLOT="${PV/_*}" |
53 |
+IUSE="emacs" |
54 |
+ |
55 |
+# for 2.71, our Perl time resolution patch changes our min Perl from 5.6 |
56 |
+# (vanilla upstream for 2.71) to 5.8. |
57 |
+BDEPEND=">=sys-devel/m4-1.4.16 |
58 |
+ >=dev-lang/perl-5.8" |
59 |
+RDEPEND="${BDEPEND} |
60 |
+ >=sys-devel/autoconf-wrapper-15 |
61 |
+ sys-devel/gnuconfig |
62 |
+ !~sys-devel/${P}:2.5" |
63 |
+[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3" |
64 |
+PDEPEND="emacs? ( app-emacs/autoconf-mode )" |
65 |
+ |
66 |
+PATCHES=( |
67 |
+ "${FILESDIR}"/${P}-time.patch |
68 |
+ "${FILESDIR}"/${P}-make-4.4.patch |
69 |
+) |
70 |
+ |
71 |
+src_prepare() { |
72 |
+ # usr/bin/libtool is provided by binutils-apple, need gnu libtool |
73 |
+ if [[ ${CHOST} == *-darwin* ]] ; then |
74 |
+ PATCHES+=( "${FILESDIR}"/${PN}-2.71-darwin.patch ) |
75 |
+ fi |
76 |
+ |
77 |
+ # Save timestamp to avoid later makeinfo call |
78 |
+ touch -r doc/{,old_}autoconf.texi || die |
79 |
+ |
80 |
+ local pdir |
81 |
+ for pdir in "${WORKDIR}"/{upstream_,}patches ; do |
82 |
+ if [[ -d "${pdir}" ]] ; then |
83 |
+ eapply ${pdir} |
84 |
+ fi |
85 |
+ done |
86 |
+ |
87 |
+ toolchain-autoconf_src_prepare |
88 |
+ |
89 |
+ # Restore timestamp to avoid makeinfo call |
90 |
+ # We already have an up to date autoconf.info page at this point. |
91 |
+ touch -r doc/{old_,}autoconf.texi || die |
92 |
+} |
93 |
+ |
94 |
+src_test() { |
95 |
+ emake check |
96 |
+} |
97 |
+ |
98 |
+src_install() { |
99 |
+ toolchain-autoconf_src_install |
100 |
+ |
101 |
+ local f |
102 |
+ for f in config.{guess,sub} ; do |
103 |
+ ln -fs ../../gnuconfig/${f} \ |
104 |
+ "${ED}"/usr/share/autoconf-*/build-aux/${f} || die |
105 |
+ done |
106 |
+} |
107 |
|
108 |
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 |
109 |
new file mode 100644 |
110 |
index 000000000000..4dcf05996180 |
111 |
--- /dev/null |
112 |
+++ b/sys-devel/autoconf/files/autoconf-2.71-make-4.4.patch |
113 |
@@ -0,0 +1,25 @@ |
114 |
+https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=31f673434ee402258b45e958c88acc8725d82b1a |
115 |
+https://savannah.gnu.org/bugs/?63040 |
116 |
+https://bugs.gentoo.org/869257 |
117 |
+ |
118 |
+From 31f673434ee402258b45e958c88acc8725d82b1a Mon Sep 17 00:00:00 2001 |
119 |
+From: Paul Eggert <eggert@×××××××.edu> |
120 |
+Date: Fri, 9 Sep 2022 16:54:11 -0500 |
121 |
+Subject: Port to GNU make 4.4 |
122 |
+ |
123 |
+* cfg.mk (PATH): Assign eagerly, and simplify shell use, avoiding |
124 |
+use of the shell entirely if PWD is set, as it should be. |
125 |
+Problem reported by Sergei Trofimovich in: |
126 |
+https://lists.gnu.org/r/autoconf-patches/2022-09/msg00007.html |
127 |
+--- a/cfg.mk |
128 |
++++ b/cfg.mk |
129 |
+@@ -18,7 +18,7 @@ |
130 |
+ # This file is '-include'd into GNUmakefile. |
131 |
+ |
132 |
+ # Build with our own versions of these tools, when possible. |
133 |
+-export PATH = $(shell echo "`pwd`/tests:$$PATH") |
134 |
++export PATH := $(or $(PWD),$(shell pwd))/tests:$(PATH) |
135 |
+ |
136 |
+ # Remove the autoreconf-provided INSTALL, so that we regenerate it. |
137 |
+ _autoreconf = autoreconf -i -v && rm -f INSTALL |
138 |
+cgit v1.1 |