All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-browser][PATCH v2 1/2] chromium: Reorganize into .inc and .bb to allow for cleaner upgrades
@ 2015-01-27  0:07 Carlos Rafael Giani
  2015-01-27  0:07 ` [meta-browser][PATCH v2 2/2] chromium: chromium: Upgrade to version 40.0.2214.91 Carlos Rafael Giani
  0 siblings, 1 reply; 2+ messages in thread
From: Carlos Rafael Giani @ 2015-01-27  0:07 UTC (permalink / raw)
  To: openembedded-devel

Since version 37, the structure of the recipe remained more or less the
same, especially because starting with this version, the ozone-wayland
integration is working properly. Therefore, put the common code into an
.inc file to emphasize the version specific bits and make it easier to
modify the recipe for newer versions.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 recipes-browser/chromium/chromium.inc              | 217 +++++++++++++++++++++
 ...terization-whitelist-unlocking-impl-side-.patch |   0
 .../0001-Remove-X-libraries-from-GYP-files.patch   |   0
 ...accelerated-Canvas-support-from-blacklist.patch |   0
 ...1-Remove-hard-coded-values-for-CC-and-CXX.patch |   0
 ...ration-conditionally-compile-routines-for.patch |   0
 .../0002-Disable-API-keys-info-bar.patch           |   0
 recipes-browser/chromium/chromium_38.0.2125.101.bb | 215 ++------------------
 8 files changed, 235 insertions(+), 197 deletions(-)
 create mode 100644 recipes-browser/chromium/chromium.inc
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch (100%)
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0001-Remove-X-libraries-from-GYP-files.patch (100%)
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0001-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0001-shell-integration-conditionally-compile-routines-for.patch (100%)
 rename recipes-browser/chromium/chromium/{ => chromium-38}/0002-Disable-API-keys-info-bar.patch (100%)

diff --git a/recipes-browser/chromium/chromium.inc b/recipes-browser/chromium/chromium.inc
new file mode 100644
index 0000000..ad976f9
--- /dev/null
+++ b/recipes-browser/chromium/chromium.inc
@@ -0,0 +1,217 @@
+# Recipe files have to perform the following tasks after including this file:
+# 1) Add patches to SRC_URI. Version specific patches should be contained in a
+#    "chromium-XX" subdirectory, where XX is the major version. There are also
+#    patches that are shared amongst versions but may one day no longer be
+#    needed (like unistd2.patch). These do not belong in such a subdirectory,
+#    but still need to be explicitely be added. Do NOT add ozone-wayland patches
+#    to SRC_URI here!
+# 2) Add md5sum and sha256sum hashes of the tarball.
+# 3) Add ozone-wayland patches to the OZONE_WAYLAND_EXTRA_PATCHES variable.
+#    The rule with the chromium-XX subdirectory also applies here.
+# 4) Set the OZONE_WAYLAND_GIT_BRANCH and OZONE_WAYLAND_GIT_SRCREV values.
+# 5) Optionally, set values for these variables:
+#    * OZONE_WAYLAND_PATCH_FILE_GLOB
+#    * CHROMIUM_X11_DEPENDS
+#    * CHROMIUM_X11_GYP_DEFINES
+#    * CHROMIUM_WAYLAND_DEPENDS
+#    * CHROMIUM_WAYLAND_GYP_DEFINES
+
+DESCRIPTION = "Chromium browser"
+LICENSE = "BSD"
+DEPENDS = "xz-native pciutils pulseaudio cairo nss zlib-native libav libgnome-keyring cups ninja-native gconf libexif pango libdrm"
+SRC_URI = "\
+        http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
+        file://include.gypi \
+        file://oe-defaults.gypi \
+        ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
+        file://google-chrome \
+        file://google-chrome.desktop \
+"
+
+# PACKAGECONFIG explanations:
+#
+# * use-egl : Without this packageconfig, the Chromium build will use GLX for creating an OpenGL context in X11,
+#             and regular OpenGL for painting operations. Neither are desirable on embedded platforms. With this
+#             packageconfig, EGL and OpenGL ES 2.x are used instead. On by default.
+#
+# * disable-api-keys-info-bar : This disables the info bar that warns: "Google API keys are missing". With some
+#                               builds, missing API keys are considered OK, so the bar needs to go.
+#                               Off by default.
+#
+# * component-build : Enables component build mode. By default, all of Chromium (with the exception of FFmpeg)
+#                     is linked into one big binary. The linker step requires at least 8 GB RAM. Component mode
+#                     was created to facilitate development and testing, since with it, there is not one big
+#                     binary; instead, each component is linked to a separate shared object.
+#                     Use component mode for development, testing, and in case the build machine is not a 64-bit
+#                     one, or has less than 8 GB RAM. Off by default.
+#
+# * ignore-lost-context : There is a flaw in the HTML Canvas specification. When the canvas' backing store is
+#                         some kind of hardware resource like an OpenGL texture, this resource might get lost.
+#                         In case of OpenGL textures, this happens when the OpenGL context gets lost. The canvas
+#                         should then be repainted, but nothing in the Canvas standard reflects that.
+#                         This packageconfig is to be used if the underlying OpenGL (ES) drivers do not lose
+#                         the context, or if losing the context is considered okay (note that canvas contents can
+#                         vanish then). Off by default.
+#
+# * impl-side-painting : This is a new painting mechanism. Still in development stages, it can improve performance.
+#                        See http://www.chromium.org/developers/design-documents/impl-side-painting for more.
+#                        Off by default.
+
+# conditionally add ozone-wayland and its patches to the Chromium sources
+
+ENABLE_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
+# only enable Wayland if X11 isn't already enabled
+ENABLE_WAYLAND = "${@base_contains('DISTRO_FEATURES', 'x11', '0', \
+                     base_contains('DISTRO_FEATURES', 'wayland', '1', \
+                     '0', d),d)}"
+
+# variable for extra ozone-wayland patches, typically extended by BSP layer .bbappends
+# IMPORTANT: do not simply add extra ozone-wayland patches to the SRC_URI in a
+# .bbappend, since the base ozone-wayland patches need to be applied first (see below)
+
+OZONE_WAYLAND_EXTRA_PATCHES = " "
+
+OZONE_WAYLAND_GIT_DESTSUFFIX = "ozone-wayland-git"
+OZONE_WAYLAND_GIT_BRANCH = ""
+OZONE_WAYLAND_GIT_SRCREV = ""
+SRC_URI += "${@base_conditional('ENABLE_WAYLAND', '1', 'git://github.com/01org/ozone-wayland.git;destsuffix=${OZONE_WAYLAND_GIT_DESTSUFFIX};branch=${OZONE_WAYLAND_GIT_BRANCH};rev=${OZONE_WAYLAND_GIT_SRCREV}', '', d)}"
+OZONE_WAYLAND_PATCH_FILE_GLOB = "*.patch"
+
+do_unpack[postfuncs] += "${@base_conditional('ENABLE_WAYLAND', '1', 'copy_ozone_wayland_files', '', d)}"
+do_patch[prefuncs] += "${@base_conditional('ENABLE_WAYLAND', '1', 'add_ozone_wayland_patches', '', d)}"
+
+copy_ozone_wayland_files() {
+	# ozone-wayland sources must be placed in an "ozone"
+	# subdirectory in ${S} in order for the .gyp build
+	# scripts to work
+	cp -r ${WORKDIR}/ozone-wayland-git ${S}/ozone
+}
+
+python add_ozone_wayland_patches() {
+    import glob
+    srcdir = d.getVar('S', True)
+    # find all ozone-wayland patches and add them to SRC_URI
+    upstream_patches_dir = srcdir + "/ozone/patches"
+    upstream_patches = glob.glob(upstream_patches_dir + "/" + d.getVar('OZONE_WAYLAND_PATCH_FILE_GLOB', True))
+    upstream_patches.sort()
+    for upstream_patch in upstream_patches:
+        d.appendVar('SRC_URI', ' file://' + upstream_patch)
+    # then, add the extra patches to SRC_URI order matters;
+    # extra patches may depend on the base ozone-wayland ones
+    d.appendVar('SRC_URI', ' ' + d.getVar('OZONE_WAYLAND_EXTRA_PATCHES'))
+}
+
+
+# include.gypi exists only for armv6 and armv7a and there isn't something like COMPATIBLE_ARCH afaik
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE_i586 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_armv6 = "(.*)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+
+inherit gettext
+
+PACKAGECONFIG ??= "use-egl"
+
+# this makes sure the dependencies for the EGL mode are present; otherwise, the configure scripts
+# automatically and silently fall back to GLX
+PACKAGECONFIG[use-egl] = ",,virtual/egl virtual/libgles2"
+
+EXTRA_OEGYP =	" \
+	-Dangle_use_commit_id=0 \
+	-Dclang=0 \
+	-Dhost_clang=0 \
+	-Ddisable_fatal_linker_warnings=1 \
+	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_binary=0', d)} \
+	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_flags=0', d)} \
+	-I ${WORKDIR}/oe-defaults.gypi \
+	-I ${WORKDIR}/include.gypi \
+	${@bb.utils.contains('PACKAGECONFIG', 'component-build', '-I ${WORKDIR}/component-build.gypi', '', d)} \
+	-f ninja \
+"
+ARMFPABI_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'arm_float_abi=hard', 'arm_float_abi=softfp', d)}"
+
+CHROMIUM_EXTRA_ARGS ?= " \
+	${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-gl=egl', '', d)} \
+	${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', '--gpu-no-context-lost', '', d)} \
+	${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', '--enable-gpu-rasterization --enable-impl-side-painting', '', d)} \
+"
+
+GYP_DEFINES = "${ARMFPABI} release_extra_cflags='-Wno-error=unused-local-typedefs' sysroot=''"
+
+# These are present as their own variables, since they have changed between versions
+# a few times in the past already; making them variables makes it easier to handle that
+CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
+CHROMIUM_X11_GYP_DEFINES = ""
+CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
+CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1"
+
+python() {
+    if d.getVar('ENABLE_X11', True) == '1':
+        d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_X11_DEPENDS', True))
+        d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_X11_GYP_DEFINES', True))
+    if d.getVar('ENABLE_WAYLAND', True) == '1':
+        d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_WAYLAND_DEPENDS', True))
+        d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_WAYLAND_GYP_DEFINES', True))
+}
+
+do_configure() {
+	cd ${S}
+	GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+	# replace LD with CXX, to workaround a possible gyp issue?
+	LD="${CXX}" export LD
+	CC="${CC}" export CC
+	CXX="${CXX}" export CXX
+	CC_host="${BUILD_CC}" export CC_host
+	CXX_host="${BUILD_CXX}" export CXX_host
+	build/gyp_chromium --depth=. ${EXTRA_OEGYP}
+}
+
+do_compile() {
+	# build with ninja
+	ninja -C ${S}/out/Release chrome chrome_sandbox
+}
+
+do_install() {
+	install -d ${D}${bindir}
+	install -m 0755 ${WORKDIR}/google-chrome ${D}${bindir}/
+
+	# Add extra command line arguments to google-chrome script by modifying
+	# the dummy "CHROME_EXTRA_ARGS" line
+	sed -i "s/^CHROME_EXTRA_ARGS=\"\"/CHROME_EXTRA_ARGS=\"${CHROMIUM_EXTRA_ARGS}\"/" ${D}${bindir}/google-chrome
+
+	install -d ${D}${datadir}/applications
+	install -m 0644 ${WORKDIR}/google-chrome.desktop ${D}${datadir}/applications/
+
+	install -d ${D}${bindir}/chrome/
+	install -m 0755 ${S}/out/Release/chrome ${D}${bindir}/chrome/chrome
+	install -m 0644 ${S}/out/Release/resources.pak ${D}${bindir}/chrome/
+	install -m 0644 ${S}/out/Release/icudtl.dat ${D}${bindir}/chrome/
+	install -m 0644 ${S}/out/Release/content_resources.pak ${D}${bindir}/chrome/
+	install -m 0644 ${S}/out/Release/keyboard_resources.pak ${D}${bindir}/chrome/
+	install -m 0644 ${S}/out/Release/chrome_100_percent.pak ${D}${bindir}/chrome/
+	install -m 0644 ${S}/out/Release/product_logo_48.png ${D}${bindir}/chrome/
+	install -m 0755 ${S}/out/Release/libffmpegsumo.so ${D}${bindir}/chrome/
+
+	# Always adding this libdir (not just with component builds), because the
+	# LD_LIBRARY_PATH line in the google-chromium script refers to it
+	install -d ${D}${libdir}/chrome/
+	if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'component-build', '', d)}" ]; then
+		install -m 0755 ${S}/out/Release/lib/*.so ${D}${libdir}/chrome/
+	fi
+
+	install -d ${D}${sbindir}
+	install -m 4755 ${S}/out/Release/chrome_sandbox ${D}${sbindir}/chrome-devel-sandbox
+
+	install -d ${D}${bindir}/chrome/locales/
+	install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales
+}
+
+FILES_${PN} = "${bindir}/chrome/ ${bindir}/google-chrome ${datadir}/applications ${sbindir}/ ${libdir}/chrome/"
+FILES_${PN}-dbg += "${bindir}/chrome/.debug/ ${libdir}/chrome/.debug/"
+
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+
+
+
diff --git a/recipes-browser/chromium/chromium/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch b/recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
rename to recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
diff --git a/recipes-browser/chromium/chromium/0001-Remove-X-libraries-from-GYP-files.patch b/recipes-browser/chromium/chromium/chromium-38/0001-Remove-X-libraries-from-GYP-files.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0001-Remove-X-libraries-from-GYP-files.patch
rename to recipes-browser/chromium/chromium/chromium-38/0001-Remove-X-libraries-from-GYP-files.patch
diff --git a/recipes-browser/chromium/chromium/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
rename to recipes-browser/chromium/chromium/chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
diff --git a/recipes-browser/chromium/chromium/0001-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0001-Remove-hard-coded-values-for-CC-and-CXX.patch
rename to recipes-browser/chromium/chromium/chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch
diff --git a/recipes-browser/chromium/chromium/0001-shell-integration-conditionally-compile-routines-for.patch b/recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0001-shell-integration-conditionally-compile-routines-for.patch
rename to recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch
diff --git a/recipes-browser/chromium/chromium/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-38/0002-Disable-API-keys-info-bar.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/0002-Disable-API-keys-info-bar.patch
rename to recipes-browser/chromium/chromium/chromium-38/0002-Disable-API-keys-info-bar.patch
diff --git a/recipes-browser/chromium/chromium_38.0.2125.101.bb b/recipes-browser/chromium/chromium_38.0.2125.101.bb
index 8e347a9..55d2cca 100644
--- a/recipes-browser/chromium/chromium_38.0.2125.101.bb
+++ b/recipes-browser/chromium/chromium_38.0.2125.101.bb
@@ -1,206 +1,27 @@
-DESCRIPTION = "Chromium browser"
-LICENSE = "BSD"
+include chromium.inc
+
 LIC_FILES_CHKSUM = "file://LICENSE;md5=537e0b52077bf0a616d0a0c8a79bc9d5"
-DEPENDS = "xz-native pciutils pulseaudio cairo nss zlib-native libav libgnome-keyring cups ninja-native gconf libexif pango libdrm"
-SRC_URI = "\
-        http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
-        file://include.gypi \
-        file://oe-defaults.gypi \
-        ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://0002-Disable-API-keys-info-bar.patch', '', d)} \
-        file://0001-Remove-hard-coded-values-for-CC-and-CXX.patch \
+SRC_URI += "\
+        ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-38/0002-Disable-API-keys-info-bar.patch', '', d)} \
+        file://chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch \
         file://unistd-2.patch \
-        file://google-chrome \
-        file://google-chrome.desktop \
 "
-SRC_URI[md5sum] = "be4d3ad6944e43132e4fbde5a23d1ab8"
-SRC_URI[sha256sum] = "d3303519ab471a3bc831e9b366e64dc2fe651894e52ae5d1e74de60ee2a1198a"
-
-# PACKAGECONFIG explanations:
-#
-# * use-egl : Without this packageconfig, the Chromium build will use GLX for creating an OpenGL context in X11,
-#             and regular OpenGL for painting operations. Neither are desirable on embedded platforms. With this
-#             packageconfig, EGL and OpenGL ES 2.x are used instead. On by default.
-#
-# * disable-api-keys-info-bar : This disables the info bar that warns: "Google API keys are missing". With some
-#                               builds, missing API keys are considered OK, so the bar needs to go.
-#                               Off by default.
-#
-# * component-build : Enables component build mode. By default, all of Chromium (with the exception of FFmpeg)
-#                     is linked into one big binary. The linker step requires at least 8 GB RAM. Component mode
-#                     was created to facilitate development and testing, since with it, there is not one big
-#                     binary; instead, each component is linked to a separate shared object.
-#                     Use component mode for development, testing, and in case the build machine is not a 64-bit
-#                     one, or has less than 8 GB RAM. Off by default.
-#
-# * ignore-lost-context : There is a flaw in the HTML Canvas specification. When the canvas' backing store is
-#                         some kind of hardware resource like an OpenGL texture, this resource might get lost.
-#                         In case of OpenGL textures, this happens when the OpenGL context gets lost. The canvas
-#                         should then be repainted, but nothing in the Canvas standard reflects that.
-#                         This packageconfig is to be used if the underlying OpenGL (ES) drivers do not lose
-#                         the context, or if losing the context is considered okay (note that canvas contents can
-#                         vanish then). Off by default.
-#
-# * impl-side-painting : This is a new painting mechanism. Still in development stages, it can improve performance.
-#                        See http://www.chromium.org/developers/design-documents/impl-side-painting for more.
-#                        Off by default.
-
 # conditionally add shell integration patch (ozone-wayland contains a patch that makes
 # this one redundant, therefore use this patch only for X11 builds)
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'file://0001-shell-integration-conditionally-compile-routines-for.patch', '', d)}"
-
-# conditionally add ozone-wayland and its patches to the Chromium sources
-
-ENABLE_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
-# only enable Wayland if X11 isn't already enabled
-ENABLE_WAYLAND = "${@base_contains('DISTRO_FEATURES', 'x11', '0', \
-                     base_contains('DISTRO_FEATURES', 'wayland', '1', \
-                     '0', d),d)}"
-
-# variable for extra ozone-wayland patches, typically extended by BSP layer .bbappends
-# IMPORTANT: do not simply add extra ozone-wayland patches to the SRC_URI in a
-# .bbappend, since the base ozone-wayland patches need to be applied first (see below)
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'file://chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch', '', d)}"
+SRC_URI[md5sum] = "be4d3ad6944e43132e4fbde5a23d1ab8"
+SRC_URI[sha256sum] = "d3303519ab471a3bc831e9b366e64dc2fe651894e52ae5d1e74de60ee2a1198a"
 
-OZONE_WAYLAND_EXTRA_PATCHES = " \
-        file://0001-Remove-X-libraries-from-GYP-files.patch \
+OZONE_WAYLAND_EXTRA_PATCHES += " \
+        file://chromium-38/0001-Remove-X-libraries-from-GYP-files.patch \
 "
-
-OZONE_WAYLAND_GIT_DESTSUFFIX = "ozone-wayland-git"
 OZONE_WAYLAND_GIT_BRANCH = "Milestone-Harvest"
 OZONE_WAYLAND_GIT_SRCREV = "0f8b830730d9b696a667c331c50ac6333bb85c13"
-SRC_URI += "${@base_conditional('ENABLE_WAYLAND', '1', 'git://github.com/01org/ozone-wayland.git;destsuffix=${OZONE_WAYLAND_GIT_DESTSUFFIX};branch=${OZONE_WAYLAND_GIT_BRANCH};rev=${OZONE_WAYLAND_GIT_SRCREV}', '', d)}"
-
-do_unpack[postfuncs] += "${@base_conditional('ENABLE_WAYLAND', '1', 'copy_ozone_wayland_files', '', d)}"
-do_patch[prefuncs] += "${@base_conditional('ENABLE_WAYLAND', '1', 'add_ozone_wayland_patches', '', d)}"
-
-copy_ozone_wayland_files() {
-	# ozone-wayland sources must be placed in an "ozone"
-	# subdirectory in ${S} in order for the .gyp build
-	# scripts to work
-	cp -r ${WORKDIR}/ozone-wayland-git ${S}/ozone
-}
-
-python add_ozone_wayland_patches() {
-    import glob
-    srcdir = d.getVar('S', True)
-    # find all ozone-wayland patches and add them to SRC_URI
-    upstream_patches_dir = srcdir + "/ozone/patches"
-    # using 00*.patch to skip WebRTC patches
-    # the WebRTC patches remove X11 libraries from the linker flags, which is
-    # already done by another patch (see above). Furthermore, to be able to use
-    # these patches, it is necessary to update the git repository in third_party/webrtc,
-    # which would further complicate this recipe.
-    upstream_patches = glob.glob(upstream_patches_dir + "/00*.patch")
-    upstream_patches.sort()
-    for upstream_patch in upstream_patches:
-        d.appendVar('SRC_URI', ' file://' + upstream_patch)
-    # then, add the extra patches to SRC_URI order matters;
-    # extra patches may depend on the base ozone-wayland ones
-    d.appendVar('SRC_URI', ' ' + d.getVar('OZONE_WAYLAND_EXTRA_PATCHES'))
-}
-
-
-# include.gypi exists only for armv6 and armv7a and there isn't something like COMPATIBLE_ARCH afaik
-COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE_i586 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_armv6 = "(.*)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-
-inherit gettext
-
-PACKAGECONFIG ??= "use-egl"
-
-# this makes sure the dependencies for the EGL mode are present; otherwise, the configure scripts
-# automatically and silently fall back to GLX
-PACKAGECONFIG[use-egl] = ",,virtual/egl virtual/libgles2"
-
-EXTRA_OEGYP =	" \
-	-Dangle_use_commit_id=0 \
-	-Dclang=0 \
-	-Dhost_clang=0 \
-	-Ddisable_fatal_linker_warnings=1 \
-	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_binary=0', d)} \
-	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_flags=0', d)} \
-	-I ${WORKDIR}/oe-defaults.gypi \
-	-I ${WORKDIR}/include.gypi \
-	${@bb.utils.contains('PACKAGECONFIG', 'component-build', '-I ${WORKDIR}/component-build.gypi', '', d)} \
-	-f ninja \
-"
-ARMFPABI_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'arm_float_abi=hard', 'arm_float_abi=softfp', d)}"
-
-CHROMIUM_EXTRA_ARGS ?= " \
-	${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-gl=egl', '', d)} \
-	${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', '--gpu-no-context-lost', '', d)} \
-	${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', '--enable-gpu-rasterization --enable-impl-side-painting', '', d)} \
-"
-
-GYP_DEFINES = "${ARMFPABI} release_extra_cflags='-Wno-error=unused-local-typedefs' sysroot=''"
-
-python() {
-    if d.getVar('ENABLE_X11', True) == '1':
-        d.appendVar('DEPENDS', ' xextproto gtk+ libxi libxss ')
-    if d.getVar('ENABLE_WAYLAND', True) == '1':
-        d.appendVar('DEPENDS', ' wayland libxkbcommon ')
-        d.appendVar('GYP_DEFINES', ' use_ash=1 use_aura=1 chromeos=0 use_ozone=1 ')
-}
-
-do_configure() {
-	cd ${S}
-	GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
-	# replace LD with CXX, to workaround a possible gyp issue?
-	LD="${CXX}" export LD
-	CC="${CC}" export CC
-	CXX="${CXX}" export CXX
-	CC_host="${BUILD_CC}" export CC_host
-	CXX_host="${BUILD_CXX}" export CXX_host
-	build/gyp_chromium --depth=. ${EXTRA_OEGYP}
-}
-
-do_compile() {
-	# build with ninja
-	ninja -C ${S}/out/Release chrome chrome_sandbox
-}
-
-do_install() {
-	install -d ${D}${bindir}
-	install -m 0755 ${WORKDIR}/google-chrome ${D}${bindir}/
-
-	# Add extra command line arguments to google-chrome script by modifying
-	# the dummy "CHROME_EXTRA_ARGS" line
-	sed -i "s/^CHROME_EXTRA_ARGS=\"\"/CHROME_EXTRA_ARGS=\"${CHROMIUM_EXTRA_ARGS}\"/" ${D}${bindir}/google-chrome
-
-	install -d ${D}${datadir}/applications
-	install -m 0644 ${WORKDIR}/google-chrome.desktop ${D}${datadir}/applications/
-
-	install -d ${D}${bindir}/chrome/
-	install -m 0755 ${S}/out/Release/chrome ${D}${bindir}/chrome/chrome
-	install -m 0644 ${S}/out/Release/resources.pak ${D}${bindir}/chrome/
-	install -m 0644 ${S}/out/Release/icudtl.dat ${D}${bindir}/chrome/
-	install -m 0644 ${S}/out/Release/content_resources.pak ${D}${bindir}/chrome/
-	install -m 0644 ${S}/out/Release/keyboard_resources.pak ${D}${bindir}/chrome/
-	install -m 0644 ${S}/out/Release/chrome_100_percent.pak ${D}${bindir}/chrome/
-	install -m 0644 ${S}/out/Release/product_logo_48.png ${D}${bindir}/chrome/
-	install -m 0755 ${S}/out/Release/libffmpegsumo.so ${D}${bindir}/chrome/
-
-	# Always adding this libdir (not just with component builds), because the
-	# LD_LIBRARY_PATH line in the google-chromium script refers to it
-	install -d ${D}${libdir}/chrome/
-	if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'component-build', '', d)}" ]; then
-		install -m 0755 ${S}/out/Release/lib/*.so ${D}${libdir}/chrome/
-	fi
-
-	install -d ${D}${sbindir}
-	install -m 4755 ${S}/out/Release/chrome_sandbox ${D}${sbindir}/chrome-devel-sandbox
-
-	install -d ${D}${bindir}/chrome/locales/
-	install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales
-}
-
-FILES_${PN} = "${bindir}/chrome/ ${bindir}/google-chrome ${datadir}/applications ${sbindir}/ ${libdir}/chrome/"
-FILES_${PN}-dbg += "${bindir}/chrome/.debug/ ${libdir}/chrome/.debug/"
-
-PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-
+# using 00*.patch to skip the WebRTC patches in ozone-wayland
+# the WebRTC patches remove X11 libraries from the linker flags, which is
+# already done by another patch (see above). Furthermore, to be able to use
+# these patches, it is necessary to update the git repository in third_party/webrtc,
+# which would further complicate this recipe.
+OZONE_WAYLAND_PATCH_FILE_GLOB = "00*.patch"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [meta-browser][PATCH v2 2/2] chromium: chromium: Upgrade to version 40.0.2214.91
  2015-01-27  0:07 [meta-browser][PATCH v2 1/2] chromium: Reorganize into .inc and .bb to allow for cleaner upgrades Carlos Rafael Giani
@ 2015-01-27  0:07 ` Carlos Rafael Giani
  0 siblings, 0 replies; 2+ messages in thread
