diff --git a/webkit2gtk3-fix-i586-build.patch b/webkit2gtk3-fix-i586-build.patch new file mode 100644 index 0000000..d7f4f16 --- /dev/null +++ b/webkit2gtk3-fix-i586-build.patch @@ -0,0 +1,89 @@ +Index: /trunk/CMakeLists.txt +=================================================================== +--- /trunk/CMakeLists.txt (revision 244137) ++++ /trunk/CMakeLists.txt (revision 244138) +@@ -115,14 +115,4 @@ + endif () + +-#--------------------------- +-# Make sure SSE2 is present. +-#--------------------------- +-if (WTF_CPU_X86) +- include(FindSSE2) +- if (NOT SSE2_SUPPORT_FOUND) +- message(FATAL_ERROR "SSE2 support is required to compile WebKit") +- endif () +-endif () +- + # ----------------------------------------------------------------------------- + # Determine the operating system +Index: /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp +=================================================================== +--- /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp (revision 244137) ++++ /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp (revision 244138) +@@ -168,4 +168,9 @@ + static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline"); + static_assert((PROBE_EXECUTOR_OFFSET + PTR_SIZE) <= (PROBE_SIZE + OUT_SIZE), "Must have room after ProbeContext to stash the probe handler"); ++ ++#if CPU(X86) ++// SSE2 is a hard requirement on x86. ++static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore"); ++#endif + + #undef PROBE_OFFSETOF +@@ -788,4 +793,5 @@ + { + CPUID cpuid = getCPUID(0x1); ++ s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; +@@ -804,4 +810,5 @@ + } + ++MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked; +Index: /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +=================================================================== +--- /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h (revision 244137) ++++ /trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h (revision 244138) +@@ -4198,4 +4198,33 @@ + #endif + ++#if CPU(X86) ++#if OS(MAC_OS_X) ++ ++ // All X86 Macs are guaranteed to support at least SSE2, ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#else // OS(MAC_OS_X) ++ static bool isSSE2Present() ++ { ++ if (s_sse2CheckState == CPUIDCheckState::NotChecked) ++ collectCPUFeatures(); ++ return s_sse2CheckState == CPUIDCheckState::Set; ++ } ++ ++#endif // OS(MAC_OS_X) ++#elif !defined(NDEBUG) // CPU(X86) ++ ++ // On x86-64 we should never be checking for SSE2 in a non-debug build, ++ // but non debug add this method to keep the asserts above happy. ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#endif ++ + using CPUID = std::array; + static CPUID getCPUID(unsigned level); +@@ -4203,4 +4232,5 @@ + JS_EXPORT_PRIVATE static void collectCPUFeatures(); + ++ JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState; diff --git a/webkit2gtk3.changes b/webkit2gtk3.changes index 9aee254..6f5241c 100644 --- a/webkit2gtk3.changes +++ b/webkit2gtk3.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 15 11:06:10 UTC 2019 - Dominique Leuenberger + +- Add webkit2gtk3-fix-i586-build.patch: Fix build on i586. + ------------------------------------------------------------------- Wed Apr 10 21:50:50 UTC 2019 - Bjørn Lie diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index c7f0e2c..1667b2c 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -32,7 +32,7 @@ %define _gold_linker 0 %endif %else -%ifarch ppc s390 +%ifarch ppc s390 %define _gold_linker 0 %endif %endif @@ -52,9 +52,10 @@ Source0: https://webkitgtk.org/releases/%{_name}-%{version}.tar.xz Source1: https://webkitgtk.org/releases/%{_name}-%{version}.tar.xz.asc Source98: baselibs.conf Source99: webkit2gtk3.keyring +# PATCH-FIX-UPSTREAM webkit2gtk3-fix-i586-build.patch dimstar@opensuse.org -- Fix build on i586, taken from upstream https://trac.webkit.org/changeset/244138/webkit +Patch0: webkit2gtk3-fix-i586-build.patch # PATCH-FIX-UPSTREAM webkit2gtk3-boo1088932-a11y-state-set.patch boo#1088932 webkit#184366 mgorse@suse.com -- fix crash when atk_object_ref_state_set is called on an AtkObject that's being destroyed Patch1: webkit2gtk3-boo1088932-a11y-state-set.patch - BuildRequires: Mesa-libEGL-devel BuildRequires: Mesa-libGL-devel BuildRequires: Mesa-libGLESv1_CM-devel @@ -64,21 +65,12 @@ BuildRequires: bison >= 2.3 #BuildRequires: bubblewrap BuildRequires: cmake BuildRequires: enchant-devel -%if 0%{?suse_version} == 1315 -BuildRequires: gcc7-c++ -%else -BuildRequires: gcc-c++ >= 4.9 -%endif BuildRequires: gobject-introspection-devel BuildRequires: gperf >= 3.0.1 BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: ninja -%if 0%{?suse_version} >= 1500 -BuildRequires: openjpeg2 -BuildRequires: openjpeg2-devel -%endif BuildRequires: perl >= 5.10.0 BuildRequires: pkgconfig BuildRequires: ruby >= 1.8.7 @@ -112,15 +104,24 @@ BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libsoup-2.4) >= 2.61.90 BuildRequires: pkgconfig(libwebp) -%if 0%{?suse_version} > 1500 -BuildRequires: pkgconfig(libwoff2dec) -%endif BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0 BuildRequires: pkgconfig(libxslt) >= 1.1.7 BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(zlib) +%if 0%{?suse_version} == 1315 +BuildRequires: gcc7-c++ +%else +BuildRequires: gcc-c++ >= 4.9 +%endif +%if 0%{?suse_version} >= 1500 +BuildRequires: openjpeg2 +BuildRequires: openjpeg2-devel +%endif +%if 0%{?suse_version} > 1500 +BuildRequires: pkgconfig(libwoff2dec) +%endif %if %{with python3} BuildRequires: python3 %else @@ -290,6 +291,7 @@ A small test browswer from webkit, useful for testing features. %prep %setup -q -n webkitgtk-%{version} +%patch0 -p2 %patch1 -p1 %build