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) || \