Index | Thread | Search

From:
Antoine Jacoutot <ajacoutot@bsdfrog.org>
Subject:
Re: www/webkitgtk4: Fix build on sparc64
To:
kurt@intricatesoftware.com, ajacoutot@openbsd.org, ports@openbsd.org
Date:
Mon, 16 Dec 2024 07:47:22 +0100

Download raw body.

Thread
On December 16, 2024 3:10:30 AM GMT+01:00, kurt@intricatesoftware.com wrote:
>www/webkitgtk4 failed to configure on sparc64 with:
>
>  GCC 11.2 or newer is required to build WebKit.  Use a newer GCC version or
>  Clang.
>
>sparc64 doesn't have working gcc 11 but does have ports-clang. Changing
>COMPILER to base-clang ports-clang ports-gcc gets past the configure
>check. The only other issue I hit during the build was _Float16 is not
>supported on sparc64. The neon.h patch fixed that. 
>
>I noticed alpha and hppa were marked broken due to the old gcc version,
>so I set MODGCC4_VERSION to 11 but only when not usng clang. If set
>all the time, the sparc64 build picks up gcc 11's libstdc++ instead of
>gcc 8. This change should allow alpha and hppa to get through the configure
>stage at least so I removed the broken markers. If they are still 
>broken after using gcc 11 then we can put back the broken marker with
>the new errors.
>
>okay?
>
>Index: Makefile
>===================================================================
>RCS file: /cvs/ports/www/webkitgtk4/Makefile,v
>retrieving revision 1.225
>diff -u -p -u -r1.225 Makefile
>--- Makefile	1 Dec 2024 11:52:46 -0000	1.225
>+++ Makefile	14 Dec 2024 15:14:04 -0000
>@@ -4,8 +4,6 @@
> USE_WXNEEDED =		Yes
> USE_NOBTCFI =		Yes
> 
>-BROKEN-alpha =		GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang
>-BROKEN-hppa =		GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang
> BROKEN-arm =		JavaScriptCore/runtime/MachineContext.h, various sigcontext-related
> 
> PORTROACH =		limitw:1,even
>@@ -17,6 +15,8 @@ DISTNAME =		webkitgtk-${V}
> PKGNAME =		webkitgtk${API:S/.//}-${V}
> FULLPKGNAME =		${PKGNAME}
> 
>+REVISION =		0
>+
> EXTRACT_SUFX =		.tar.xz
> SUBST_VARS =		API
> DPB_PROPERTIES =	parallel
>@@ -47,7 +47,7 @@ WANTLIB += webp webpdemux webpmux woff2d
> 
> SITES =			https://webkitgtk.org/releases/
> 
>-COMPILER =		base-clang ports-gcc
>+COMPILER =		base-clang ports-clang ports-gcc
> 
> MODULES =		devel/cmake \
> 			lang/python \
>@@ -146,6 +146,18 @@ LIB_DEPENDS +=		devel/epoll-shim
> CXXFLAGS +=		$$(pkg-config --cflags epoll-shim)
> 
> .include <bsd.port.arch.mk>
>+
>+# if we are using ports-gcc then use gcc 11
>+USING_CLANG =		No
>+.for _i in ${CLANG_ARCHS} ${LLVM_ARCHS}
>+.  if !empty(MACHINE_ARCH:M${_i})
>+USING_CLANG =		Yes
>+.  endif
>+.endfor
>+
>+.if ${USING_CLANG:L} == "no"
>+MODGCC4_VERSION =	11
>+.endif
> 
> # disable thin archives for bfd;
> # and set DEBUG=-g1 for GNU ar(1) arches (libWebCoreGTK.a is too big (4.1G)):
>Index: patches/patch-Source_WTF_wtf_simde_arm_neon_h
>===================================================================
>RCS file: patches/patch-Source_WTF_wtf_simde_arm_neon_h
>diff -N patches/patch-Source_WTF_wtf_simde_arm_neon_h
>--- /dev/null	1 Jan 1970 00:00:00 -0000
>+++ patches/patch-Source_WTF_wtf_simde_arm_neon_h	14 Dec 2024 15:14:04 -0000
>@@ -0,0 +1,13 @@
>+clang 16 on sparc64 does not support _Float16
>+
>+Index: Source/WTF/wtf/simde/arm/neon.h
>+--- Source/WTF/wtf/simde/arm/neon.h.orig
>++++ Source/WTF/wtf/simde/arm/neon.h
>+@@ -8787,6 +8787,7 @@ SIMDE_BEGIN_DECLS_
>+   #elif !defined(__EMSCRIPTEN__) && !(defined(__clang__) && defined(SIMDE_ARCH_POWER)) && \
>+     !(defined(HEDLEY_MSVC_VERSION) && defined(__clang__)) && \
>+     !(defined(SIMDE_ARCH_MIPS) && defined(__clang__)) && \
>++    !(defined(SIMDE_ARCH_SPARC) && defined(__clang__)) && \
>+     !(defined(SIMDE_ARCH_ZARCH) && defined(__clang__)) && \
>+     !(defined(__clang__) && defined(SIMDE_ARCH_RISCV64)) && ( \
>+       defined(SIMDE_X86_AVX512FP16_NATIVE) || \

OK. 
--
Antoine