Re: git: 15b1da831b7c - main - lang/sbcl: Add aarch64 support

From: Kirill Ponomarev <kp_at_krion.cc>
Date: Tue, 03 May 2022 06:33:18 UTC
On 05/03, Mikaël Urankar wrote:
> On 03/05/2022 08:25, Kirill Ponomarev wrote:
> > On 05/03, Mikaël Urankar wrote:
> >> On 03/05/2022 08:02, Kirill Ponomarev wrote:
> >>> Did you test it before you merged it? It seems tarballs in distinfo are
> >>> missing.
> >>>
> >>> On 05/03, Mikael Urankar wrote:
> >>>> The branch main has been updated by mikael:
> >>>>
> >>>> URL:https://cgit.FreeBSD.org/ports/commit/?id=15b1da831b7cbebe2762fccebcfb3b0d50b27fc9
> >>>>
> >>>> commit 15b1da831b7cbebe2762fccebcfb3b0d50b27fc9
> >>>> Author:     Mikael Urankar<mikael@FreeBSD.org>
> >>>> AuthorDate: 2022-04-04 11:00:54 +0000
> >>>> Commit:     Mikael Urankar<mikael@FreeBSD.org>
> >>>> CommitDate: 2022-05-03 05:22:17 +0000
> >>>>
> >>>>       lang/sbcl: Add aarch64 support
> >>>>       
> >>>>       PR:             261096
> >>>>       Reported by:    Robert Clausecker
> >>>>       Approved by:    krion (maintainer timeout)
> >>>> ---
> >>>>    lang/sbcl/Makefile | 15 ++++++++++-----
> >>>>    1 file changed, 10 insertions(+), 5 deletions(-)
> >>>>
> >>>> diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
> >>>> index 5266d38ca984..b857d293f8f1 100644
> >>>> --- a/lang/sbcl/Makefile
> >>>> +++ b/lang/sbcl/Makefile
> >>>> @@ -18,7 +18,7 @@ LICENSE=	BSD2CLAUSE PD
> >>>>    LICENSE_COMB=	dual
> >>>>    LICENSE_FILE=	${WRKSRC}/COPYING
> >>>>    
> >>>> -ONLY_FOR_ARCHS=	amd64 i386
> >>>> +ONLY_FOR_ARCHS=	aarch64 amd64 i386
> >>>>    
> >>>>    LIB_DEPENDS=	libgmp.so:math/gmp \
> >>>>    		libmpfr.so:math/mpfr
> >>>> @@ -75,6 +75,8 @@ SAFEPOINT_VARS_OFF=	MAKE_SH_ARGS+="--without-sb-safepoint --without-sb-thruption
> >>>>    SBCL_DISTFILES=	${PORTNAME}-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}-binary${EXTRACT_SUFX}:binaries
> >>>>    SBCL_VARS=	XC_HOST="${BOOT_WRKSRC}/src/runtime/sbcl --core ${BOOT_WRKSRC}/output/sbcl.core --noinform --disable-debugger --no-sysinit --no-userinit"
> >>>>    
> >>>> +XC_HOST="ecl"
> >>>> +
> >>>>    THREADS_VARS=		MAKE_SH_ARGS+="--with-sb-thread"
> >>>>    THREADS_VARS_OFF=	MAKE_SH_ARGS+="--without-sb-thread"
> >>>>    
> >>>> @@ -87,7 +89,10 @@ XREF_VARS_OFF=	MAKE_SH_ARGS+="--without-sb-xref-for-internals"
> >>>>    ZLIB_VARS=	MAKE_SH_ARGS+="--with-sb-core-compression"
> >>>>    ZLIB_VARS_OFF=	MAKE_SH_ARGS+="--without-sb-core-compression"
> >>>>    
> >>>> -BOOTVERSION=	1.2.7
> >>>> +BOOTVERSION=		${BOOTVERSION_${ARCH}}
> >>>> +BOOTVERSION_aarch64=	2.2.0
> >>>> +BOOTVERSION_i386=	1.2.7
> >>>> +BOOTVERSION_amd64=	1.2.7
> >>>>    CONMODULES=	asdf sb-aclrepl sb-bsd-sockets sb-cltl2 sb-concurrency sb-cover \
> >>>>    		sb-executable sb-gmp sb-grovel sb-introspect sb-md5 sb-mpfr \
> >>>>    		sb-posix sb-queue sb-rotate-byte sb-rt sb-simple-streams \
> >>>> @@ -98,12 +103,12 @@ MAKE_SH_ARGS?=	--prefix="${PREFIX}" --xc-host="${XC_HOST}"
> >>>>    .if defined(DYNAMIC_SPACE_SIZE)
> >>>>    MAKE_SH_ARGS+=	--dynamic-space-size=${DYNAMIC_SPACE_SIZE}
> >>>>    .endif
> >>>> -SBCL_BOOT_LIST=	${BOOTVERSION}-x86-64-freebsd ${BOOTVERSION}-x86-freebsd \
> >>>> -		${BOOTVERSION}-x86-64-dragonfly
> >>>> +SBCL_BOOT_LIST=	${BOOTVERSION}-arm64-freebsd ${BOOTVERSION}-x86-64-freebsd ${BOOTVERSION}-x86-freebsd \
> >>>> +		${BOOTVERSION}-x86-64-dragonfly \
> >>>>    
> >>>>    .include <bsd.port.options.mk>
> >>>>    
> >>>> -ARCHOS_PATTERN=	*-${ARCH:S/amd64/x86-64/:S/i386/x86/}-${OPSYS:tl}*
> >>>> +ARCHOS_PATTERN=	*-${ARCH:S/aarch64/arm64/:S/amd64/x86-64/:S/i386/x86/}-${OPSYS:tl}*
> >>>>    BOOT_WRKSRC=	${WRKDIR}/${PORTNAME}-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}
> >>>>    
> >>>>    .if ${PORT_OPTIONS:MLINKABLE_RUNTIME}
> >> yes, I've done a poudriere testport before the commit on both aarch64 and amd64.
> >> The testport was successfull on both arch
> >> I got a merged conflict and forgot to readd the distinfo for aarch64
> >> It's fixed in 1e4acb02a9bfdf003e20dd6627e2f49beeaa12e5
> > What I meant is did you test sbcl functionality on arm64, not building
> > it on poudriere.
> 
> What do you mean? sbcl building itself is not a good test?

No, not really.