From: Carlos Rafael Giani @ 2015-01-27  0:07 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 ...terization-whitelist-unlocking-impl-side-.patch | 89 ----------------------
 ...ration-conditionally-compile-routines-for.patch | 41 ----------
 ...accelerated-Canvas-support-from-blacklist.patch |  4 +-
 ...Add-Linux-to-impl-side-painting-whitelist.patch | 39 ++++++++++
 .../0003-Disable-API-keys-info-bar.patch}          |  6 +-
 ...-Remove-hard-coded-values-for-CC-and-CXX.patch} |  6 +-
 .../0005-Remove-X-libraries-from-GYP-files.patch}  | 16 ++--
 recipes-browser/chromium/chromium_38.0.2125.101.bb | 27 -------
 recipes-browser/chromium/chromium_40.0.2214.91.bb  | 32 ++++++++
 9 files changed, 87 insertions(+), 173 deletions(-)
 delete mode 100644 recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
 delete mode 100644 recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch
 rename recipes-browser/chromium/chromium/{chromium-38 => chromium-40}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (93%)
 create mode 100644 recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch
 rename recipes-browser/chromium/chromium/{chromium-38/0002-Disable-API-keys-info-bar.patch => chromium-40/0003-Disable-API-keys-info-bar.patch} (92%)
 rename recipes-browser/chromium/chromium/{chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch => chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch} (91%)
 rename recipes-browser/chromium/chromium/{chromium-38/0001-Remove-X-libraries-from-GYP-files.patch => chromium-40/0005-Remove-X-libraries-from-GYP-files.patch} (91%)
 delete mode 100644 recipes-browser/chromium/chromium_38.0.2125.101.bb
 create mode 100644 recipes-browser/chromium/chromium_40.0.2214.91.bb

