[OE-core] [PATCH] webkitgtk: add a new recipe for latest upstream version

Burton, Ross ross.burton at intel.com
Fri Sep 11 07:23:50 UTC 2015


This is now failing on qemumips for me:

|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerIhE13internalShiftILi4EEEvv.isra.66' for
R_MIPS_GOT16 at 0x6394 in section
`.text._ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerIhE13internalShiftILi6EEEvv.isra.67' for
R_MIPS_GOT16 at 0x6d0c in section
`.text._ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerIhE13internalShiftILi3EEEvv.isra.63' for
R_MIPS_GOT16 at 0x6d48 in section
`.text._ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerIhE13internalShiftILi6EEEvv.isra.67' for
R_MIPS_GOT16 at 0x6d94 in section
`.text._ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerIhE13internalShiftILi7EEEvv.isra.65' for
R_MIPS_GOT16 at 0x6f20 in section
`.text._ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerIhE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi6EEEvv.isra.79' for
R_MIPS_GOT16 at 0x6714 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi6EEEvv.isra.79' for
R_MIPS_GOT16 at 0x6764 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi3EEEvv.isra.75' for
R_MIPS_GOT16 at 0x67b4 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi6EEEvv.isra.79' for
R_MIPS_GOT16 at 0x68b4 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi3EEEvv.isra.75' for
R_MIPS_GOT16 at 0x6ab4 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi7EEEvv.isra.77' for
R_MIPS_GOT16 at 0x6af0 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi3EEEvv.isra.75' for
R_MIPS_GOT16 at 0x70cc in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi5EEEvv.isra.76' for
R_MIPS_GOT16 at 0x745c in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi3EEEvv.isra.75' for
R_MIPS_GOT16 at 0x7518 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi3EEEvv.isra.75' for
R_MIPS_GOT16 at 0x7678 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
|
/data/poky-master/tmp/sysroots/x86_64-linux/usr/libexec/mips-poky-linux/gcc/mips-poky-linux/5.2.0/ld:
CMakeFiles/JavaScriptCore.dir/parser/Lexer.cpp.o: Can't find matching LO16
reloc against `_ZN3JSC5LexerItE13internalShiftILi4EEEvv.isra.78' for
R_MIPS_GOT16 at 0x7910 in section
`.text._ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb[_ZN3JSC5LexerItE3lexEPNS_7JSTokenEjb]'
| CMakeFiles/JavaScriptCore.dir/runtime/JSArray.cpp.o: In function
`JSC::JSArray::push(JSC::ExecState*, JSC::JSValue)':
|
/data/poky-master/tmp/work/mips32r2-poky-linux/webkitgtk/2.8.5-r0/webkitgtk-2.8.5/Source/JavaScriptCore/runtime/JSArray.cpp:566:
undefined reference to `void
JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes<(unsigned
char)20>(JSC::ExecState*, unsigned int, JSC::JSValue)'
| collect2: error: ld returned 1 exit status
| Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:14167:
recipe for target 'lib/libjavascriptcoregtk-4.0.so.18.1.12' failed

(similar failure on qemuppc too)

Ross

On 10 September 2015 at 19:18, Alexander Kanavin <
alexander.kanavin at linux.intel.com> wrote:

> 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 at linux.intel.com>
> Signed-off-by: Richard Purdie <richard.purdie at 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 at 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 part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150911/d0816c18/attachment-0002.html>


More information about the Openembedded-core mailing list