From: Alexander Kanavin <alexander.kanavin@linux.intel.com>
To: openembedded-core@lists.openembedded.org, ross.burton@intel.com
Subject: [PATCH] webkitgtk: add a new recipe for latest upstream version
Date: Thu, 10 Sep 2015 21:18:07 +0300 [thread overview]
Message-ID: <1441909087-3860-1-git-send-email-alexander.kanavin@linux.intel.com> (raw)
Also, add a backported patch that prevents too long command lines from happening.
Recipe for the obsolete webkit-gtk 1.8.3 is removed in a separate commit.
(From OE-Core rev: 1ffa1c36f5d3d3f076840c9239c17f13f36064c3)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
...fixes-a-command-line-that-is-too-long-ove.patch | 89 ++++++++++++++++++++++
meta/recipes-sato/webkit/webkitgtk_2.8.5.bb | 57 ++++++++++++++
2 files changed, 146 insertions(+)
create mode 100644 meta/recipes-sato/webkit/files/0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch
create mode 100644 meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
diff --git a/meta/recipes-sato/webkit/files/0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch b/meta/recipes-sato/webkit/files/0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch
new file mode 100644
index 0000000..ee9c807
--- /dev/null
+++ b/meta/recipes-sato/webkit/files/0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch
@@ -0,0 +1,89 @@
+From 22d5063c551d3c08c0a4ad8b80e08b793d53093d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 10 Sep 2015 16:23:27 +0300
+Subject: [PATCH] This patch fixes a command line that is too long (over 100K!)
+ and is rejected by /bin/sh.
+
+Upstream-status: Backport [should appear in 2.10, http://trac.webkit.org/changeset/184856]
+---
+ Source/WebKit2/PlatformGTK.cmake | 11 ++++++-----
+ Tools/gtk/generate-inspector-gresource-manifest.py | 16 ++++++++++++----
+ 2 files changed, 18 insertions(+), 9 deletions(-)
+
+diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake
+index a13af7c..058c241 100644
+--- a/Source/WebKit2/PlatformGTK.cmake
++++ b/Source/WebKit2/PlatformGTK.cmake
+@@ -408,7 +408,7 @@ set(WebKit2WebExtension_INSTALLED_HEADERS
+ ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h
+ )
+
+-file(GLOB InspectorFiles
++set(InspectorFiles
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/*.html
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Base/*.js
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Controllers/*.css
+@@ -423,13 +423,14 @@ file(GLOB InspectorFiles
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Views/*.js
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/gtk/*.png
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/gtk/*.svg
+-)
+-
+-list(APPEND InspectorFiles
+ ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
+ ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorBackendCommands.js
+ )
+
++file(GLOB InspectorFilesDependencies
++ ${InspectorFiles}
++)
++
+ # This is necessary because of a conflict between the GTK+ API WebKitVersion.h and one generated by WebCore.
+ list(INSERT WebKit2_INCLUDE_DIRECTORIES 0
+ "${FORWARDING_HEADERS_WEBKIT2GTK_DIR}"
+@@ -564,7 +565,7 @@ add_custom_command(
+
+ add_custom_command(
+ OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml
+- DEPENDS ${InspectorFiles}
++ DEPENDS ${InspectorFilesDependencies}
+ ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py
+ COMMAND ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py --output=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml ${InspectorFiles}
+ VERBATIM
+diff --git a/Tools/gtk/generate-inspector-gresource-manifest.py b/Tools/gtk/generate-inspector-gresource-manifest.py
+index 0687c4c..03060cf 100755
+--- a/Tools/gtk/generate-inspector-gresource-manifest.py
++++ b/Tools/gtk/generate-inspector-gresource-manifest.py
+@@ -16,6 +16,7 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+ import argparse
++import glob
+ import os
+ import sys
+
+@@ -26,10 +27,17 @@ BASE_DIR = 'WebInspectorUI/'
+ def get_filenames(args):
+ filenames = []
+
+- for filename in args:
+- base_dir_index = filename.rfind(BASE_DIR)
+- if base_dir_index != -1:
+- filenames.append(filename[base_dir_index + len(BASE_DIR):])
++ for pattern in args:
++ paths = glob.glob(pattern)
++ for filename in paths:
++ base_dir_index = filename.rfind(BASE_DIR)
++ if base_dir_index != -1:
++ name = filename[base_dir_index + len(BASE_DIR):]
++ # The result should use forward slashes, thus make sure any os-specific
++ # separator, added by the glob.glob() call, is properly replaced
++ if os.sep != '/':
++ name = name.replace(os.sep, '/')
++ filenames.append(name)
+ return filenames
+
+
+--
+2.1.4
+
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
new file mode 100644
index 0000000..365f20b
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
@@ -0,0 +1,57 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "http://www.webkitgtk.org/"
+BUGTRACKER = "http://bugs.webkit.org/"
+
+LICENSE = "BSD & LGPLv2+"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "\
+ http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+ file://0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch \
+ "
+SRC_URI[md5sum] = "df79991848a5096d3a75289ebce547ae"
+SRC_URI[sha256sum] = "3d1f0c534935f43fd74df90f2648fcee672d60f1f57a30fa557a77891ae04d20"
+
+inherit cmake lib_package pkgconfig perlnative pythonnative
+
+DEPENDS = "zlib enchant libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \
+ gtk+ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
+ pango icu bison-native gnome-common gawk intltool-native libwebp \
+ atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
+ ruby-native libsecret libnotify gstreamer1.0-plugins-bad \
+ "
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)}"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_INTROSPECTION=False \
+ -DENABLE_MINIBROWSER=True \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-DENABLE_WEBGL=True', '-DENABLE_WEBGL=False', d)} \
+ "
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=False "
+EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=False "
+
+# ARM JIT code does not build on ARMv5/6 anymore, apparently they test only on v7 onwards
+EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=False "
+EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=False "
+
+# binutils 2.25.1 has a bug on aarch64:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18430
+EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=False "
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=False "
+EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=False "
+
+FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
+FILES_${PN}-dbg += "${libdir}/webkit2gtk-4.0/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so"
+FILES_${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-4.0/.debug/*"
+
--
2.1.4
next reply other threads:[~2015-09-10 18:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-10 18:18 Alexander Kanavin [this message]
2015-09-10 19:40 ` [PATCH] webkitgtk: add a new recipe for latest upstream version Burton, Ross
2015-09-11 7:12 ` alexander.kanavin
2015-09-11 7:19 ` Burton, Ross
2015-09-11 7:23 ` Burton, Ross
2015-09-11 20:15 ` alexander.kanavin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441909087-3860-1-git-send-email-alexander.kanavin@linux.intel.com \
--to=alexander.kanavin@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.