diff --git a/recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch b/recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
deleted file mode 100644
index 7bc3d34..0000000
--- a/recipes-browser/chromium/chromium/chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 2afda4afc9e97164a81ea76367e356c349234fb4 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sun, 12 Oct 2014 17:46:39 +0200
-Subject: [PATCH] Disable rasterization whitelist, unlocking impl side painting
-
-Upstream-Status: Inappropriate [enable feature]
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- gpu/config/software_rendering_list_json.cc | 63 ------------------------------
- 1 file changed, 63 deletions(-)
-
-diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
-index 6a12707..4e8e56a 100644
---- a/gpu/config/software_rendering_list_json.cc
-+++ b/gpu/config/software_rendering_list_json.cc
-@@ -1037,69 +1037,6 @@ LONG_STRING_CONST(
-       ]
-     },
-     {
--      "id": 96,
--      "description": "GPU rasterization is whitelisted on N4, N5, N7 and Moto X, and on Qualcomm GPUs on Android 4.4",
--      "cr_bugs": [362779],
--      "os": {
--        "type": "android"
--      },
--      "exceptions": [
--        {
--          "machine_model_name": ["Nexus 4", "Nexus 5", "Nexus 7",
--                                 "XT1049", "XT1050", "XT1052", "XT1053",
--                                 "XT1055", "XT1056", "XT1058", "XT1060"]
--        },
--        {
--          "os": {
--            "type": "android",
--            "version": {
--              "op": ">=",
--              "value": "4.4.99"
--            }
--          }
--        },
--        {
--          "os": {
--            "type": "android",
--            "version": {
--              "op": ">=",
--              "value": "4.4"
--            }
--          },
--          "gl_type": "gles",
--          "gl_version": {
--            "op": ">=",
--            "value": "3.0"
--          }
--        }
--      ],
--      "features": [
--        "gpu_rasterization"
--      ]
--    },
--    {
--      "id": 97,
--      "description": "Additional GPU rasterization whitelist for field trial",
--      "cr_bugs": [380694],
--      "exceptions": [
--        {
--          "os": {
--            "type": "android"
--          },
--          "machine_model_name": ["HTC One",
--                                 "C5303", "C6603", "C6903",
--                                 "GT-I8262", "GT-I8552", "GT-I9195",
--                                 "GT-I9500", "GT-I9505",
--                                 "SAMSUNG-SCH-I337", "SCH-I545", "SGH-M919",
--                                 "SM-N900", "SM-N9005", "SPH-L720",
--                                 "XT907", "XT1032", "XT1033", "XT1080"]
--        }
--      ],
--      "features": [
--        "gpu_rasterization_field_trial"
--      ]
--    },
--    {
-       "id": 98,
-       "description": "Whitelist for using GPU rasterization for a broader set of content",
-       "cr_bugs": [399306],
--- 
-1.9.1
-
diff --git a/recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch b/recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch
deleted file mode 100644
index bf0f274..0000000
--- a/recipes-browser/chromium/chromium/chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 40659667549d1eec5c9ed29c6120584f6628d761 Mon Sep 17 00:00:00 2001
-From: Eric Nelson <eric.nelson@boundarydevices.com>
-Date: Mon, 6 Oct 2014 18:11:29 -0700
-Subject: [PATCH] shell integration: conditionally compile routines for use
- with GLIB
-
-The routine QuoteArgForDesktopFileExec is only called when GLIB is
-used, and compilation will fail with the following error message
-if it is compiled.
-
-	"defined but not used [-Werror=unused-function]"
-
-Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
----
- chrome/browser/shell_integration_linux.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/chrome/browser/shell_integration_linux.cc b/chrome/browser/shell_integration_linux.cc
-index 24a1c55..bd82db4 100644
---- a/chrome/browser/shell_integration_linux.cc
-+++ b/chrome/browser/shell_integration_linux.cc
-@@ -260,6 +260,7 @@ void DeleteShortcutInApplicationsMenu(
-   LaunchXdgUtility(argv, &exit_code);
- }
- 
-+#if defined(USE_GLIB)
- // Quote a string such that it appears as one verbatim argument for the Exec
- // key in a desktop file.
- std::string QuoteArgForDesktopFileExec(const std::string& arg) {
-@@ -307,6 +308,8 @@ std::string QuoteCommandLineForDesktopFileExec(
-   return quoted_path;
- }
- 
-+#endif
-+
- const char kDesktopEntry[] = "Desktop Entry";
- 
- const char kXdgOpenShebang[] = "#!/usr/bin/env xdg-open";
--- 
-1.9.1
-
diff --git a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
similarity index 93%
rename from recipes-browser/chromium/chromium/chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
rename to recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
index fab0344..e2c1a5c 100644
--- a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
+++ b/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
@@ -1,4 +1,4 @@
-From 7166cba808d1922f4604d6771c21b90513bf9c2b Mon Sep 17 00:00:00 2001
+From 821d9fde2302f68f7cb7f0b211f4f78220c97180 Mon Sep 17 00:00:00 2001
 From: Carlos Rafael Giani <dv@pseudoterminal.org>
 Date: Sun, 12 Oct 2014 17:54:18 +0200
 Subject: [PATCH] Remove accelerated Canvas support from blacklist
@@ -18,7 +18,7 @@ Upstream-Status: Inappropiate [see link above]
  1 file changed, 10 deletions(-)
 
 diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
-index 4e8e56a..f6dd7e5 100644
+index b9f5e3a..ccf1460 100644
 --- a/gpu/config/software_rendering_list_json.cc
 +++ b/gpu/config/software_rendering_list_json.cc
 @@ -240,16 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
diff --git a/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch b/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch
new file mode 100644
index 0000000..b5916ca
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch
@@ -0,0 +1,39 @@
+From 61cbd67e88f5e99185d7df1a05f842c58e691495 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sun, 21 Dec 2014 01:01:04 +0100
+Subject: [PATCH] Add Linux to impl side painting whitelist
+
+Upstream-Status: Inappropriate [enable feature]
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ gpu/config/software_rendering_list_json.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
+index ccf1460..8630d75 100644
+--- a/gpu/config/software_rendering_list_json.cc
++++ b/gpu/config/software_rendering_list_json.cc
+@@ -1088,13 +1088,18 @@ LONG_STRING_CONST(
+     },
+     {
+       "id": 99,
+-      "description": "GPU rasterization is blacklisted on non-Android",
++      "description": "GPU rasterization is blacklisted on non-Android and non-Linux (Yocto patch)",
+       "cr_bugs": [362779],
+       "exceptions": [
+         {
+           "os": {
+             "type": "android"
+           }
++        },
++        {
++          "os": {
++            "type": "linux"
++          }
+         }
+       ],
+       "features": [
+-- 
+1.9.1
+
diff --git a/recipes-browser/chromium/chromium/chromium-38/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch
similarity index 92%
rename from recipes-browser/chromium/chromium/chromium-38/0002-Disable-API-keys-info-bar.patch
rename to recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch
index 5b5962a..f36fc24 100644
--- a/recipes-browser/chromium/chromium/chromium-38/0002-Disable-API-keys-info-bar.patch
+++ b/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch
@@ -1,4 +1,4 @@
-From e3a694a5324b9fab58875f2a1bd4cbe48fe6e151 Mon Sep 17 00:00:00 2001
+From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
 From: Carlos Rafael Giani <dv@pseudoterminal.org>
 Date: Mon, 9 Jun 2014 15:05:11 +0200
 Subject: [PATCH] Disable API keys info bar
@@ -14,7 +14,7 @@ Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
  1 file changed, 2 insertions(+)
 
 diff --git a/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc b/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc
-index 5014219..bb2a39d 100644
+index edea11a..4aef68f 100644
 --- a/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc
 +++ b/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc
 @@ -18,8 +18,10 @@ void GoogleApiKeysInfoBarDelegate::Create(InfoBarService* infobar_service) {
@@ -29,5 +29,5 @@ index 5014219..bb2a39d 100644
  
  GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
 -- 
-1.8.3.2
+1.9.1
 
diff --git a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
similarity index 91%
rename from recipes-browser/chromium/chromium/chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch
rename to recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
index 47ae86e..402a674 100644
--- a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch
+++ b/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
@@ -1,4 +1,4 @@
-From e5c8af3d5e2a49effd39846657dd55ff6af44a63 Mon Sep 17 00:00:00 2001
+From 518135b0cd6878e91e5fcf489f3185740ec307c0 Mon Sep 17 00:00:00 2001
 From: Carlos Rafael Giani <dv@pseudoterminal.org>
 Date: Sun, 12 Oct 2014 19:31:47 +0200
 Subject: [PATCH] Remove hard coded values for CC and CXX
@@ -18,10 +18,10 @@ Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
  1 file changed, 10 deletions(-)
 
 diff --git a/build/common.gypi b/build/common.gypi
-index 609041c..4040a0b 100644
+index 7ec5ae2..11e8d1d 100644
 --- a/build/common.gypi
 +++ b/build/common.gypi
-@@ -5577,16 +5577,6 @@
+@@ -5808,16 +5808,6 @@
          ['CXX.host', '<(host_cxx)'],
        ],
      }],
diff --git a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-X-libraries-from-GYP-files.patch b/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch
similarity index 91%
rename from recipes-browser/chromium/chromium/chromium-38/0001-Remove-X-libraries-from-GYP-files.patch
rename to recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch
index 4734f31..632590a 100644
--- a/recipes-browser/chromium/chromium/chromium-38/0001-Remove-X-libraries-from-GYP-files.patch
+++ b/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch
@@ -1,4 +1,4 @@
-From 715277bbb81a32c7225416eaef77521b2a4f63ac Mon Sep 17 00:00:00 2001
+From 23e33854a1c5cddc56acd9abdbda14757b809c7d Mon Sep 17 00:00:00 2001
 From: Carlos Rafael Giani <dv@pseudoterminal.org>
 Date: Sun, 12 Oct 2014 18:08:37 +0200
 Subject: [PATCH] Remove X libraries from GYP files
@@ -17,10 +17,10 @@ Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
  4 files changed, 1 insertion(+), 11 deletions(-)
 
 diff --git a/third_party/libjingle/source/talk/libjingle.gyp b/third_party/libjingle/source/talk/libjingle.gyp
-index 6064277..7fbf5b5 100755
+index 90d1f41..22655dc 100755
 --- a/third_party/libjingle/source/talk/libjingle.gyp
 +++ b/third_party/libjingle/source/talk/libjingle.gyp
-@@ -575,8 +575,6 @@
+@@ -455,8 +455,6 @@
            ],
            'libraries': [
              '-lrt',
@@ -30,7 +30,7 @@ index 6064277..7fbf5b5 100755
          }],
          ['OS=="win"', {
 diff --git a/third_party/libjingle/source/talk/libjingle_examples.gyp b/third_party/libjingle/source/talk/libjingle_examples.gyp
-index 3e31f50..44252a3 100755
+index f7ce53b..204bc1e 100755
 --- a/third_party/libjingle/source/talk/libjingle_examples.gyp
 +++ b/third_party/libjingle/source/talk/libjingle_examples.gyp
 @@ -207,10 +207,6 @@
@@ -45,10 +45,10 @@ index 3e31f50..44252a3 100755
                },
              }],  # OS=="linux"
 diff --git a/third_party/webrtc/base/base.gyp b/third_party/webrtc/base/base.gyp
