commit f402839291db2f6442cb178cb8764e5c1207e508 Author: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon Sep 30 11:19:42 2019 -0400 Package init diff --git a/cloop-big-endians.patch b/cloop-big-endians.patch new file mode 100644 index 0000000..7bb12df --- /dev/null +++ b/cloop-big-endians.patch @@ -0,0 +1,30 @@ +diff -up webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp +--- webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 2017-02-07 09:05:07.000000000 +0100 ++++ webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp 2017-06-16 10:34:57.859748036 +0200 +@@ -2186,7 +2186,12 @@ void CodeBlock::finishCreation(VM& vm, S + instructions[i + 5].u.watchpointSet = op.watchpointSet; + else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ + break; + } + +@@ -2222,7 +2227,11 @@ void CodeBlock::finishCreation(VM& vm, S + op.watchpointSet->invalidate(vm, PutToScopeFireDetail(this, ident)); + } else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); + + break; + } diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch new file mode 100644 index 0000000..8a317db --- /dev/null +++ b/fedora-crypto-policy.patch @@ -0,0 +1,24 @@ +diff -up webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +--- webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:39:59.294426661 +0200 ++++ webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-09-05 13:40:09.144389997 +0200 +@@ -43,7 +43,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); + + #if USE(GCRYPT) + PAL::GCrypt::initialize(); +diff -up webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp +--- webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:40:28.558317735 +0200 ++++ webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-09-05 13:40:56.057215378 +0200 +@@ -43,7 +43,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); + + #if USE(GCRYPT) + PAL::GCrypt::initialize(); diff --git a/python2.patch b/python2.patch new file mode 100644 index 0000000..2a04ca3 --- /dev/null +++ b/python2.patch @@ -0,0 +1,38 @@ +From 494e4abb7a5130376d3cdb41a5e3963650b8659f Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Mon, 16 Jul 2018 06:34:53 +0200 +Subject: [PATCH] Fix the broken build due to python2 + +/builddir/build/BUILD/webkitgtk-2.21.4/Tools/gtk/generate-gtkdoc +/usr/bin/env: 'python': No such file or directory +--- + Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl | 2 +- + Tools/gtk/generate-gtkdoc | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl +index 4bb7037d..3071b45f 100755 +--- a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl ++++ b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl +@@ -155,7 +155,7 @@ my $inspectorLicense = <<'EOF'; + EOF + + my $perl = $^X; +-my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python" : "python"; ++my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python2" : "python2"; + my $derivedSourcesDir = $ENV{'DERIVED_SOURCES_DIR'}; + my $scriptsRoot = File::Spec->catdir($ENV{'SRCROOT'}, 'Scripts'); + my $sharedScriptsRoot = File::Spec->catdir($ENV{'JAVASCRIPTCORE_PRIVATE_HEADERS_DIR'}); +diff --git a/Tools/gtk/generate-gtkdoc b/Tools/gtk/generate-gtkdoc +index 45c23dfb..a3f82984 100755 +--- a/Tools/gtk/generate-gtkdoc ++++ b/Tools/gtk/generate-gtkdoc +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python2.7 + # Copyright (C) 2011 Igalia S.L. + # + # This library is free software; you can redistribute it and/or +-- +2.17.1 + diff --git a/user-agent-branding.patch b/user-agent-branding.patch new file mode 100644 index 0000000..d87f3e7 --- /dev/null +++ b/user-agent-branding.patch @@ -0,0 +1,13 @@ +diff -up webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp +--- webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig 2016-10-12 07:59:25.670057792 +0200 ++++ webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp 2016-10-12 08:01:06.251878684 +0200 +@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) + else { + uaString.append(platformForUAString()); + uaString.appendLiteral("; "); ++#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); ++#endif + uaString.append(platformVersionForUAString()); + } + diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec new file mode 100644 index 0000000..8c8a9e1 --- /dev/null +++ b/webkit2gtk3.spec @@ -0,0 +1,205 @@ +#Global macro or variable +%global add_to_license_files() \ + mkdir -p _license_files ; \ + cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') +%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ +# increase the DIE limit use linker flags to reduce memory consumption +# https://bugzilla.redhat.com/show_bug.cgi?id=1456261 +%global _dwz_max_die_limit 250000000 +%global _dwz_max_die_limit_x86_64 250000000 +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') + +#Basic Information +Name: webkit2gtk3 +Version: 2.22.2 +Release: 1 +Summary: GTK+ Web content engine library +License: LGPLv2 +URL: http://www.webkitgtk.org/ +Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz + +# https://bugs.webkit.org/show_bug.cgi?id=162611 +Patch0: user-agent-branding.patch +# https://fedoraproject.org/wiki/Packaging:CryptoPolicies +# https://bugs.webkit.org/show_bug.cgi?id=158785 +Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=132333 +Patch2: cloop-big-endians.patch +# Explicitly specify python2 over python +Patch3: python2.patch + +#Dependency +BuildRequires: at-spi2-core-devel bison cairo-devel cmake enchant-devel +BuildRequires: flex fontconfig-devel freetype-devel +BuildRequires: git geoclue2-devel gettext gcc-c++ glib2-devel gnutls-devel +BuildRequires: gobject-introspection-devel gperf +BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel +BuildRequires: gstreamer1-plugins-bad-free-devel +BuildRequires: gtk2-devel gtk3-devel gtk-doc +BuildRequires: harfbuzz-devel hyphen-devel +BuildRequires: libatomic libicu-devel libjpeg-devel libnotify-devel +BuildRequires: libpng-devel libsecret-devel libsoup-devel libwebp-devel +BuildRequires: libxslt-devel libXt-devel libwayland-client-devel +BuildRequires: libwayland-egl-devel libwayland-server-devel +BuildRequires: mesa-libEGL-devel mesa-libGL-devel mesa-libGLES-devel +BuildRequires: pcre-devel perl-File-Copy-Recursive perl-JSON-PP perl-Switch +BuildRequires: python2 ruby rubygems sqlite-devel upower-devel woff2-devel +Requires: geoclue2 +Requires: webkit2gtk3-jsc = %{version}-%{release} + +Provides: bundled(angle) + +Obsoletes: libwebkit2gtk < 2.5.0 +Provides: libwebkit2gtk = %{version}-%{release} +Obsoletes: webkitgtk4 < %{version}-%{release} +Provides: webkitgtk4 = %{version}-%{release} +Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}-%{release} +Provides: webkit2gtk3-plugin-process-gtk2 = %{version}-%{release} +Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} +Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} + +%description +WebKitGTK is a full-featured port of the WebKit rendering engine, +suitable for projects requiring any kind of web integration, from +hybrid HTML/CSS applications to full-fledged web browsers. This +package contains WebKit2 based WebKitGTK+ for GTK+ 3. + +%package devel +Summary: Development files for webkit2gtk3 +Requires: %{name} = %{version}-%{release} +Requires: %{name}-jsc = %{version}-%{release} +Requires: %{name}-jsc-devel = %{version}-%{release} +Obsoletes: webkitgtk4-devel < %{version}-%{release} +Provides: webkitgtk4-devel = %{version}-%{release} + +%description devel +The webkit2gtk3-devel package contains libraries, build data, and header +files for developing applications that use webkit2gtk3. + +%package help +Summary: Documentation files for webkit2gtk3 +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Obsoletes: %{name}-doc < %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Obsoletes: webkitgtk4-doc < %{version}-%{release} +Provides: webkitgtk4-doc = %{version}-%{release} + +%description help +This package contains developer documentation for webkit2gtk3. + +%package jsc +Summary: JavaScript engine from webkit2gtk3 +Obsoletes: webkitgtk4-jsc < %{version}-%{release} +Provides: webkitgtk4-jsc = %{version}-%{release} + +%description jsc +This package contains JavaScript engine from webkit2gtk3. + +%package jsc-devel +Summary: Development files for JavaScript engine from webkit2gtk3 +Requires: %{name}-jsc = %{version}-%{release} +Obsoletes: webkitgtk4-jsc-devel < %{version}-%{release} +Provides: webkitgtk4-jsc-devel = %{version}-%{release} + +%description jsc-devel +The webkit2gtk3-jsc-devel package contains libraries, build data, and header +files for developing applications that use JavaScript engine from webkit2gtk3. + +#Build sections +%prep +%autosetup -p1 -n webkitgtk-%{version} -S git + +# rm bundled libraries +rm -rf Source/ThirdParty/gtest/ +rm -rf Source/ThirdParty/qunit/ + +%build +mkdir -p %{_target_platform} +pushd %{_target_platform} +%cmake \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_GTKDOC=ON \ + -DENABLE_MINIBROWSER=ON \ + .. +popd + +make %{?_smp_mflags} -C %{_target_platform} + +%install +%make_install -C %{_target_platform} + +%find_lang WebKit2GTK-4.0 + +#Files list +# Finally, copy over and rename various files for %%license inclusion +%add_to_license_files Source/JavaScriptCore/COPYING.LIB +%add_to_license_files Source/JavaScriptCore/icu/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE +%add_to_license_files Source/WebCore/icu/LICENSE +%add_to_license_files Source/WebCore/LICENSE-APPLE +%add_to_license_files Source/WebCore/LICENSE-LGPL-2 +%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 +%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/ESLint/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE +%add_to_license_files Source/WTF/icu/LICENSE +%add_to_license_files Source/WTF/wtf/dtoa/COPYING +%add_to_license_files Source/WTF/wtf/dtoa/LICENSE + +%files -f WebKit2GTK-4.0.lang +%license _license_files/*ThirdParty* +%license _license_files/*WebCore* +%license _license_files/*WebInspectorUI* +%license _license_files/*WTF* +%{_libdir}/libwebkit2gtk-4.0.so.* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/WebKit2-4.0.typelib +%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib +%{_libdir}/webkit2gtk-4.0/ +%{_libexecdir}/webkit2gtk-4.0/ +%exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser +%{_bindir}/WebKitWebDriver + +%files devel +%{_libexecdir}/webkit2gtk-4.0/MiniBrowser +%{_includedir}/webkitgtk-4.0/ +%exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore +%{_libdir}/libwebkit2gtk-4.0.so +%{_libdir}/pkgconfig/webkit2gtk-4.0.pc +%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/WebKit2-4.0.gir +%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir + +%files jsc +%license _license_files/*JavaScriptCore* +%{_libdir}/libjavascriptcoregtk-4.0.so.* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib + +%files jsc-devel +%{_libexecdir}/webkit2gtk-4.0/jsc +%dir %{_includedir}/webkitgtk-4.0 +%{_includedir}/webkitgtk-4.0/JavaScriptCore/ +%{_libdir}/libjavascriptcoregtk-4.0.so +%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir + +%files help +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%{_datadir}/gtk-doc/html/jsc-glib-4.0/ +%{_datadir}/gtk-doc/html/webkit2gtk-4.0/ +%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ + +%changelog +* Wed Sep 18 2019 openEuler Buildteam - 3.24.1-1 +- Package init + diff --git a/webkitgtk-2.22.2.tar.xz b/webkitgtk-2.22.2.tar.xz new file mode 100644 index 0000000..3690071 Binary files /dev/null and b/webkitgtk-2.22.2.tar.xz differ