On 3/5/19 12:11 AM, Jeremie Courreges-Anglas wrote:
> 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).
I don't have a sparc64 machine but a bit ago cwen and I came up with a
similar diff to RAMSize.cpp to fix webkit on macppc (I think we used
sysconf). JavaScript failed at runtime but I think it's better to get a
successful build than not. Same for the gcc-4.9 bits. Those bits are good.
~Brian
> 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