-index ba5678e..e1cabc7 100644
+index 2fd64ba..ccab4e9 100644
 --- a/third_party/webrtc/base/base.gyp
 +++ b/third_party/webrtc/base/base.gyp
-@@ -574,10 +574,6 @@
+@@ -593,10 +593,6 @@
              'libraries': [
                '-ldl',
                '-lrt',
@@ -58,9 +58,9 @@ index ba5678e..e1cabc7 100644
 -              '-lXrender',
              ],
            },
-           'conditions': [
+         }, {
 diff --git a/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi b/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi
-index a0195d6..ec6738b 100644
+index 1b702f2..93ede57 100644
 --- a/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi
 +++ b/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi
 @@ -97,7 +97,7 @@
diff --git a/recipes-browser/chromium/chromium_38.0.2125.101.bb b/recipes-browser/chromium/chromium_38.0.2125.101.bb
deleted file mode 100644
index 55d2cca..0000000
--- a/recipes-browser/chromium/chromium_38.0.2125.101.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-include chromium.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=537e0b52077bf0a616d0a0c8a79bc9d5"
-SRC_URI += "\
-        ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-38/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://chromium-38/0001-Disable-rasterization-whitelist-unlocking-impl-side-.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-38/0002-Disable-API-keys-info-bar.patch', '', d)} \
-        file://chromium-38/0001-Remove-hard-coded-values-for-CC-and-CXX.patch \
-        file://unistd-2.patch \
-"
-# conditionally add shell integration patch (ozone-wayland contains a patch that makes
-# this one redundant, therefore use this patch only for X11 builds)
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'file://chromium-38/0001-shell-integration-conditionally-compile-routines-for.patch', '', d)}"
-SRC_URI[md5sum] = "be4d3ad6944e43132e4fbde5a23d1ab8"
-SRC_URI[sha256sum] = "d3303519ab471a3bc831e9b366e64dc2fe651894e52ae5d1e74de60ee2a1198a"
-
-OZONE_WAYLAND_EXTRA_PATCHES += " \
-        file://chromium-38/0001-Remove-X-libraries-from-GYP-files.patch \
-"
-OZONE_WAYLAND_GIT_BRANCH = "Milestone-Harvest"
-OZONE_WAYLAND_GIT_SRCREV = "0f8b830730d9b696a667c331c50ac6333bb85c13"
-# using 00*.patch to skip the WebRTC patches in ozone-wayland
-# the WebRTC patches remove X11 libraries from the linker flags, which is
-# already done by another patch (see above). Furthermore, to be able to use
-# these patches, it is necessary to update the git repository in third_party/webrtc,
-# which would further complicate this recipe.
-OZONE_WAYLAND_PATCH_FILE_GLOB = "00*.patch"
diff --git a/recipes-browser/chromium/chromium_40.0.2214.91.bb b/recipes-browser/chromium/chromium_40.0.2214.91.bb
new file mode 100644
index 0000000..d0ff07d
--- /dev/null
+++ b/recipes-browser/chromium/chromium_40.0.2214.91.bb
@@ -0,0 +1,32 @@
+include chromium.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=537e0b52077bf0a616d0a0c8a79bc9d5"
+SRC_URI += "\
+        ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch', '', d)} \
+        ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-40/0003-Disable-API-keys-info-bar.patch', '', d)} \
+        file://chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch \
+        file://unistd-2.patch \
+"
+SRC_URI[md5sum] = "1f5093bd7e435fdebad070e74bfb3438"
+SRC_URI[sha256sum] = "f72fda9ff1ea256ab911610ee532eadf8303137d431f2481d01d3d60e5e64149"
+
+OZONE_WAYLAND_EXTRA_PATCHES += " \
+        file://chromium-40/0005-Remove-X-libraries-from-GYP-files.patch \
+"
+OZONE_WAYLAND_GIT_BRANCH = "Milestone-ThanksGiving"
+OZONE_WAYLAND_GIT_SRCREV = "5d7baa9bc3b8c88e9b7e476e3d6bc8cd44a887fe"
+# using 00*.patch to skip the WebRTC patches in ozone-wayland
+# the WebRTC patches remove X11 libraries from the linker flags, which is
+# already done by another patch (see above). Furthermore, to be able to use
+# these patches, it is necessary to update the git repository in third_party/webrtc,
+# which would further complicate this recipe.
+OZONE_WAYLAND_PATCH_FILE_GLOB = "00*.patch"
+
+# Component build is broken in ozone-wayland for Chromium 40,
+# and is not planned to work again before version 41
+python() {
+    if (d.getVar('ENABLE_X11', True) != '1') and (d.getVar('ENABLE_WAYLAND', True) == '1'):
+        if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
+            bb.fatal("Chromium 40 Wayland version cannot be built in component-mode")
+}
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-01-27  0:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-27  0:07 [meta-browser][PATCH v2 1/2] chromium: Reorganize into .inc and .bb to allow for cleaner upgrades Carlos Rafael Giani
2015-01-27  0:07 ` [meta-browser][PATCH v2 2/2] chromium: chromium: Upgrade to version 40.0.2214.91 Carlos Rafael Giani

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.