Monday, March 04, 2019

www/webkitgtk4 on sparc64

webkitgtk4 fails to build on sparc64 and powerpc.

http://build-failures.rhaalovely.net//sparc64/2019-02-03/www/webkitgtk4.log
http://build-failures.rhaalovely.net/powerpc/2019-02-04/www/webkitgtk4.log

With the diff below I can successfully build the port on sparc64.
Rationale for the diff:
- patches/patch-Source_WTF_wtf_Platform_h: sparc64 MD code doesn't
expose enough registers to use the HAVE_MACHINE_CONTEXT code path.
- patches/patch-Source_JavaScriptCore_runtime_MachineContext_h: see above
- patches/patch-Source_WTF_wtf_RAMSize_cpp: Linux-only method to get the
amount of ram, use sysctl(2) instead.
- patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h:
std::min/std::max from libestdc++ aren't annotated with "constexpr"
yet so using them in a "constexpr" function fails. This workaround
shouldn't be needed with lang/gcc/8.
- Makefile: I doubt that webkit's JIT works on sh... While here, switch
to https HOMEPAGE/MASTER_SITES.

I haven't tested runtime yet but intend to do so in the next days. The
original motivation is to unlock a bunch of ports:

http://build-failures.rhaalovely.net//sparc64/2019-02-03/summary.log

--8<--
ritchie ~$ grep -c webkitgtk4 summary.log
114
ritchie ~$ wc -l summary.log
296 summary.log
-->8--

The diff could also fix powerpc (cc Charlene).

ok?


Index: Makefile
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/Makefile,v
retrieving revision 1.95
diff -u -p -r1.95 Makefile
--- Makefile 2 Mar 2019 17:08:51 -0000 1.95
+++ Makefile 5 Mar 2019 04:53:07 -0000
@@ -13,6 +13,7 @@ PORTROACH = limitw:1,even
COMMENT = GTK+ port of the WebKit rendering engine

V = 2.22.7
+REVISION = 0
DISTNAME = webkitgtk-${V}
PKGNAME = webkitgtk4-${V}
EXTRACT_SUFX = .tar.xz
@@ -25,7 +26,7 @@ SHARED_LIBS += webkit2gtk-${API}

CATEGORIES = www

-HOMEPAGE = http://webkitgtk.org/
+HOMEPAGE = https://webkitgtk.org/

MAINTAINER = Antoine Jacoutot <ajacoutot@openbsd.org>

@@ -42,7 +43,7 @@ WANTLIB += icui18n icuuc intl jpeg m not
WANTLIB += png16 secret-1 soup-2.4 sqlite3 tasn1 webp webpdemux
WANTLIB += woff2dec xml2 xslt z

-MASTER_SITES = http://webkitgtk.org/releases/
+MASTER_SITES = https://webkitgtk.org/releases/

MODULES = devel/cmake \
lang/python \
@@ -91,8 +92,7 @@ CONFIGURE_ARGS += -DENABLE_PLUGIN_PROCES
# sync with Source/JavaScriptCore/assembler/MacroAssembler.h
.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "amd64" && \
${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "i386" && \
- ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el" && \
- ${MACHINE_ARCH} != "sh"
+ ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el"
# #error "The MacroAssembler is not supported on this platform."
CONFIGURE_ARGS += -DENABLE_JIT=OFF
CONFIGURE_ARGS += -DENABLE_LLINT_C_LOOP=ON
Index: patches/patch-Source_JavaScriptCore_runtime_MachineContext_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MachineContext_h,v
retrieving revision 1.4
diff -u -p -r1.4 patch-Source_JavaScriptCore_runtime_MachineContext_h
--- patches/patch-Source_JavaScriptCore_runtime_MachineContext_h 4 Sep 2018 07:12:47 -0000 1.4
+++ patches/patch-Source_JavaScriptCore_runtime_MachineContext_h 5 Mar 2019 04:53:07 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-Source_JavaScriptCore_ru
Index: Source/JavaScriptCore/runtime/MachineContext.h
--- Source/JavaScriptCore/runtime/MachineContext.h.orig
+++ Source/JavaScriptCore/runtime/MachineContext.h
-@@ -188,6 +188,24 @@ static inline void*& stackPointerImpl(mcontext_t& mach
+@@ -188,6 +188,22 @@ static inline void*& stackPointerImpl(mcontext_t& mach
#error Unknown Architecture

No comments:

Post a Comment