Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: scripts/
Date: Wed, 23 Dec 2020 07:50:59
Message-Id: 1608709829.1e030951dd8c4099e45395e513e3cf73b0c3d69a.grobian@gentoo
1 commit: 1e030951dd8c4099e45395e513e3cf73b0c3d69a
2 Author: Alexei Colin <ac <AT> alexeicolin <DOT> com>
3 AuthorDate: Wed Dec 23 06:18:44 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 23 07:50:29 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=1e030951
7
8 bootstrap-prefix: bump tar to 1.32, apply ioctl patch
9
10 On macOS 11 Big Sur, stage 1 needs to bootstrap tar but fails to build
11 it (both 1.26 and 1.32) because sys/ioctl.h does not end up included:
12
13 compare.c:550:3: error: implicit declaration of function 'ioctl' is
14 invalid in C99 [-Werror,-Wimplicit-function-declaration]
15 ioctl (archive, FDFLUSH);
16
17 Upstream bug report: https://savannah.gnu.org/bugs/index.php?59755
18
19 Closes: https://bugs.gentoo.org/761322
20 Signed-off-by: Alexei Colin <ac <AT> alexeicolin.com>
21 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
22
23 scripts/bootstrap-prefix.sh | 18 +++++++++++++++++-
24 1 file changed, 17 insertions(+), 1 deletion(-)
25
26 diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
27 index c085472a23..3f96bc5e33 100755
28 --- a/scripts/bootstrap-prefix.sh
29 +++ b/scripts/bootstrap-prefix.sh
30 @@ -862,6 +862,22 @@ bootstrap_gnu() {
31 [[ -d ${S} ]] || return 1
32 cd "${S}" || return 1
33
34 + # Tar upstream bug #59755 for broken build on macOS:
35 + # https://savannah.gnu.org/bugs/index.php?59755
36 + if [[ ${PN}-${PV} == "tar-1.32" ]] ; then
37 + local tar_patch_file="tar-1.32-check-sys-ioctl-header-configure.patch"
38 + local tar_patch_id="file_id=50554"
39 + local tar_patch_url="https://file.savannah.gnu.org/file/${tar_patch_file}?${tar_patch_id}"
40 + efetch "${tar_patch_url}" || return 1
41 + # If fetched from upstream url instead of mirror, filename will
42 + # have a suffix. Remove suffix by copy, not move, to not
43 + # trigger refetch on repeated invocations of this script.
44 + if [[ -f "${DISTDIR}/${tar_patch_file}?${tar_patch_id}" ]]; then
45 + cp ${DISTDIR}/${tar_patch_file}{?${tar_patch_id},} || return 1
46 + fi
47 + patch -p1 < ${DISTDIR}/${tar_patch_file} || return 1
48 + fi
49 +
50 if [[ ${PN}-${PV} == "bash-4.3" && ${CHOST} == *-cygwin* ]] ; then
51 local p patchopts
52 for p in \
53 @@ -1309,7 +1325,7 @@ bootstrap_coreutils() {
54 }
55
56 bootstrap_tar() {
57 - bootstrap_gnu tar 1.26
58 + bootstrap_gnu tar 1.32
59 }
60
61 bootstrap_make() {