git: e11dd88cce75 - main - devel/aarch64-none-elf-gcc: Work around aarch64 extraction bug

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Wed, 23 Aug 2023 08:07:15 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e11dd88cce755848a90e711154cf83185f24aa52

commit e11dd88cce755848a90e711154cf83185f24aa52
Author:     Jose Luis Duran <jlduran@gmail.com>
AuthorDate: 2023-08-23 08:06:17 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2023-08-23 08:06:59 +0000

    devel/aarch64-none-elf-gcc: Work around aarch64 extraction bug
    
    Extraction fails with poudriere on aarch64 with the following error:
    
        => SHA256 Checksum OK for gcc-11.3.0.tar.xz.
        tar: Pathname can't be converted from UTF-8 to current locale.
        tar: Pathname can't be converted from UTF-8 to current locale.
        tar: Error exit delayed from previous errors.
    
    Enforcing the use of bsdtar works around the issue.
    The issue is specific to lang/gcc11 and lang/gcc12: no other GCC port is affected.
    
    Apply the same fix used to fix bug #271052.
    
    PR:     273194
---
 devel/aarch64-none-elf-gcc/Makefile | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/devel/aarch64-none-elf-gcc/Makefile b/devel/aarch64-none-elf-gcc/Makefile
index 7e5308d703e3..f1d9fdad1322 100644
--- a/devel/aarch64-none-elf-gcc/Makefile
+++ b/devel/aarch64-none-elf-gcc/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gcc
 PORTVERSION?=	11.3.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 MASTER_SITES=	GCC
 PKGNAMEPREFIX?=	aarch64-none-elf-
@@ -53,6 +53,15 @@ INSTALL_TARGET=	install-gcc install-target-libgcc
 
 .include <bsd.port.pre.mk>
 
+# Extraction fails with poudriere on aarch64 for GCC 11.
+# It seems that the bug is specific to lang/gcc11 and lang/gcc12 only.
+# No other GCC port is affected.
+# See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271052
+# and https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246670
+.if ${ARCH} == aarch64
+EXTRACT_CMD=    ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \
 		${WRKSRC}//gcc/cp/g++spec.c