[arch-commits] Commit in chromium/repos (36 files)
Evangelos Foutras
foutrelis at archlinux.org
Wed Jul 26 13:37:35 UTC 2017
Date: Wednesday, July 26, 2017 @ 13:37:35
Author: foutrelis
Revision: 301278
archrelease: copy trunk to extra-i686, extra-x86_64
Added:
chromium/repos/extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
(from rev 301277, chromium/trunk/0001-Clip-FreeType-glyph-bitmap-to-mask.patch)
chromium/repos/extra-i686/PKGBUILD
(from rev 301277, chromium/trunk/PKGBUILD)
chromium/repos/extra-i686/chromium-blink-gcc7.patch
(from rev 301277, chromium/trunk/chromium-blink-gcc7.patch)
chromium/repos/extra-i686/chromium-gn-bootstrap-r8.patch
(from rev 301277, chromium/trunk/chromium-gn-bootstrap-r8.patch)
chromium/repos/extra-i686/chromium-v8-gcc7.patch
(from rev 301277, chromium/trunk/chromium-v8-gcc7.patch)
chromium/repos/extra-i686/chromium-widevine.patch
(from rev 301277, chromium/trunk/chromium-widevine.patch)
chromium/repos/extra-i686/chromium.desktop
(from rev 301277, chromium/trunk/chromium.desktop)
chromium/repos/extra-i686/chromium.install
(from rev 301277, chromium/trunk/chromium.install)
chromium/repos/extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
(from rev 301277, chromium/trunk/0001-Clip-FreeType-glyph-bitmap-to-mask.patch)
chromium/repos/extra-x86_64/PKGBUILD
(from rev 301277, chromium/trunk/PKGBUILD)
chromium/repos/extra-x86_64/chromium-blink-gcc7.patch
(from rev 301277, chromium/trunk/chromium-blink-gcc7.patch)
chromium/repos/extra-x86_64/chromium-gn-bootstrap-r8.patch
(from rev 301277, chromium/trunk/chromium-gn-bootstrap-r8.patch)
chromium/repos/extra-x86_64/chromium-v8-gcc7.patch
(from rev 301277, chromium/trunk/chromium-v8-gcc7.patch)
chromium/repos/extra-x86_64/chromium-widevine.patch
(from rev 301277, chromium/trunk/chromium-widevine.patch)
chromium/repos/extra-x86_64/chromium.desktop
(from rev 301277, chromium/trunk/chromium.desktop)
chromium/repos/extra-x86_64/chromium.install
(from rev 301277, chromium/trunk/chromium.install)
Deleted:
chromium/repos/extra-i686/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
chromium/repos/extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
chromium/repos/extra-i686/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
chromium/repos/extra-i686/PKGBUILD
chromium/repos/extra-i686/chromium-blink-gcc7.patch
chromium/repos/extra-i686/chromium-system-ffmpeg-r6.patch
chromium/repos/extra-i686/chromium-v8-gcc7.patch
chromium/repos/extra-i686/chromium-widevine.patch
chromium/repos/extra-i686/chromium.desktop
chromium/repos/extra-i686/chromium.install
chromium/repos/extra-x86_64/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
chromium/repos/extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
chromium/repos/extra-x86_64/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
chromium/repos/extra-x86_64/PKGBUILD
chromium/repos/extra-x86_64/chromium-blink-gcc7.patch
chromium/repos/extra-x86_64/chromium-system-ffmpeg-r6.patch
chromium/repos/extra-x86_64/chromium-v8-gcc7.patch
chromium/repos/extra-x86_64/chromium-widevine.patch
chromium/repos/extra-x86_64/chromium.desktop
chromium/repos/extra-x86_64/chromium.install
------------------------------------------------------------------------------+
/0001-Clip-FreeType-glyph-bitmap-to-mask.patch | 340 ++++++++
/PKGBUILD | 398 ++++++++++
/chromium-blink-gcc7.patch | 152 +++
/chromium-v8-gcc7.patch | 146 +++
/chromium-widevine.patch | 20
/chromium.desktop | 224 +++++
/chromium.install | 32
extra-i686/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch | 118 --
extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch | 170 ----
extra-i686/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch | 35
extra-i686/PKGBUILD | 211 -----
extra-i686/chromium-blink-gcc7.patch | 76 -
extra-i686/chromium-gn-bootstrap-r8.patch | 13
extra-i686/chromium-system-ffmpeg-r6.patch | 43 -
extra-i686/chromium-v8-gcc7.patch | 73 -
extra-i686/chromium-widevine.patch | 10
extra-i686/chromium.desktop | 112 --
extra-i686/chromium.install | 16
extra-x86_64/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch | 118 --
extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch | 170 ----
extra-x86_64/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch | 35
extra-x86_64/PKGBUILD | 211 -----
extra-x86_64/chromium-blink-gcc7.patch | 76 -
extra-x86_64/chromium-gn-bootstrap-r8.patch | 13
extra-x86_64/chromium-system-ffmpeg-r6.patch | 43 -
extra-x86_64/chromium-v8-gcc7.patch | 73 -
extra-x86_64/chromium-widevine.patch | 10
extra-x86_64/chromium.desktop | 112 --
extra-x86_64/chromium.install | 16
29 files changed, 1338 insertions(+), 1728 deletions(-)
Deleted: extra-i686/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
===================================================================
--- extra-i686/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,118 +0,0 @@
-From 27bab2297187099229a1e4304d8feb866c8da55a Mon Sep 17 00:00:00 2001
-From: "dongseong.hwang" <dongseong.hwang at intel.com>
-Date: Tue, 18 Apr 2017 16:44:55 -0700
-Subject: [PATCH] ClientNativePixmapFactoryDmabuf uses ioctl, instead of
- drmIoctl.
-
-DMA_BUF_SYNC ioctl is not drmIoctl, because it uses dma-buf fd, instead of drm
-device fd.
-
-In addition, remove LOCAL_ prefix to fix build failure >= kernel 4.6
-
-Actually, ChromeOS doesn't need this local DMA_BUF_SYNC definition as all
-verion of kernel for cros has dma-buf.h header.
-https://chromium-review.googlesource.com/c/459544/
-However, there is not any way to distinguish real ChromeOS build and
-current_os="chromeos" build, so remain the local definition to ChromeOS as
-well.
-
-BUG=584248
-R=reveman at chromium.org
-
-Review-Url: https://codereview.chromium.org/2805503003
-Cr-Commit-Position: refs/heads/master@{#465425}
----
- ui/gfx/linux/client_native_pixmap_dmabuf.cc | 49 +++++++++++++----------------
- 1 file changed, 21 insertions(+), 28 deletions(-)
-
-diff --git a/ui/gfx/linux/client_native_pixmap_dmabuf.cc b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-index d656c338f0a6..1bb441dc25ce 100644
---- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-+++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -7,36 +7,35 @@
- #include <fcntl.h>
- #include <linux/version.h>
- #include <stddef.h>
-+#include <sys/ioctl.h>
- #include <sys/mman.h>
- #include <xf86drm.h>
-
- #include "base/debug/crash_logging.h"
- #include "base/memory/ptr_util.h"
-+#include "base/posix/eintr_wrapper.h"
- #include "base/process/memory.h"
- #include "base/process/process_metrics.h"
- #include "base/strings/stringprintf.h"
- #include "base/trace_event/trace_event.h"
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
-+#include <linux/dma-buf.h>
-+#else
- #include <linux/types.h>
-
--struct local_dma_buf_sync {
-+struct dma_buf_sync {
- __u64 flags;
- };
-
--#define LOCAL_DMA_BUF_SYNC_READ (1 << 0)
--#define LOCAL_DMA_BUF_SYNC_WRITE (2 << 0)
--#define LOCAL_DMA_BUF_SYNC_RW \
-- (LOCAL_DMA_BUF_SYNC_READ | LOCAL_DMA_BUF_SYNC_WRITE)
--#define LOCAL_DMA_BUF_SYNC_START (0 << 2)
--#define LOCAL_DMA_BUF_SYNC_END (1 << 2)
-+#define DMA_BUF_SYNC_READ (1 << 0)
-+#define DMA_BUF_SYNC_WRITE (2 << 0)
-+#define DMA_BUF_SYNC_RW (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE)
-+#define DMA_BUF_SYNC_START (0 << 2)
-+#define DMA_BUF_SYNC_END (1 << 2)
-
--#define LOCAL_DMA_BUF_BASE 'b'
--#define LOCAL_DMA_BUF_IOCTL_SYNC \
-- _IOW(LOCAL_DMA_BUF_BASE, 0, struct local_dma_buf_sync)
--
--#else
--#include <linux/dma-buf.h>
-+#define DMA_BUF_BASE 'b'
-+#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
- #endif
-
- namespace gfx {
-@@ -44,25 +43,19 @@ namespace gfx {
- namespace {
-
- void PrimeSyncStart(int dmabuf_fd) {
-- struct local_dma_buf_sync sync_start = {0};
-+ struct dma_buf_sync sync_start = {0};
-
-- sync_start.flags = LOCAL_DMA_BUF_SYNC_START | LOCAL_DMA_BUF_SYNC_RW;
--#if DCHECK_IS_ON()
-- int rv =
--#endif
-- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_start);
-- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
-+ sync_start.flags = DMA_BUF_SYNC_START | DMA_BUF_SYNC_RW;
-+ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_start));
-+ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
- }
-
- void PrimeSyncEnd(int dmabuf_fd) {
-- struct local_dma_buf_sync sync_end = {0};
-+ struct dma_buf_sync sync_end = {0};
-
-- sync_end.flags = LOCAL_DMA_BUF_SYNC_END | LOCAL_DMA_BUF_SYNC_RW;
--#if DCHECK_IS_ON()
-- int rv =
--#endif
-- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end);
-- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
-+ sync_end.flags = DMA_BUF_SYNC_END | DMA_BUF_SYNC_RW;
-+ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_end));
-+ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
- }
-
- } // namespace
---
-2.13.0
-
Deleted: extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
===================================================================
--- extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,170 +0,0 @@
-From 6cdb5f2ad7684302a8a66217462d2aef4c5f4632 Mon Sep 17 00:00:00 2001
-From: Ben Wagner <bungeman at behemoth.cnc.corp.google.com>
-Date: Thu, 15 Jun 2017 10:43:17 -0400
-Subject: [PATCH] Clip FreeType glyph bitmap to mask.
-
-Skia has for some time assumed that when using FT_Render_Glyph with one
-of the LCD render modes that one extra pixel would be applied to each
-side of the resulting bitmap. FreieType has changed to make this more
-conservative when possible, so the pre-allocated SkMask and the generated
-FT_Bitmap may no longer agree on the size and origin.
-
-This change ensures the SkMask and FT_Bitmap are the same size and their
-origins align. This is not an ideal long term fix, but is both simple and
-localized for easy and quick back-porting, should that become necessary.
-
-BUG=skia:6663
-
-Change-Id: I49ec8f45376be8d867e8aef54eab79537731c310
-Reviewed-on: https://skia-review.googlesource.com/20327
-Reviewed-by: Herb Derby <herb at google.com>
-Commit-Queue: Ben Wagner <bungeman at google.com>
----
- src/ports/SkFontHost_FreeType_common.cpp | 100 +++++++++++++++++++++++++------
- 1 file changed, 83 insertions(+), 17 deletions(-)
-
-diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp
-index 9df7268bb4..a216fdb29c 100644
---- a/src/ports/SkFontHost_FreeType_common.cpp
-+++ b/src/ports/SkFontHost_FreeType_common.cpp
-@@ -395,8 +395,6 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- switch ( face->glyph->format ) {
- case FT_GLYPH_FORMAT_OUTLINE: {
- FT_Outline* outline = &face->glyph->outline;
-- FT_BBox bbox;
-- FT_Bitmap target;
-
- int dx = 0, dy = 0;
- if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) {
-@@ -405,36 +403,97 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- // negate dy since freetype-y-goes-up and skia-y-goes-down
- dy = -dy;
- }
-- FT_Outline_Get_CBox(outline, &bbox);
-- /*
-- what we really want to do for subpixel is
-- offset(dx, dy)
-- compute_bounds
-- offset(bbox & !63)
-- but that is two calls to offset, so we do the following, which
-- achieves the same thing with only one offset call.
-- */
-- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
-- dy - ((bbox.yMin + dy) & ~63));
-+
-+ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
-
- if (SkMask::kLCD16_Format == glyph.fMaskFormat) {
-+ FT_Outline_Translate(outline, dx, dy);
- FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V :
- FT_RENDER_MODE_LCD);
- if (err) {
- SK_TRACEFTR(err, "Could not render glyph.");
-- sk_bzero(glyph.fImage, glyph.computeImageSize());
- return;
- }
-+
- SkMask mask;
- glyph.toMask(&mask);
-+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
-+ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes);
-+#endif
-+ FT_GlyphSlotRec& ftGlyph = *face->glyph;
-+
-+ if (!SkIRect::Intersects(mask.fBounds,
-+ SkIRect::MakeXYWH( ftGlyph.bitmap_left,
-+ -ftGlyph.bitmap_top,
-+ ftGlyph.bitmap.width,
-+ ftGlyph.bitmap.rows)))
-+ {
-+ return;
-+ }
-+
-+ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask.
-+ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded).
-+ unsigned char* origBuffer = ftGlyph.bitmap.buffer;
-+ // First align the top left (origin).
-+ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) {
-+ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top);
-+ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff;
-+ ftGlyph.bitmap.rows -= topDiff;
-+ ftGlyph.bitmap_top = -mask.fBounds.fTop;
-+ }
-+ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) {
-+ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left;
-+ ftGlyph.bitmap.buffer += leftDiff;
-+ ftGlyph.bitmap.width -= leftDiff;
-+ ftGlyph.bitmap_left = mask.fBounds.fLeft;
-+ }
-+ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) {
-+ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop);
-+ mask.fBounds.fTop = -ftGlyph.bitmap_top;
-+ }
-+ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) {
-+ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft);
-+ mask.fBounds.fLeft = ftGlyph.bitmap_left;
-+ }
-+ // Origins aligned, clean up the width and height.
-+ int ftVertScale = (doVert ? 3 : 1);
-+ int ftHoriScale = (doVert ? 1 : 3);
-+ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) {
-+ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale;
-+ }
-+ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) {
-+ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale;
-+ }
-+ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) {
-+ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale;
-+ }
-+ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) {
-+ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale;
-+ }
- if (fPreBlend.isApplicable()) {
-- copyFT2LCD16<true>(face->glyph->bitmap, mask, doBGR,
-+ copyFT2LCD16<true>(ftGlyph.bitmap, mask, doBGR,
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
- } else {
-- copyFT2LCD16<false>(face->glyph->bitmap, mask, doBGR,
-+ copyFT2LCD16<false>(ftGlyph.bitmap, mask, doBGR,
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
- }
-+ // Restore the buffer pointer so FreeType can properly free it.
-+ ftGlyph.bitmap.buffer = origBuffer;
- } else {
-+ FT_BBox bbox;
-+ FT_Bitmap target;
-+ FT_Outline_Get_CBox(outline, &bbox);
-+ /*
-+ what we really want to do for subpixel is
-+ offset(dx, dy)
-+ compute_bounds
-+ offset(bbox & !63)
-+ but that is two calls to offset, so we do the following, which
-+ achieves the same thing with only one offset call.
-+ */
-+ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
-+ dy - ((bbox.yMin + dy) & ~63));
-+
- target.width = glyph.fWidth;
- target.rows = glyph.fHeight;
- target.pitch = glyph.rowBytes();
-@@ -442,8 +501,15 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat);
- target.num_grays = 256;
-
-- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
- FT_Outline_Get_Bitmap(face->glyph->library, outline, &target);
-+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
-+ for (int y = 0; y < glyph.fHeight; ++y) {
-+ for (int x = 0; x < glyph.fWidth; ++x) {
-+ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x];
-+ a = SkTMax<uint8_t>(a, 0x20);
-+ }
-+ }
-+#endif
- }
- } break;
-
---
-2.13.2
-
Copied: chromium/repos/extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch (from rev 301277, chromium/trunk/0001-Clip-FreeType-glyph-bitmap-to-mask.patch)
===================================================================
--- extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch (rev 0)
+++ extra-i686/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,170 @@
+From 6cdb5f2ad7684302a8a66217462d2aef4c5f4632 Mon Sep 17 00:00:00 2001
+From: Ben Wagner <bungeman at behemoth.cnc.corp.google.com>
+Date: Thu, 15 Jun 2017 10:43:17 -0400
+Subject: [PATCH] Clip FreeType glyph bitmap to mask.
+
+Skia has for some time assumed that when using FT_Render_Glyph with one
+of the LCD render modes that one extra pixel would be applied to each
+side of the resulting bitmap. FreieType has changed to make this more
+conservative when possible, so the pre-allocated SkMask and the generated
+FT_Bitmap may no longer agree on the size and origin.
+
+This change ensures the SkMask and FT_Bitmap are the same size and their
+origins align. This is not an ideal long term fix, but is both simple and
+localized for easy and quick back-porting, should that become necessary.
+
+BUG=skia:6663
+
+Change-Id: I49ec8f45376be8d867e8aef54eab79537731c310
+Reviewed-on: https://skia-review.googlesource.com/20327
+Reviewed-by: Herb Derby <herb at google.com>
+Commit-Queue: Ben Wagner <bungeman at google.com>
+---
+ src/ports/SkFontHost_FreeType_common.cpp | 100 +++++++++++++++++++++++++------
+ 1 file changed, 83 insertions(+), 17 deletions(-)
+
+diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp
+index 9df7268bb4..a216fdb29c 100644
+--- a/src/ports/SkFontHost_FreeType_common.cpp
++++ b/src/ports/SkFontHost_FreeType_common.cpp
+@@ -395,8 +395,6 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ switch ( face->glyph->format ) {
+ case FT_GLYPH_FORMAT_OUTLINE: {
+ FT_Outline* outline = &face->glyph->outline;
+- FT_BBox bbox;
+- FT_Bitmap target;
+
+ int dx = 0, dy = 0;
+ if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) {
+@@ -405,36 +403,97 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ // negate dy since freetype-y-goes-up and skia-y-goes-down
+ dy = -dy;
+ }
+- FT_Outline_Get_CBox(outline, &bbox);
+- /*
+- what we really want to do for subpixel is
+- offset(dx, dy)
+- compute_bounds
+- offset(bbox & !63)
+- but that is two calls to offset, so we do the following, which
+- achieves the same thing with only one offset call.
+- */
+- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
+- dy - ((bbox.yMin + dy) & ~63));
++
++ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
+
+ if (SkMask::kLCD16_Format == glyph.fMaskFormat) {
++ FT_Outline_Translate(outline, dx, dy);
+ FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V :
+ FT_RENDER_MODE_LCD);
+ if (err) {
+ SK_TRACEFTR(err, "Could not render glyph.");
+- sk_bzero(glyph.fImage, glyph.computeImageSize());
+ return;
+ }
++
+ SkMask mask;
+ glyph.toMask(&mask);
++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
++ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes);
++#endif
++ FT_GlyphSlotRec& ftGlyph = *face->glyph;
++
++ if (!SkIRect::Intersects(mask.fBounds,
++ SkIRect::MakeXYWH( ftGlyph.bitmap_left,
++ -ftGlyph.bitmap_top,
++ ftGlyph.bitmap.width,
++ ftGlyph.bitmap.rows)))
++ {
++ return;
++ }
++
++ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask.
++ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded).
++ unsigned char* origBuffer = ftGlyph.bitmap.buffer;
++ // First align the top left (origin).
++ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) {
++ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top);
++ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff;
++ ftGlyph.bitmap.rows -= topDiff;
++ ftGlyph.bitmap_top = -mask.fBounds.fTop;
++ }
++ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) {
++ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left;
++ ftGlyph.bitmap.buffer += leftDiff;
++ ftGlyph.bitmap.width -= leftDiff;
++ ftGlyph.bitmap_left = mask.fBounds.fLeft;
++ }
++ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) {
++ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop);
++ mask.fBounds.fTop = -ftGlyph.bitmap_top;
++ }
++ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) {
++ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft);
++ mask.fBounds.fLeft = ftGlyph.bitmap_left;
++ }
++ // Origins aligned, clean up the width and height.
++ int ftVertScale = (doVert ? 3 : 1);
++ int ftHoriScale = (doVert ? 1 : 3);
++ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) {
++ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale;
++ }
++ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) {
++ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale;
++ }
++ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) {
++ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale;
++ }
++ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) {
++ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale;
++ }
+ if (fPreBlend.isApplicable()) {
+- copyFT2LCD16<true>(face->glyph->bitmap, mask, doBGR,
++ copyFT2LCD16<true>(ftGlyph.bitmap, mask, doBGR,
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
+ } else {
+- copyFT2LCD16<false>(face->glyph->bitmap, mask, doBGR,
++ copyFT2LCD16<false>(ftGlyph.bitmap, mask, doBGR,
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
+ }
++ // Restore the buffer pointer so FreeType can properly free it.
++ ftGlyph.bitmap.buffer = origBuffer;
+ } else {
++ FT_BBox bbox;
++ FT_Bitmap target;
++ FT_Outline_Get_CBox(outline, &bbox);
++ /*
++ what we really want to do for subpixel is
++ offset(dx, dy)
++ compute_bounds
++ offset(bbox & !63)
++ but that is two calls to offset, so we do the following, which
++ achieves the same thing with only one offset call.
++ */
++ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
++ dy - ((bbox.yMin + dy) & ~63));
++
+ target.width = glyph.fWidth;
+ target.rows = glyph.fHeight;
+ target.pitch = glyph.rowBytes();
+@@ -442,8 +501,15 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat);
+ target.num_grays = 256;
+
+- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
+ FT_Outline_Get_Bitmap(face->glyph->library, outline, &target);
++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
++ for (int y = 0; y < glyph.fHeight; ++y) {
++ for (int x = 0; x < glyph.fWidth; ++x) {
++ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x];
++ a = SkTMax<uint8_t>(a, 0x20);
++ }
++ }
++#endif
+ }
+ } break;
+
+--
+2.13.2
+
Deleted: extra-i686/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
===================================================================
--- extra-i686/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,35 +0,0 @@
-From 63901da067e069e298595618e01c4758c7896ff5 Mon Sep 17 00:00:00 2001
-From: thomasanderson <thomasanderson at google.com>
-Date: Fri, 28 Apr 2017 11:56:12 -0700
-Subject: [PATCH] Fix kernel version condition for including dma-buf.h
-
-Kernel 4.11 merges the commit that added linux/dma-buf.h
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ef96152e6a36e0510387cb174178b7982c1ae879
-
-This CL increases the required kernel to include this file to 4.11.
-
-BUG=707604
-R=danakj at chromium.org
-
-Review-Url: https://codereview.chromium.org/2851803002
-Cr-Commit-Position: refs/heads/master@{#468078}
----
- ui/gfx/linux/client_native_pixmap_dmabuf.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gfx/linux/client_native_pixmap_dmabuf.cc b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-index 31ff4f4395b6..4927daf3a61d 100644
---- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-+++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -19,7 +19,7 @@
- #include "base/strings/stringprintf.h"
- #include "base/trace_event/trace_event.h"
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
- #include <linux/dma-buf.h>
- #else
- #include <linux/types.h>
---
-2.13.0
-
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/PKGBUILD 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,211 +0,0 @@
-# $Id: PKGBUILD 277477 2016-10-01 03:36:40Z foutrelis $
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-
-# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
-# Keys are the names in the above script; values are the dependencies in Arch
-declare -rgA _system_libs=(
- #[ffmpeg]=ffmpeg # https://crbug.com/731766
- [flac]=flac
- [harfbuzz-ng]=harfbuzz-icu
- #[icu]=icu # Enable again when upstream supports ICU 59
- [libdrm]=
- [libjpeg]=libjpeg
- [libpng]=libpng
- #[libvpx]=libvpx # https://bugs.gentoo.org/show_bug.cgi?id=611394
- [libwebp]=libwebp
- [libxml]=libxml2
- [libxslt]=libxslt
- [re2]=re2
- [snappy]=snappy
- [yasm]=
- [zlib]=minizip
-)
-
-pkgname=chromium
-pkgver=59.0.3071.115
-pkgrel=1
-_launcher_ver=5
-_freetype_rev=5a3490e054bda8a318ebde482
-pkgdesc="A web browser built for speed, simplicity, and security"
-arch=('i686' 'x86_64')
-url="https://www.chromium.org/Home"
-license=('BSD')
-depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
- 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'desktop-file-utils'
- 'hicolor-icon-theme')
-depends+=(${_system_libs[@]})
-makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git')
-optdepends=('kdialog: needed for file dialogs in KDE'
- 'gnome-keyring: for storing passwords in GNOME keyring'
- 'kwallet: for storing passwords in KWallet')
-install=chromium.install
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
- chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
- chromium-freetype2::git+https://chromium.googlesource.com/chromium/src/third_party/freetype2#commit=$_freetype_rev
- chromium.desktop
- chromium-system-ffmpeg-r6.patch
- 0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
- 0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
- 0001-Clip-FreeType-glyph-bitmap-to-mask.patch
- chromium-blink-gcc7.patch
- chromium-v8-gcc7.patch
- chromium-widevine.patch)
-sha256sums=('37cbc9955ae3b25cd4e9851a82ea97a0035021cc90658902938ad1c20f263170'
- '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
- 'SKIP'
- '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
- '2fc21f48b95f9f2c2bd8576742fcf8028a8877c6b6e96c04d88184915982234e'
- '9c081c84a4f85dbef82a9edf34cf0b1e8377c563874fd9c1b4efddf1476748f9'
- '42eb6ada30d5d507f2bda2d2caece37e397e7086bc0d430db776fad143562fb6'
- 'e60aa0ff01f8bee67e45fde7bbe932901194984673ec4b10ea82bba1bace0cd7'
- 'f94310a7ba9b8b777adfb4442bcc0a8f0a3d549b2cf4a156066f8e2e28e2f323'
- '46dacc4fa52652b7d99b8996d6a97e5e3bac586f879aefb9fb95020d2c4e5aec'
- 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
-
-# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
-# Note: These are for Arch Linux use ONLY. For your own distribution, please
-# get your own set of keys. Feel free to contact foutrelis at archlinux.org for
-# more information.
-_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
-_google_default_client_id=413772536636.apps.googleusercontent.com
-_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
-
-prepare() {
- cd "$srcdir/$pkgname-$pkgver"
-
- # https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/wuInaKJkosg/kMfIV_7wDgAJ
- mv "$srcdir/chromium-freetype2" third_party/freetype/src
-
- # Enable support for the Widevine CDM plugin
- # libwidevinecdm.so is not included, but can be copied over from Chrome
- # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
- sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
- patch -Np1
-
- # https://bugs.chromium.org/p/chromium/issues/detail?id=707604
- patch -Np1 -i ../0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
- patch -Np1 -i ../0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
-
- # https://bugs.chromium.org/p/skia/issues/detail?id=6663
- patch -Np1 -d third_party/skia <../0001-Clip-FreeType-glyph-bitmap-to-mask.patch
-
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853347
- patch -Np1 -i ../chromium-blink-gcc7.patch
-
- # https://bugs.chromium.org/p/chromium/issues/detail?id=614289
- patch -Np1 -i ../chromium-v8-gcc7.patch
-
- # Fixes from Gentoo
- patch -Np1 -i ../chromium-system-ffmpeg-r6.patch
-
- # Use Python 2
- find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
-
- # There are still a lot of relative calls which need a workaround
- mkdir -p "$srcdir/python2-path"
- ln -sf /usr/bin/python2 "$srcdir/python2-path/python"
-
- mkdir -p third_party/node/linux/node-linux-x64/bin
- ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-
- # Remove bundled libraries for which we will use the system copies; this
- # *should* do what the remove_bundled_libraries.py script does, with the
- # added benefit of not having to list all the remaining libraries
- local _lib
- for _lib in ${!_system_libs[@]} ${_system_libs[libjpeg]+libjpeg_turbo}; do
- find -type f -path "*third_party/$_lib/*" \
- \! -path "*third_party/$_lib/chromium/*" \
- \! -path "*third_party/$_lib/google/*" \
- \! -path "*base/third_party/icu/*" \
- \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
- -delete
- done
-
- python2 build/linux/unbundle/replace_gn_files.py \
- --system-libraries "${!_system_libs[@]}"
-}
-
-build() {
- make -C chromium-launcher-$_launcher_ver
-
- cd "$srcdir/$pkgname-$pkgver"
-
- export PATH="$srcdir/python2-path:$PATH"
- export TMPDIR="$srcdir/temp"
- mkdir -p "$TMPDIR"
-
- local _flags=(
- 'is_clang=false'
- 'clang_use_chrome_plugins=false'
- 'is_debug=false'
- 'fatal_linker_warnings=false'
- 'treat_warnings_as_errors=false'
- 'fieldtrial_testing_like_official_build=true'
- 'remove_webcore_debug_symbols=true'
- 'ffmpeg_branding="Chrome"'
- 'proprietary_codecs=true'
- 'link_pulseaudio=true'
- 'linux_use_bundled_binutils=false'
- 'use_gtk3=true'
- 'use_gconf=false'
- 'use_gnome_keyring=false'
- 'use_gold=false'
- 'use_sysroot=false'
- 'enable_hangout_services_extension=true'
- 'enable_widevine=true'
- 'enable_nacl=false'
- 'enable_swiftshader=false'
- "google_api_key=\"${_google_api_key}\""
- "google_default_client_id=\"${_google_default_client_id}\""
- "google_default_client_secret=\"${_google_default_client_secret}\""
- )
-
- python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
- out/Release/gn gen out/Release --args="${_flags[*]}" \
- --script-executable=/usr/bin/python2
-
- ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
-}
-
-package() {
- cd chromium-launcher-$_launcher_ver
- make PREFIX=/usr DESTDIR="$pkgdir" install
- install -Dm644 LICENSE \
- "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
-
- cd "$srcdir/$pkgname-$pkgver"
-
- install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
- install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
- install -Dm644 "$srcdir/chromium.desktop" \
- "$pkgdir/usr/share/applications/chromium.desktop"
-
- install -Dm4755 out/Release/chrome_sandbox \
- "$pkgdir/usr/lib/chromium/chrome-sandbox"
-
- cp -a \
- out/Release/{chrome_{100,200}_percent,resources}.pak \
- out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
- out/Release/locales \
- out/Release/icudtl.dat \
- "$pkgdir/usr/lib/chromium/"
-
- ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
-
- for size in 22 24 48 64 128 256; do
- install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
- "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
- done
-
- for size in 16 32; do
- install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
- "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
- done
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:
Copied: chromium/repos/extra-i686/PKGBUILD (from rev 301277, chromium/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,199 @@
+# $Id: PKGBUILD 277477 2016-10-01 03:36:40Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
+# Keys are the names in the above script; values are the dependencies in Arch
+declare -rgA _system_libs=(
+ #[ffmpeg]=ffmpeg # https://crbug.com/731766
+ [flac]=flac
+ #[freetype]=freetype2 # https://crbug.com/pdfium/733
+ [harfbuzz-ng]=harfbuzz-icu
+ #[icu]=icu # Enable again when upstream supports ICU 59
+ [libdrm]=
+ [libjpeg]=libjpeg
+ [libpng]=libpng
+ #[libvpx]=libvpx # https://bugs.gentoo.org/611394
+ [libwebp]=libwebp
+ #[libxml]=libxml2 # https://bugs.gentoo.org/616818
+ [libxslt]=libxslt
+ [opus]=opus
+ [re2]=re2
+ [snappy]=snappy
+ [yasm]=
+ [zlib]=minizip
+)
+
+pkgname=chromium
+pkgver=60.0.3112.78
+pkgrel=1
+_launcher_ver=5
+pkgdesc="A web browser built for speed, simplicity, and security"
+arch=('i686' 'x86_64')
+url="https://www.chromium.org/Home"
+license=('BSD')
+depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
+ 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
+ 'desktop-file-utils' 'hicolor-icon-theme')
+depends+=(${_system_libs[@]})
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git')
+optdepends=('pepper-flash: support for Flash content'
+ 'kdialog: needed for file dialogs in KDE'
+ 'gnome-keyring: for storing passwords in GNOME keyring'
+ 'kwallet: for storing passwords in KWallet')
+install=chromium.install
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+ chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
+ chromium.desktop
+ chromium-gn-bootstrap-r8.patch
+ 0001-Clip-FreeType-glyph-bitmap-to-mask.patch
+ chromium-blink-gcc7.patch
+ chromium-v8-gcc7.patch
+ chromium-widevine.patch)
+sha256sums=('a82db2aa1b9348b619c01894db565eba686780de0e6fa9e83a8f406d06ce03ea'
+ '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
+ '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
+ '06345804c00d9618dad98a2dc04f31ef19912cdf6e9d6e577ef7ffb1fa57003f'
+ 'e60aa0ff01f8bee67e45fde7bbe932901194984673ec4b10ea82bba1bace0cd7'
+ 'f94310a7ba9b8b777adfb4442bcc0a8f0a3d549b2cf4a156066f8e2e28e2f323'
+ '46dacc4fa52652b7d99b8996d6a97e5e3bac586f879aefb9fb95020d2c4e5aec'
+ 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
+
+# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+_google_default_client_id=413772536636.apps.googleusercontent.com
+_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Enable support for the Widevine CDM plugin
+ # libwidevinecdm.so is not included, but can be copied over from Chrome
+ # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
+ sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
+ patch -Np1
+
+ # https://bugs.chromium.org/p/skia/issues/detail?id=6663
+ patch -Np1 -d third_party/skia <../0001-Clip-FreeType-glyph-bitmap-to-mask.patch
+
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853347
+ patch -Np1 -i ../chromium-blink-gcc7.patch
+
+ # https://bugs.chromium.org/p/chromium/issues/detail?id=614289
+ patch -Np1 -i ../chromium-v8-gcc7.patch
+
+ # Fixes from Gentoo
+ patch -Np1 -i ../chromium-gn-bootstrap-r8.patch
+
+ # Use Python 2
+ find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
+
+ # There are still a lot of relative calls which need a workaround
+ mkdir -p "$srcdir/python2-path"
+ ln -sf /usr/bin/python2 "$srcdir/python2-path/python"
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
+ # Remove bundled libraries for which we will use the system copies; this
+ # *should* do what the remove_bundled_libraries.py script does, with the
+ # added benefit of not having to list all the remaining libraries
+ local _lib
+ for _lib in ${!_system_libs[@]} ${_system_libs[libjpeg]+libjpeg_turbo}; do
+ find -type f -path "*third_party/$_lib/*" \
+ \! -path "*third_party/$_lib/chromium/*" \
+ \! -path "*third_party/$_lib/google/*" \
+ \! -path "*base/third_party/icu/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+ done
+
+ python2 build/linux/unbundle/replace_gn_files.py \
+ --system-libraries "${!_system_libs[@]}"
+}
+
+build() {
+ make -C chromium-launcher-$_launcher_ver
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ export PATH="$srcdir/python2-path:$PATH"
+ export TMPDIR="$srcdir/temp"
+ mkdir -p "$TMPDIR"
+
+ local _flags=(
+ 'is_clang=false'
+ 'clang_use_chrome_plugins=false'
+ 'is_debug=false'
+ 'fatal_linker_warnings=false'
+ 'treat_warnings_as_errors=false'
+ 'fieldtrial_testing_like_official_build=true'
+ 'remove_webcore_debug_symbols=true'
+ 'ffmpeg_branding="Chrome"'
+ 'proprietary_codecs=true'
+ 'link_pulseaudio=true'
+ 'linux_use_bundled_binutils=false'
+ 'use_gtk3=true'
+ 'use_gconf=false'
+ 'use_gnome_keyring=false'
+ 'use_gold=false'
+ 'use_sysroot=false'
+ 'enable_hangout_services_extension=true'
+ 'enable_widevine=true'
+ 'enable_nacl=false'
+ 'enable_swiftshader=false'
+ "google_api_key=\"${_google_api_key}\""
+ "google_default_client_id=\"${_google_default_client_id}\""
+ "google_default_client_secret=\"${_google_default_client_secret}\""
+ )
+
+ python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
+ out/Release/gn gen out/Release --args="${_flags[*]}" \
+ --script-executable=/usr/bin/python2
+
+ ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
+}
+
+package() {
+ cd chromium-launcher-$_launcher_ver
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
+ install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
+ install -Dm644 "$srcdir/chromium.desktop" \
+ "$pkgdir/usr/share/applications/chromium.desktop"
+
+ install -Dm4755 out/Release/chrome_sandbox \
+ "$pkgdir/usr/lib/chromium/chrome-sandbox"
+
+ cp -a \
+ out/Release/{chrome_{100,200}_percent,resources}.pak \
+ out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
+ out/Release/locales \
+ out/Release/icudtl.dat \
+ "$pkgdir/usr/lib/chromium/"
+
+ ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
+
+ for size in 22 24 48 64 128 256; do
+ install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
+ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+ done
+
+ for size in 16 32; do
+ install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
+ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+ done
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-i686/chromium-blink-gcc7.patch
===================================================================
--- extra-i686/chromium-blink-gcc7.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium-blink-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,76 +0,0 @@
---- chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h.orig 2017-06-06 15:05:38.145247996 +0300
-+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h 2017-06-06 15:06:13.866246667 +0300
-@@ -685,6 +685,31 @@ inline LinkedHashSet<T, U, V, W>& Linked
- return *this;
- }
-
-+inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
-+ DCHECK(a.prev_);
-+ DCHECK(a.next_);
-+ DCHECK(b.prev_);
-+ DCHECK(b.next_);
-+ swap(a.prev_, b.prev_);
-+ swap(a.next_, b.next_);
-+ if (b.next_ == &a) {
-+ DCHECK_EQ(b.prev_, &a);
-+ b.next_ = &b;
-+ b.prev_ = &b;
-+ } else {
-+ b.next_->prev_ = &b;
-+ b.prev_->next_ = &b;
-+ }
-+ if (a.next_ == &b) {
-+ DCHECK_EQ(a.prev_, &b);
-+ a.next_ = &a;
-+ a.prev_ = &a;
-+ } else {
-+ a.next_->prev_ = &a;
-+ a.prev_->next_ = &a;
-+ }
-+}
-+
- template <typename T, typename U, typename V, typename W>
- inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
- impl_.Swap(other.impl_);
-@@ -877,31 +902,6 @@ inline void LinkedHashSet<T, U, V, W>::e
- erase(Find(value));
- }
-
--inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
-- DCHECK(a.prev_);
-- DCHECK(a.next_);
-- DCHECK(b.prev_);
-- DCHECK(b.next_);
-- swap(a.prev_, b.prev_);
-- swap(a.next_, b.next_);
-- if (b.next_ == &a) {
-- DCHECK_EQ(b.prev_, &a);
-- b.next_ = &b;
-- b.prev_ = &b;
-- } else {
-- b.next_->prev_ = &b;
-- b.prev_->next_ = &b;
-- }
-- if (a.next_ == &b) {
-- DCHECK_EQ(a.prev_, &b);
-- a.next_ = &a;
-- a.prev_ = &a;
-- } else {
-- a.next_->prev_ = &a;
-- a.prev_->next_ = &a;
-- }
--}
--
- inline void swap(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
- DCHECK_NE(a.next_, &a);
- DCHECK_NE(b.next_, &b);
---- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.orig 2017-06-06 16:16:43.657661313 +0300
-+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-06 16:16:50.911198032 +0300
-@@ -5,6 +5,7 @@
- #include "platform/PlatformExport.h"
- #include "platform/wtf/ThreadSpecific.h"
-
-+#include <functional>
- #include <memory>
-
- namespace gpu {
Copied: chromium/repos/extra-i686/chromium-blink-gcc7.patch (from rev 301277, chromium/trunk/chromium-blink-gcc7.patch)
===================================================================
--- extra-i686/chromium-blink-gcc7.patch (rev 0)
+++ extra-i686/chromium-blink-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,76 @@
+--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h.orig 2017-06-06 15:05:38.145247996 +0300
++++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h 2017-06-06 15:06:13.866246667 +0300
+@@ -685,6 +685,31 @@ inline LinkedHashSet<T, U, V, W>& Linked
+ return *this;
+ }
+
++inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
++ DCHECK(a.prev_);
++ DCHECK(a.next_);
++ DCHECK(b.prev_);
++ DCHECK(b.next_);
++ swap(a.prev_, b.prev_);
++ swap(a.next_, b.next_);
++ if (b.next_ == &a) {
++ DCHECK_EQ(b.prev_, &a);
++ b.next_ = &b;
++ b.prev_ = &b;
++ } else {
++ b.next_->prev_ = &b;
++ b.prev_->next_ = &b;
++ }
++ if (a.next_ == &b) {
++ DCHECK_EQ(a.prev_, &b);
++ a.next_ = &a;
++ a.prev_ = &a;
++ } else {
++ a.next_->prev_ = &a;
++ a.prev_->next_ = &a;
++ }
++}
++
+ template <typename T, typename U, typename V, typename W>
+ inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
+ impl_.Swap(other.impl_);
+@@ -877,31 +902,6 @@ inline void LinkedHashSet<T, U, V, W>::e
+ erase(Find(value));
+ }
+
+-inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
+- DCHECK(a.prev_);
+- DCHECK(a.next_);
+- DCHECK(b.prev_);
+- DCHECK(b.next_);
+- swap(a.prev_, b.prev_);
+- swap(a.next_, b.next_);
+- if (b.next_ == &a) {
+- DCHECK_EQ(b.prev_, &a);
+- b.next_ = &b;
+- b.prev_ = &b;
+- } else {
+- b.next_->prev_ = &b;
+- b.prev_->next_ = &b;
+- }
+- if (a.next_ == &b) {
+- DCHECK_EQ(a.prev_, &b);
+- a.next_ = &a;
+- a.prev_ = &a;
+- } else {
+- a.next_->prev_ = &a;
+- a.prev_->next_ = &a;
+- }
+-}
+-
+ inline void swap(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
+ DCHECK_NE(a.next_, &a);
+ DCHECK_NE(b.next_, &b);
+--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.orig 2017-06-06 16:16:43.657661313 +0300
++++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-06 16:16:50.911198032 +0300
+@@ -5,6 +5,7 @@
+ #include "platform/PlatformExport.h"
+ #include "platform/wtf/ThreadSpecific.h"
+
++#include <functional>
+ #include <memory>
+
+ namespace gpu {
Copied: chromium/repos/extra-i686/chromium-gn-bootstrap-r8.patch (from rev 301277, chromium/trunk/chromium-gn-bootstrap-r8.patch)
===================================================================
--- extra-i686/chromium-gn-bootstrap-r8.patch (rev 0)
+++ extra-i686/chromium-gn-bootstrap-r8.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,13 @@
+Index: tools/gn/bootstrap/bootstrap.py
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 6f2f5b1264519ea38cc36fb0b7e2cc24c378ca7a..0b03d2626b358fb90ab39d737679ee47bd60303b 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -487,6 +487,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/sys_info.cc',
+ 'base/task_runner.cc',
+ 'base/task_scheduler/delayed_task_manager.cc',
++ 'base/task_scheduler/environment_config.cc',
+ 'base/task_scheduler/post_task.cc',
+ 'base/task_scheduler/priority_queue.cc',
+ 'base/task_scheduler/scheduler_lock_impl.cc',
Deleted: extra-i686/chromium-system-ffmpeg-r6.patch
===================================================================
--- extra-i686/chromium-system-ffmpeg-r6.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium-system-ffmpeg-r6.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,43 +0,0 @@
---- a/media/ffmpeg/ffmpeg_common.h.orig 2017-04-07 18:17:22.623538889 +0000
-+++ b/media/ffmpeg/ffmpeg_common.h 2017-04-07 18:18:16.780656283 +0000
-@@ -23,10 +23,12 @@
-
- // Include FFmpeg header files.
- extern "C" {
-+#if !defined(USE_SYSTEM_FFMPEG)
- // Disable deprecated features which result in spammy compile warnings. This
- // list of defines must mirror those in the 'defines' section of FFmpeg's
- // BUILD.gn file or the headers below will generate different structures!
- #define FF_API_CONVERGENCE_DURATION 0
-+#endif // !defined(USE_SYSTEM_FFMPEG)
- // Upstream libavcodec/utils.c still uses the deprecated
- // av_dup_packet(), causing deprecation warnings.
- // The normal fix for such things is to disable the feature as below,
-@@ -40,7 +42,9 @@
- MSVC_PUSH_DISABLE_WARNING(4244);
- #include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
-+#if !defined(USE_SYSTEM_FFMPEG)
- #include <libavformat/internal.h>
-+#endif // !defined(USE_SYSTEM_FFMPEG)
- #include <libavformat/avio.h>
- #include <libavutil/avutil.h>
- #include <libavutil/imgutils.h>
---- a/media/filters/ffmpeg_demuxer.cc.orig 2017-04-07 18:15:14.776901183 +0000
-+++ b/media/filters/ffmpeg_demuxer.cc 2017-04-07 18:15:54.813727201 +0000
-@@ -1223,6 +1223,7 @@
- // If no estimate is found, the stream entry will be kInfiniteDuration.
- std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
- kInfiniteDuration);
-+#if !defined(USE_SYSTEM_FFMPEG)
- const AVFormatInternal* internal = format_context->internal;
- if (internal && internal->packet_buffer &&
- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
-@@ -1246,6 +1247,7 @@
- packet_buffer = packet_buffer->next;
- }
- }
-+#endif // !defined(USE_SYSTEM_FFMPEG)
-
- std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
-
Deleted: extra-i686/chromium-v8-gcc7.patch
===================================================================
--- extra-i686/chromium-v8-gcc7.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium-v8-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,73 +0,0 @@
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h chromium-59.0.3071.86/v8/src/objects/hash-table.h
---- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
-@@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
- public:
- typedef Shape ShapeT;
-
-- // Wrapper methods
-- inline uint32_t Hash(Key key) {
-- if (Shape::UsesSeed) {
-- return Shape::SeededHash(key, GetHeap()->HashSeed());
-- } else {
-- return Shape::Hash(key);
-- }
-- }
--
-- inline uint32_t HashForObject(Key key, Object* object) {
-- if (Shape::UsesSeed) {
-- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
-- } else {
-- return Shape::HashForObject(key, object);
-- }
-- }
-+ // Wrapper methods. Defined in src/objects-inl.h
-+ // to break a cycle with src/heap/heap.h.
-+ inline uint32_t Hash(Key key);
-+ inline uint32_t HashForObject(Key key, Object* object);
-
- // Returns a new HashTable object.
- MUST_USE_RESULT static Handle<Derived> New(
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h chromium-59.0.3071.86/v8/src/objects-body-descriptors.h
---- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
-@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
-
- template <typename StaticVisitor>
- static inline void IterateBody(HeapObject* obj, int object_size) {
-- IterateBody(obj);
-+ IterateBody<StaticVisitor>(obj);
- }
- };
-
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
---- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
-@@ -46,6 +46,27 @@
- namespace v8 {
- namespace internal {
-
-+template <typename Derived, typename Shape, typename Key>
-+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
-+ if (Shape::UsesSeed) {
-+ return Shape::SeededHash(key, GetHeap()->HashSeed());
-+ } else {
-+ return Shape::Hash(key);
-+ }
-+}
-+
-+
-+template <typename Derived, typename Shape, typename Key>
-+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
-+ Object* object) {
-+ if (Shape::UsesSeed) {
-+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
-+ } else {
-+ return Shape::HashForObject(key, object);
-+ }
-+}
-+
-+
- PropertyDetails::PropertyDetails(Smi* smi) {
- value_ = smi->value();
- }
Copied: chromium/repos/extra-i686/chromium-v8-gcc7.patch (from rev 301277, chromium/trunk/chromium-v8-gcc7.patch)
===================================================================
--- extra-i686/chromium-v8-gcc7.patch (rev 0)
+++ extra-i686/chromium-v8-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,73 @@
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h chromium-59.0.3071.86/v8/src/objects/hash-table.h
+--- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
+@@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
+ public:
+ typedef Shape ShapeT;
+
+- // Wrapper methods
+- inline uint32_t Hash(Key key) {
+- if (Shape::UsesSeed) {
+- return Shape::SeededHash(key, GetHeap()->HashSeed());
+- } else {
+- return Shape::Hash(key);
+- }
+- }
+-
+- inline uint32_t HashForObject(Key key, Object* object) {
+- if (Shape::UsesSeed) {
+- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
+- } else {
+- return Shape::HashForObject(key, object);
+- }
+- }
++ // Wrapper methods. Defined in src/objects-inl.h
++ // to break a cycle with src/heap/heap.h.
++ inline uint32_t Hash(Key key);
++ inline uint32_t HashForObject(Key key, Object* object);
+
+ // Returns a new HashTable object.
+ MUST_USE_RESULT static Handle<Derived> New(
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h chromium-59.0.3071.86/v8/src/objects-body-descriptors.h
+--- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
+@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
+
+ template <typename StaticVisitor>
+ static inline void IterateBody(HeapObject* obj, int object_size) {
+- IterateBody(obj);
++ IterateBody<StaticVisitor>(obj);
+ }
+ };
+
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
+--- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
+@@ -46,6 +46,27 @@
+ namespace v8 {
+ namespace internal {
+
++template <typename Derived, typename Shape, typename Key>
++uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
++ if (Shape::UsesSeed) {
++ return Shape::SeededHash(key, GetHeap()->HashSeed());
++ } else {
++ return Shape::Hash(key);
++ }
++}
++
++
++template <typename Derived, typename Shape, typename Key>
++uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
++ Object* object) {
++ if (Shape::UsesSeed) {
++ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
++ } else {
++ return Shape::HashForObject(key, object);
++ }
++}
++
++
+ PropertyDetails::PropertyDetails(Smi* smi) {
+ value_ = smi->value();
+ }
Deleted: extra-i686/chromium-widevine.patch
===================================================================
--- extra-i686/chromium-widevine.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium-widevine.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,10 +0,0 @@
-diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
-+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
-@@ -12,4 +12,6 @@
-
- #define WIDEVINE_CDM_AVAILABLE
-
-+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
-+
- #endif // WIDEVINE_CDM_VERSION_H_
Copied: chromium/repos/extra-i686/chromium-widevine.patch (from rev 301277, chromium/trunk/chromium-widevine.patch)
===================================================================
--- extra-i686/chromium-widevine.patch (rev 0)
+++ extra-i686/chromium-widevine.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,10 @@
+diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
+--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
+@@ -12,4 +12,6 @@
+
+ #define WIDEVINE_CDM_AVAILABLE
+
++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
++
+ #endif // WIDEVINE_CDM_VERSION_H_
Deleted: extra-i686/chromium.desktop
===================================================================
--- extra-i686/chromium.desktop 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium.desktop 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,112 +0,0 @@
-[Desktop Entry]
-Name=Chromium
-# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
-# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
-GenericName=Web Browser
-GenericName[ar]=متصفح الشبكة
-GenericName[bg]=Уеб браузър
-GenericName[ca]=Navegador web
-GenericName[cs]=WWW prohlížeč
-GenericName[da]=Browser
-GenericName[de]=Web-Browser
-GenericName[el]=Περιηγητής ιστού
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebibrauser
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web
-GenericName[gu]=વેબ બ્રાઉઝર
-GenericName[he]=דפדפן אינטרנט
-GenericName[hi]=वेब ब्राउज़र
-GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
-GenericName[ja]=ウェブブラウザ
-GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
-GenericName[ko]=웹 브라우저
-GenericName[lt]=Žiniatinklio naršyklė
-GenericName[lv]=Tīmekļa pārlūks
-GenericName[ml]=വെബ് ബ്രൌസര്
-GenericName[mr]=वेब ब्राऊजर
-GenericName[nb]=Nettleser
-GenericName[nl]=Webbrowser
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador da Internet
-GenericName[ro]=Navigator de Internet
-GenericName[ru]=Веб-браузер
-GenericName[sl]=Spletni brskalnik
-GenericName[sv]=Webbläsare
-GenericName[ta]=இணைய உலாவி
-GenericName[th]=เว็บเบราว์เซอร์
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=Навігатор Тенет
-GenericName[zh_CN]=网页浏览器
-GenericName[zh_HK]=網頁瀏覽器
-GenericName[zh_TW]=網頁瀏覽器
-# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[fil]=Web Browser
-GenericName[hr]=Web preglednik
-GenericName[id]=Browser Web
-GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
-GenericName[sk]=WWW prehliadač
-GenericName[sr]=Интернет прегледник
-GenericName[te]=మహాతల అన్వేషి
-GenericName[vi]=Bộ duyệt Web
-# Gnome and KDE 3 uses Comment.
-Comment=Access the Internet
-Comment[ar]=الدخول إلى الإنترنت
-Comment[bg]=Достъп до интернет
-Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
-Comment[ca]=Accedeix a Internet
-Comment[cs]=Přístup k internetu
-Comment[da]=Få adgang til internettet
-Comment[de]=Internetzugriff
-Comment[el]=Πρόσβαση στο Διαδίκτυο
-Comment[en_GB]=Access the Internet
-Comment[es]=Accede a Internet.
-Comment[et]=Pääs Internetti
-Comment[fi]=Käytä internetiä
-Comment[fil]=I-access ang Internet
-Comment[fr]=Accéder à Internet
-Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
-Comment[he]=גישה אל האינטרנט
-Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
-Comment[hr]=Pristup Internetu
-Comment[hu]=Internetelérés
-Comment[id]=Akses Internet
-Comment[it]=Accesso a Internet
-Comment[ja]=インターネットにアクセス
-Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
-Comment[ko]=인터넷 연결
-Comment[lt]=Interneto prieiga
-Comment[lv]=Piekļūt internetam
-Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
-Comment[mr]=इंटरनेटमध्ये प्रवेश करा
-Comment[nb]=Gå til Internett
-Comment[nl]=Verbinding maken met internet
-Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
-Comment[pl]=Skorzystaj z internetu
-Comment[pt]=Aceder à Internet
-Comment[pt_BR]=Acessar a internet
-Comment[ro]=Accesaţi Internetul
-Comment[ru]=Доступ в Интернет
-Comment[sk]=Prístup do siete Internet
-Comment[sl]=Dostop do interneta
-Comment[sr]=Приступите Интернету
-Comment[sv]=Gå ut på Internet
-Comment[ta]=இணையத்தை அணுகுதல்
-Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
-Comment[th]=เข้าถึงอินเทอร์เน็ต
-Comment[tr]=İnternet'e erişin
-Comment[uk]=Доступ до Інтернету
-Comment[vi]=Truy cập Internet
-Comment[zh_CN]=访问互联网
-Comment[zh_HK]=連線到網際網路
-Comment[zh_TW]=連線到網際網路
-Exec=chromium %U
-Terminal=false
-Icon=chromium
-Type=Application
-Categories=GTK;Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Copied: chromium/repos/extra-i686/chromium.desktop (from rev 301277, chromium/trunk/chromium.desktop)
===================================================================
--- extra-i686/chromium.desktop (rev 0)
+++ extra-i686/chromium.desktop 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,112 @@
+[Desktop Entry]
+Name=Chromium
+# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
+# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
+GenericName=Web Browser
+GenericName[ar]=متصفح الشبكة
+GenericName[bg]=Уеб браузър
+GenericName[ca]=Navegador web
+GenericName[cs]=WWW prohlížeč
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής ιστού
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
+GenericName[ko]=웹 브라우저
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Tīmekļa pārlūks
+GenericName[ml]=വെബ് ബ്രൌസര്
+GenericName[mr]=वेब ब्राऊजर
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador da Internet
+GenericName[ro]=Navigator de Internet
+GenericName[ru]=Веб-браузер
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[ta]=இணைய உலாவி
+GenericName[th]=เว็บเบราว์เซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_HK]=網頁瀏覽器
+GenericName[zh_TW]=網頁瀏覽器
+# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[fil]=Web Browser
+GenericName[hr]=Web preglednik
+GenericName[id]=Browser Web
+GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
+GenericName[sk]=WWW prehliadač
+GenericName[sr]=Интернет прегледник
+GenericName[te]=మహాతల అన్వేషి
+GenericName[vi]=Bộ duyệt Web
+# Gnome and KDE 3 uses Comment.
+Comment=Access the Internet
+Comment[ar]=الدخول إلى الإنترنت
+Comment[bg]=Достъп до интернет
+Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
+Comment[ca]=Accedeix a Internet
+Comment[cs]=Přístup k internetu
+Comment[da]=Få adgang til internettet
+Comment[de]=Internetzugriff
+Comment[el]=Πρόσβαση στο Διαδίκτυο
+Comment[en_GB]=Access the Internet
+Comment[es]=Accede a Internet.
+Comment[et]=Pääs Internetti
+Comment[fi]=Käytä internetiä
+Comment[fil]=I-access ang Internet
+Comment[fr]=Accéder à Internet
+Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
+Comment[he]=גישה אל האינטרנט
+Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
+Comment[hr]=Pristup Internetu
+Comment[hu]=Internetelérés
+Comment[id]=Akses Internet
+Comment[it]=Accesso a Internet
+Comment[ja]=インターネットにアクセス
+Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
+Comment[ko]=인터넷 연결
+Comment[lt]=Interneto prieiga
+Comment[lv]=Piekļūt internetam
+Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
+Comment[mr]=इंटरनेटमध्ये प्रवेश करा
+Comment[nb]=Gå til Internett
+Comment[nl]=Verbinding maken met internet
+Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
+Comment[pl]=Skorzystaj z internetu
+Comment[pt]=Aceder à Internet
+Comment[pt_BR]=Acessar a internet
+Comment[ro]=Accesaţi Internetul
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prístup do siete Internet
+Comment[sl]=Dostop do interneta
+Comment[sr]=Приступите Интернету
+Comment[sv]=Gå ut på Internet
+Comment[ta]=இணையத்தை அணுகுதல்
+Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
+Comment[th]=เข้าถึงอินเทอร์เน็ต
+Comment[tr]=İnternet'e erişin
+Comment[uk]=Доступ до Інтернету
+Comment[vi]=Truy cập Internet
+Comment[zh_CN]=访问互联网
+Comment[zh_HK]=連線到網際網路
+Comment[zh_TW]=連線到網際網路
+Exec=chromium %U
+Terminal=false
+Icon=chromium
+Type=Application
+Categories=GTK;Network;WebBrowser;
+MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Deleted: extra-i686/chromium.install
===================================================================
--- extra-i686/chromium.install 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-i686/chromium.install 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,16 +0,0 @@
-post_upgrade() {
- if (($(vercmp $2 42.0.2311.90-1) < 0)); then
- echo ':: This Chromium package no longer supports custom flags passed via the'
- echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
- echo
- echo ' The new /usr/bin/chromium launcher script will automatically detect'
- echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
- echo
- echo ' If you need to pass extra command-line arguments to Chromium, you'
- echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
- echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
- echo ' quoting rules apply but no further parsing is performed.'
- fi
-}
-
-# vim:set ts=2 sw=2 et:
Copied: chromium/repos/extra-i686/chromium.install (from rev 301277, chromium/trunk/chromium.install)
===================================================================
--- extra-i686/chromium.install (rev 0)
+++ extra-i686/chromium.install 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,16 @@
+post_upgrade() {
+ if (($(vercmp $2 42.0.2311.90-1) < 0)); then
+ echo ':: This Chromium package no longer supports custom flags passed via the'
+ echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
+ echo
+ echo ' The new /usr/bin/chromium launcher script will automatically detect'
+ echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
+ echo
+ echo ' If you need to pass extra command-line arguments to Chromium, you'
+ echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
+ echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
+ echo ' quoting rules apply but no further parsing is performed.'
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-x86_64/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
===================================================================
--- extra-x86_64/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,118 +0,0 @@
-From 27bab2297187099229a1e4304d8feb866c8da55a Mon Sep 17 00:00:00 2001
-From: "dongseong.hwang" <dongseong.hwang at intel.com>
-Date: Tue, 18 Apr 2017 16:44:55 -0700
-Subject: [PATCH] ClientNativePixmapFactoryDmabuf uses ioctl, instead of
- drmIoctl.
-
-DMA_BUF_SYNC ioctl is not drmIoctl, because it uses dma-buf fd, instead of drm
-device fd.
-
-In addition, remove LOCAL_ prefix to fix build failure >= kernel 4.6
-
-Actually, ChromeOS doesn't need this local DMA_BUF_SYNC definition as all
-verion of kernel for cros has dma-buf.h header.
-https://chromium-review.googlesource.com/c/459544/
-However, there is not any way to distinguish real ChromeOS build and
-current_os="chromeos" build, so remain the local definition to ChromeOS as
-well.
-
-BUG=584248
-R=reveman at chromium.org
-
-Review-Url: https://codereview.chromium.org/2805503003
-Cr-Commit-Position: refs/heads/master@{#465425}
----
- ui/gfx/linux/client_native_pixmap_dmabuf.cc | 49 +++++++++++++----------------
- 1 file changed, 21 insertions(+), 28 deletions(-)
-
-diff --git a/ui/gfx/linux/client_native_pixmap_dmabuf.cc b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-index d656c338f0a6..1bb441dc25ce 100644
---- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-+++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -7,36 +7,35 @@
- #include <fcntl.h>
- #include <linux/version.h>
- #include <stddef.h>
-+#include <sys/ioctl.h>
- #include <sys/mman.h>
- #include <xf86drm.h>
-
- #include "base/debug/crash_logging.h"
- #include "base/memory/ptr_util.h"
-+#include "base/posix/eintr_wrapper.h"
- #include "base/process/memory.h"
- #include "base/process/process_metrics.h"
- #include "base/strings/stringprintf.h"
- #include "base/trace_event/trace_event.h"
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
-+#include <linux/dma-buf.h>
-+#else
- #include <linux/types.h>
-
--struct local_dma_buf_sync {
-+struct dma_buf_sync {
- __u64 flags;
- };
-
--#define LOCAL_DMA_BUF_SYNC_READ (1 << 0)
--#define LOCAL_DMA_BUF_SYNC_WRITE (2 << 0)
--#define LOCAL_DMA_BUF_SYNC_RW \
-- (LOCAL_DMA_BUF_SYNC_READ | LOCAL_DMA_BUF_SYNC_WRITE)
--#define LOCAL_DMA_BUF_SYNC_START (0 << 2)
--#define LOCAL_DMA_BUF_SYNC_END (1 << 2)
-+#define DMA_BUF_SYNC_READ (1 << 0)
-+#define DMA_BUF_SYNC_WRITE (2 << 0)
-+#define DMA_BUF_SYNC_RW (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE)
-+#define DMA_BUF_SYNC_START (0 << 2)
-+#define DMA_BUF_SYNC_END (1 << 2)
-
--#define LOCAL_DMA_BUF_BASE 'b'
--#define LOCAL_DMA_BUF_IOCTL_SYNC \
-- _IOW(LOCAL_DMA_BUF_BASE, 0, struct local_dma_buf_sync)
--
--#else
--#include <linux/dma-buf.h>
-+#define DMA_BUF_BASE 'b'
-+#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
- #endif
-
- namespace gfx {
-@@ -44,25 +43,19 @@ namespace gfx {
- namespace {
-
- void PrimeSyncStart(int dmabuf_fd) {
-- struct local_dma_buf_sync sync_start = {0};
-+ struct dma_buf_sync sync_start = {0};
-
-- sync_start.flags = LOCAL_DMA_BUF_SYNC_START | LOCAL_DMA_BUF_SYNC_RW;
--#if DCHECK_IS_ON()
-- int rv =
--#endif
-- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_start);
-- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
-+ sync_start.flags = DMA_BUF_SYNC_START | DMA_BUF_SYNC_RW;
-+ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_start));
-+ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
- }
-
- void PrimeSyncEnd(int dmabuf_fd) {
-- struct local_dma_buf_sync sync_end = {0};
-+ struct dma_buf_sync sync_end = {0};
-
-- sync_end.flags = LOCAL_DMA_BUF_SYNC_END | LOCAL_DMA_BUF_SYNC_RW;
--#if DCHECK_IS_ON()
-- int rv =
--#endif
-- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end);
-- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
-+ sync_end.flags = DMA_BUF_SYNC_END | DMA_BUF_SYNC_RW;
-+ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_end));
-+ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
- }
-
- } // namespace
---
-2.13.0
-
Deleted: extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch
===================================================================
--- extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,170 +0,0 @@
-From 6cdb5f2ad7684302a8a66217462d2aef4c5f4632 Mon Sep 17 00:00:00 2001
-From: Ben Wagner <bungeman at behemoth.cnc.corp.google.com>
-Date: Thu, 15 Jun 2017 10:43:17 -0400
-Subject: [PATCH] Clip FreeType glyph bitmap to mask.
-
-Skia has for some time assumed that when using FT_Render_Glyph with one
-of the LCD render modes that one extra pixel would be applied to each
-side of the resulting bitmap. FreieType has changed to make this more
-conservative when possible, so the pre-allocated SkMask and the generated
-FT_Bitmap may no longer agree on the size and origin.
-
-This change ensures the SkMask and FT_Bitmap are the same size and their
-origins align. This is not an ideal long term fix, but is both simple and
-localized for easy and quick back-porting, should that become necessary.
-
-BUG=skia:6663
-
-Change-Id: I49ec8f45376be8d867e8aef54eab79537731c310
-Reviewed-on: https://skia-review.googlesource.com/20327
-Reviewed-by: Herb Derby <herb at google.com>
-Commit-Queue: Ben Wagner <bungeman at google.com>
----
- src/ports/SkFontHost_FreeType_common.cpp | 100 +++++++++++++++++++++++++------
- 1 file changed, 83 insertions(+), 17 deletions(-)
-
-diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp
-index 9df7268bb4..a216fdb29c 100644
---- a/src/ports/SkFontHost_FreeType_common.cpp
-+++ b/src/ports/SkFontHost_FreeType_common.cpp
-@@ -395,8 +395,6 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- switch ( face->glyph->format ) {
- case FT_GLYPH_FORMAT_OUTLINE: {
- FT_Outline* outline = &face->glyph->outline;
-- FT_BBox bbox;
-- FT_Bitmap target;
-
- int dx = 0, dy = 0;
- if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) {
-@@ -405,36 +403,97 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- // negate dy since freetype-y-goes-up and skia-y-goes-down
- dy = -dy;
- }
-- FT_Outline_Get_CBox(outline, &bbox);
-- /*
-- what we really want to do for subpixel is
-- offset(dx, dy)
-- compute_bounds
-- offset(bbox & !63)
-- but that is two calls to offset, so we do the following, which
-- achieves the same thing with only one offset call.
-- */
-- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
-- dy - ((bbox.yMin + dy) & ~63));
-+
-+ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
-
- if (SkMask::kLCD16_Format == glyph.fMaskFormat) {
-+ FT_Outline_Translate(outline, dx, dy);
- FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V :
- FT_RENDER_MODE_LCD);
- if (err) {
- SK_TRACEFTR(err, "Could not render glyph.");
-- sk_bzero(glyph.fImage, glyph.computeImageSize());
- return;
- }
-+
- SkMask mask;
- glyph.toMask(&mask);
-+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
-+ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes);
-+#endif
-+ FT_GlyphSlotRec& ftGlyph = *face->glyph;
-+
-+ if (!SkIRect::Intersects(mask.fBounds,
-+ SkIRect::MakeXYWH( ftGlyph.bitmap_left,
-+ -ftGlyph.bitmap_top,
-+ ftGlyph.bitmap.width,
-+ ftGlyph.bitmap.rows)))
-+ {
-+ return;
-+ }
-+
-+ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask.
-+ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded).
-+ unsigned char* origBuffer = ftGlyph.bitmap.buffer;
-+ // First align the top left (origin).
-+ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) {
-+ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top);
-+ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff;
-+ ftGlyph.bitmap.rows -= topDiff;
-+ ftGlyph.bitmap_top = -mask.fBounds.fTop;
-+ }
-+ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) {
-+ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left;
-+ ftGlyph.bitmap.buffer += leftDiff;
-+ ftGlyph.bitmap.width -= leftDiff;
-+ ftGlyph.bitmap_left = mask.fBounds.fLeft;
-+ }
-+ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) {
-+ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop);
-+ mask.fBounds.fTop = -ftGlyph.bitmap_top;
-+ }
-+ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) {
-+ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft);
-+ mask.fBounds.fLeft = ftGlyph.bitmap_left;
-+ }
-+ // Origins aligned, clean up the width and height.
-+ int ftVertScale = (doVert ? 3 : 1);
-+ int ftHoriScale = (doVert ? 1 : 3);
-+ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) {
-+ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale;
-+ }
-+ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) {
-+ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale;
-+ }
-+ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) {
-+ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale;
-+ }
-+ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) {
-+ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale;
-+ }
- if (fPreBlend.isApplicable()) {
-- copyFT2LCD16<true>(face->glyph->bitmap, mask, doBGR,
-+ copyFT2LCD16<true>(ftGlyph.bitmap, mask, doBGR,
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
- } else {
-- copyFT2LCD16<false>(face->glyph->bitmap, mask, doBGR,
-+ copyFT2LCD16<false>(ftGlyph.bitmap, mask, doBGR,
- fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
- }
-+ // Restore the buffer pointer so FreeType can properly free it.
-+ ftGlyph.bitmap.buffer = origBuffer;
- } else {
-+ FT_BBox bbox;
-+ FT_Bitmap target;
-+ FT_Outline_Get_CBox(outline, &bbox);
-+ /*
-+ what we really want to do for subpixel is
-+ offset(dx, dy)
-+ compute_bounds
-+ offset(bbox & !63)
-+ but that is two calls to offset, so we do the following, which
-+ achieves the same thing with only one offset call.
-+ */
-+ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
-+ dy - ((bbox.yMin + dy) & ~63));
-+
- target.width = glyph.fWidth;
- target.rows = glyph.fHeight;
- target.pitch = glyph.rowBytes();
-@@ -442,8 +501,15 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
- target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat);
- target.num_grays = 256;
-
-- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
- FT_Outline_Get_Bitmap(face->glyph->library, outline, &target);
-+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
-+ for (int y = 0; y < glyph.fHeight; ++y) {
-+ for (int x = 0; x < glyph.fWidth; ++x) {
-+ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x];
-+ a = SkTMax<uint8_t>(a, 0x20);
-+ }
-+ }
-+#endif
- }
- } break;
-
---
-2.13.2
-
Copied: chromium/repos/extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch (from rev 301277, chromium/trunk/0001-Clip-FreeType-glyph-bitmap-to-mask.patch)
===================================================================
--- extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch (rev 0)
+++ extra-x86_64/0001-Clip-FreeType-glyph-bitmap-to-mask.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,170 @@
+From 6cdb5f2ad7684302a8a66217462d2aef4c5f4632 Mon Sep 17 00:00:00 2001
+From: Ben Wagner <bungeman at behemoth.cnc.corp.google.com>
+Date: Thu, 15 Jun 2017 10:43:17 -0400
+Subject: [PATCH] Clip FreeType glyph bitmap to mask.
+
+Skia has for some time assumed that when using FT_Render_Glyph with one
+of the LCD render modes that one extra pixel would be applied to each
+side of the resulting bitmap. FreieType has changed to make this more
+conservative when possible, so the pre-allocated SkMask and the generated
+FT_Bitmap may no longer agree on the size and origin.
+
+This change ensures the SkMask and FT_Bitmap are the same size and their
+origins align. This is not an ideal long term fix, but is both simple and
+localized for easy and quick back-porting, should that become necessary.
+
+BUG=skia:6663
+
+Change-Id: I49ec8f45376be8d867e8aef54eab79537731c310
+Reviewed-on: https://skia-review.googlesource.com/20327
+Reviewed-by: Herb Derby <herb at google.com>
+Commit-Queue: Ben Wagner <bungeman at google.com>
+---
+ src/ports/SkFontHost_FreeType_common.cpp | 100 +++++++++++++++++++++++++------
+ 1 file changed, 83 insertions(+), 17 deletions(-)
+
+diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp
+index 9df7268bb4..a216fdb29c 100644
+--- a/src/ports/SkFontHost_FreeType_common.cpp
++++ b/src/ports/SkFontHost_FreeType_common.cpp
+@@ -395,8 +395,6 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ switch ( face->glyph->format ) {
+ case FT_GLYPH_FORMAT_OUTLINE: {
+ FT_Outline* outline = &face->glyph->outline;
+- FT_BBox bbox;
+- FT_Bitmap target;
+
+ int dx = 0, dy = 0;
+ if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) {
+@@ -405,36 +403,97 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ // negate dy since freetype-y-goes-up and skia-y-goes-down
+ dy = -dy;
+ }
+- FT_Outline_Get_CBox(outline, &bbox);
+- /*
+- what we really want to do for subpixel is
+- offset(dx, dy)
+- compute_bounds
+- offset(bbox & !63)
+- but that is two calls to offset, so we do the following, which
+- achieves the same thing with only one offset call.
+- */
+- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
+- dy - ((bbox.yMin + dy) & ~63));
++
++ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
+
+ if (SkMask::kLCD16_Format == glyph.fMaskFormat) {
++ FT_Outline_Translate(outline, dx, dy);
+ FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V :
+ FT_RENDER_MODE_LCD);
+ if (err) {
+ SK_TRACEFTR(err, "Could not render glyph.");
+- sk_bzero(glyph.fImage, glyph.computeImageSize());
+ return;
+ }
++
+ SkMask mask;
+ glyph.toMask(&mask);
++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
++ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes);
++#endif
++ FT_GlyphSlotRec& ftGlyph = *face->glyph;
++
++ if (!SkIRect::Intersects(mask.fBounds,
++ SkIRect::MakeXYWH( ftGlyph.bitmap_left,
++ -ftGlyph.bitmap_top,
++ ftGlyph.bitmap.width,
++ ftGlyph.bitmap.rows)))
++ {
++ return;
++ }
++
++ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask.
++ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded).
++ unsigned char* origBuffer = ftGlyph.bitmap.buffer;
++ // First align the top left (origin).
++ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) {
++ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top);
++ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff;
++ ftGlyph.bitmap.rows -= topDiff;
++ ftGlyph.bitmap_top = -mask.fBounds.fTop;
++ }
++ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) {
++ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left;
++ ftGlyph.bitmap.buffer += leftDiff;
++ ftGlyph.bitmap.width -= leftDiff;
++ ftGlyph.bitmap_left = mask.fBounds.fLeft;
++ }
++ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) {
++ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop);
++ mask.fBounds.fTop = -ftGlyph.bitmap_top;
++ }
++ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) {
++ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft);
++ mask.fBounds.fLeft = ftGlyph.bitmap_left;
++ }
++ // Origins aligned, clean up the width and height.
++ int ftVertScale = (doVert ? 3 : 1);
++ int ftHoriScale = (doVert ? 1 : 3);
++ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) {
++ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale;
++ }
++ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) {
++ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale;
++ }
++ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) {
++ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale;
++ }
++ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) {
++ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale;
++ }
+ if (fPreBlend.isApplicable()) {
+- copyFT2LCD16<true>(face->glyph->bitmap, mask, doBGR,
++ copyFT2LCD16<true>(ftGlyph.bitmap, mask, doBGR,
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
+ } else {
+- copyFT2LCD16<false>(face->glyph->bitmap, mask, doBGR,
++ copyFT2LCD16<false>(ftGlyph.bitmap, mask, doBGR,
+ fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
+ }
++ // Restore the buffer pointer so FreeType can properly free it.
++ ftGlyph.bitmap.buffer = origBuffer;
+ } else {
++ FT_BBox bbox;
++ FT_Bitmap target;
++ FT_Outline_Get_CBox(outline, &bbox);
++ /*
++ what we really want to do for subpixel is
++ offset(dx, dy)
++ compute_bounds
++ offset(bbox & !63)
++ but that is two calls to offset, so we do the following, which
++ achieves the same thing with only one offset call.
++ */
++ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
++ dy - ((bbox.yMin + dy) & ~63));
++
+ target.width = glyph.fWidth;
+ target.rows = glyph.fHeight;
+ target.pitch = glyph.rowBytes();
+@@ -442,8 +501,15 @@ void SkScalerContext_FreeType_Base::generateGlyphImage(
+ target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat);
+ target.num_grays = 256;
+
+- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
+ FT_Outline_Get_Bitmap(face->glyph->library, outline, &target);
++#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
++ for (int y = 0; y < glyph.fHeight; ++y) {
++ for (int x = 0; x < glyph.fWidth; ++x) {
++ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x];
++ a = SkTMax<uint8_t>(a, 0x20);
++ }
++ }
++#endif
+ }
+ } break;
+
+--
+2.13.2
+
Deleted: extra-x86_64/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
===================================================================
--- extra-x86_64/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,35 +0,0 @@
-From 63901da067e069e298595618e01c4758c7896ff5 Mon Sep 17 00:00:00 2001
-From: thomasanderson <thomasanderson at google.com>
-Date: Fri, 28 Apr 2017 11:56:12 -0700
-Subject: [PATCH] Fix kernel version condition for including dma-buf.h
-
-Kernel 4.11 merges the commit that added linux/dma-buf.h
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ef96152e6a36e0510387cb174178b7982c1ae879
-
-This CL increases the required kernel to include this file to 4.11.
-
-BUG=707604
-R=danakj at chromium.org
-
-Review-Url: https://codereview.chromium.org/2851803002
-Cr-Commit-Position: refs/heads/master@{#468078}
----
- ui/gfx/linux/client_native_pixmap_dmabuf.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/gfx/linux/client_native_pixmap_dmabuf.cc b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-index 31ff4f4395b6..4927daf3a61d 100644
---- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-+++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -19,7 +19,7 @@
- #include "base/strings/stringprintf.h"
- #include "base/trace_event/trace_event.h"
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
- #include <linux/dma-buf.h>
- #else
- #include <linux/types.h>
---
-2.13.0
-
Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/PKGBUILD 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,211 +0,0 @@
-# $Id: PKGBUILD 277477 2016-10-01 03:36:40Z foutrelis $
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-
-# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
-# Keys are the names in the above script; values are the dependencies in Arch
-declare -rgA _system_libs=(
- #[ffmpeg]=ffmpeg # https://crbug.com/731766
- [flac]=flac
- [harfbuzz-ng]=harfbuzz-icu
- #[icu]=icu # Enable again when upstream supports ICU 59
- [libdrm]=
- [libjpeg]=libjpeg
- [libpng]=libpng
- #[libvpx]=libvpx # https://bugs.gentoo.org/show_bug.cgi?id=611394
- [libwebp]=libwebp
- [libxml]=libxml2
- [libxslt]=libxslt
- [re2]=re2
- [snappy]=snappy
- [yasm]=
- [zlib]=minizip
-)
-
-pkgname=chromium
-pkgver=59.0.3071.115
-pkgrel=1
-_launcher_ver=5
-_freetype_rev=5a3490e054bda8a318ebde482
-pkgdesc="A web browser built for speed, simplicity, and security"
-arch=('i686' 'x86_64')
-url="https://www.chromium.org/Home"
-license=('BSD')
-depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
- 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'desktop-file-utils'
- 'hicolor-icon-theme')
-depends+=(${_system_libs[@]})
-makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git')
-optdepends=('kdialog: needed for file dialogs in KDE'
- 'gnome-keyring: for storing passwords in GNOME keyring'
- 'kwallet: for storing passwords in KWallet')
-install=chromium.install
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
- chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
- chromium-freetype2::git+https://chromium.googlesource.com/chromium/src/third_party/freetype2#commit=$_freetype_rev
- chromium.desktop
- chromium-system-ffmpeg-r6.patch
- 0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
- 0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
- 0001-Clip-FreeType-glyph-bitmap-to-mask.patch
- chromium-blink-gcc7.patch
- chromium-v8-gcc7.patch
- chromium-widevine.patch)
-sha256sums=('37cbc9955ae3b25cd4e9851a82ea97a0035021cc90658902938ad1c20f263170'
- '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
- 'SKIP'
- '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
- '2fc21f48b95f9f2c2bd8576742fcf8028a8877c6b6e96c04d88184915982234e'
- '9c081c84a4f85dbef82a9edf34cf0b1e8377c563874fd9c1b4efddf1476748f9'
- '42eb6ada30d5d507f2bda2d2caece37e397e7086bc0d430db776fad143562fb6'
- 'e60aa0ff01f8bee67e45fde7bbe932901194984673ec4b10ea82bba1bace0cd7'
- 'f94310a7ba9b8b777adfb4442bcc0a8f0a3d549b2cf4a156066f8e2e28e2f323'
- '46dacc4fa52652b7d99b8996d6a97e5e3bac586f879aefb9fb95020d2c4e5aec'
- 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
-
-# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
-# Note: These are for Arch Linux use ONLY. For your own distribution, please
-# get your own set of keys. Feel free to contact foutrelis at archlinux.org for
-# more information.
-_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
-_google_default_client_id=413772536636.apps.googleusercontent.com
-_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
-
-prepare() {
- cd "$srcdir/$pkgname-$pkgver"
-
- # https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/wuInaKJkosg/kMfIV_7wDgAJ
- mv "$srcdir/chromium-freetype2" third_party/freetype/src
-
- # Enable support for the Widevine CDM plugin
- # libwidevinecdm.so is not included, but can be copied over from Chrome
- # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
- sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
- patch -Np1
-
- # https://bugs.chromium.org/p/chromium/issues/detail?id=707604
- patch -Np1 -i ../0001-ClientNativePixmapFactoryDmabuf-uses-ioctl-instead-o.patch
- patch -Np1 -i ../0001-Fix-kernel-version-condition-for-including-dma-buf.h.patch
-
- # https://bugs.chromium.org/p/skia/issues/detail?id=6663
- patch -Np1 -d third_party/skia <../0001-Clip-FreeType-glyph-bitmap-to-mask.patch
-
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853347
- patch -Np1 -i ../chromium-blink-gcc7.patch
-
- # https://bugs.chromium.org/p/chromium/issues/detail?id=614289
- patch -Np1 -i ../chromium-v8-gcc7.patch
-
- # Fixes from Gentoo
- patch -Np1 -i ../chromium-system-ffmpeg-r6.patch
-
- # Use Python 2
- find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
-
- # There are still a lot of relative calls which need a workaround
- mkdir -p "$srcdir/python2-path"
- ln -sf /usr/bin/python2 "$srcdir/python2-path/python"
-
- mkdir -p third_party/node/linux/node-linux-x64/bin
- ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-
- # Remove bundled libraries for which we will use the system copies; this
- # *should* do what the remove_bundled_libraries.py script does, with the
- # added benefit of not having to list all the remaining libraries
- local _lib
- for _lib in ${!_system_libs[@]} ${_system_libs[libjpeg]+libjpeg_turbo}; do
- find -type f -path "*third_party/$_lib/*" \
- \! -path "*third_party/$_lib/chromium/*" \
- \! -path "*third_party/$_lib/google/*" \
- \! -path "*base/third_party/icu/*" \
- \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
- -delete
- done
-
- python2 build/linux/unbundle/replace_gn_files.py \
- --system-libraries "${!_system_libs[@]}"
-}
-
-build() {
- make -C chromium-launcher-$_launcher_ver
-
- cd "$srcdir/$pkgname-$pkgver"
-
- export PATH="$srcdir/python2-path:$PATH"
- export TMPDIR="$srcdir/temp"
- mkdir -p "$TMPDIR"
-
- local _flags=(
- 'is_clang=false'
- 'clang_use_chrome_plugins=false'
- 'is_debug=false'
- 'fatal_linker_warnings=false'
- 'treat_warnings_as_errors=false'
- 'fieldtrial_testing_like_official_build=true'
- 'remove_webcore_debug_symbols=true'
- 'ffmpeg_branding="Chrome"'
- 'proprietary_codecs=true'
- 'link_pulseaudio=true'
- 'linux_use_bundled_binutils=false'
- 'use_gtk3=true'
- 'use_gconf=false'
- 'use_gnome_keyring=false'
- 'use_gold=false'
- 'use_sysroot=false'
- 'enable_hangout_services_extension=true'
- 'enable_widevine=true'
- 'enable_nacl=false'
- 'enable_swiftshader=false'
- "google_api_key=\"${_google_api_key}\""
- "google_default_client_id=\"${_google_default_client_id}\""
- "google_default_client_secret=\"${_google_default_client_secret}\""
- )
-
- python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
- out/Release/gn gen out/Release --args="${_flags[*]}" \
- --script-executable=/usr/bin/python2
-
- ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
-}
-
-package() {
- cd chromium-launcher-$_launcher_ver
- make PREFIX=/usr DESTDIR="$pkgdir" install
- install -Dm644 LICENSE \
- "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
-
- cd "$srcdir/$pkgname-$pkgver"
-
- install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
- install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
- install -Dm644 "$srcdir/chromium.desktop" \
- "$pkgdir/usr/share/applications/chromium.desktop"
-
- install -Dm4755 out/Release/chrome_sandbox \
- "$pkgdir/usr/lib/chromium/chrome-sandbox"
-
- cp -a \
- out/Release/{chrome_{100,200}_percent,resources}.pak \
- out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
- out/Release/locales \
- out/Release/icudtl.dat \
- "$pkgdir/usr/lib/chromium/"
-
- ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
-
- for size in 22 24 48 64 128 256; do
- install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
- "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
- done
-
- for size in 16 32; do
- install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
- "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
- done
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:
Copied: chromium/repos/extra-x86_64/PKGBUILD (from rev 301277, chromium/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD (rev 0)
+++ extra-x86_64/PKGBUILD 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,199 @@
+# $Id: PKGBUILD 277477 2016-10-01 03:36:40Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
+# Keys are the names in the above script; values are the dependencies in Arch
+declare -rgA _system_libs=(
+ #[ffmpeg]=ffmpeg # https://crbug.com/731766
+ [flac]=flac
+ #[freetype]=freetype2 # https://crbug.com/pdfium/733
+ [harfbuzz-ng]=harfbuzz-icu
+ #[icu]=icu # Enable again when upstream supports ICU 59
+ [libdrm]=
+ [libjpeg]=libjpeg
+ [libpng]=libpng
+ #[libvpx]=libvpx # https://bugs.gentoo.org/611394
+ [libwebp]=libwebp
+ #[libxml]=libxml2 # https://bugs.gentoo.org/616818
+ [libxslt]=libxslt
+ [opus]=opus
+ [re2]=re2
+ [snappy]=snappy
+ [yasm]=
+ [zlib]=minizip
+)
+
+pkgname=chromium
+pkgver=60.0.3112.78
+pkgrel=1
+_launcher_ver=5
+pkgdesc="A web browser built for speed, simplicity, and security"
+arch=('i686' 'x86_64')
+url="https://www.chromium.org/Home"
+license=('BSD')
+depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
+ 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
+ 'desktop-file-utils' 'hicolor-icon-theme')
+depends+=(${_system_libs[@]})
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git')
+optdepends=('pepper-flash: support for Flash content'
+ 'kdialog: needed for file dialogs in KDE'
+ 'gnome-keyring: for storing passwords in GNOME keyring'
+ 'kwallet: for storing passwords in KWallet')
+install=chromium.install
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+ chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
+ chromium.desktop
+ chromium-gn-bootstrap-r8.patch
+ 0001-Clip-FreeType-glyph-bitmap-to-mask.patch
+ chromium-blink-gcc7.patch
+ chromium-v8-gcc7.patch
+ chromium-widevine.patch)
+sha256sums=('a82db2aa1b9348b619c01894db565eba686780de0e6fa9e83a8f406d06ce03ea'
+ '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
+ '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
+ '06345804c00d9618dad98a2dc04f31ef19912cdf6e9d6e577ef7ffb1fa57003f'
+ 'e60aa0ff01f8bee67e45fde7bbe932901194984673ec4b10ea82bba1bace0cd7'
+ 'f94310a7ba9b8b777adfb4442bcc0a8f0a3d549b2cf4a156066f8e2e28e2f323'
+ '46dacc4fa52652b7d99b8996d6a97e5e3bac586f879aefb9fb95020d2c4e5aec'
+ 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
+
+# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+_google_default_client_id=413772536636.apps.googleusercontent.com
+_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Enable support for the Widevine CDM plugin
+ # libwidevinecdm.so is not included, but can be copied over from Chrome
+ # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
+ sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
+ patch -Np1
+
+ # https://bugs.chromium.org/p/skia/issues/detail?id=6663
+ patch -Np1 -d third_party/skia <../0001-Clip-FreeType-glyph-bitmap-to-mask.patch
+
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853347
+ patch -Np1 -i ../chromium-blink-gcc7.patch
+
+ # https://bugs.chromium.org/p/chromium/issues/detail?id=614289
+ patch -Np1 -i ../chromium-v8-gcc7.patch
+
+ # Fixes from Gentoo
+ patch -Np1 -i ../chromium-gn-bootstrap-r8.patch
+
+ # Use Python 2
+ find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
+
+ # There are still a lot of relative calls which need a workaround
+ mkdir -p "$srcdir/python2-path"
+ ln -sf /usr/bin/python2 "$srcdir/python2-path/python"
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
+ # Remove bundled libraries for which we will use the system copies; this
+ # *should* do what the remove_bundled_libraries.py script does, with the
+ # added benefit of not having to list all the remaining libraries
+ local _lib
+ for _lib in ${!_system_libs[@]} ${_system_libs[libjpeg]+libjpeg_turbo}; do
+ find -type f -path "*third_party/$_lib/*" \
+ \! -path "*third_party/$_lib/chromium/*" \
+ \! -path "*third_party/$_lib/google/*" \
+ \! -path "*base/third_party/icu/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+ done
+
+ python2 build/linux/unbundle/replace_gn_files.py \
+ --system-libraries "${!_system_libs[@]}"
+}
+
+build() {
+ make -C chromium-launcher-$_launcher_ver
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ export PATH="$srcdir/python2-path:$PATH"
+ export TMPDIR="$srcdir/temp"
+ mkdir -p "$TMPDIR"
+
+ local _flags=(
+ 'is_clang=false'
+ 'clang_use_chrome_plugins=false'
+ 'is_debug=false'
+ 'fatal_linker_warnings=false'
+ 'treat_warnings_as_errors=false'
+ 'fieldtrial_testing_like_official_build=true'
+ 'remove_webcore_debug_symbols=true'
+ 'ffmpeg_branding="Chrome"'
+ 'proprietary_codecs=true'
+ 'link_pulseaudio=true'
+ 'linux_use_bundled_binutils=false'
+ 'use_gtk3=true'
+ 'use_gconf=false'
+ 'use_gnome_keyring=false'
+ 'use_gold=false'
+ 'use_sysroot=false'
+ 'enable_hangout_services_extension=true'
+ 'enable_widevine=true'
+ 'enable_nacl=false'
+ 'enable_swiftshader=false'
+ "google_api_key=\"${_google_api_key}\""
+ "google_default_client_id=\"${_google_default_client_id}\""
+ "google_default_client_secret=\"${_google_default_client_secret}\""
+ )
+
+ python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
+ out/Release/gn gen out/Release --args="${_flags[*]}" \
+ --script-executable=/usr/bin/python2
+
+ ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
+}
+
+package() {
+ cd chromium-launcher-$_launcher_ver
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
+ install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"
+ install -Dm644 "$srcdir/chromium.desktop" \
+ "$pkgdir/usr/share/applications/chromium.desktop"
+
+ install -Dm4755 out/Release/chrome_sandbox \
+ "$pkgdir/usr/lib/chromium/chrome-sandbox"
+
+ cp -a \
+ out/Release/{chrome_{100,200}_percent,resources}.pak \
+ out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
+ out/Release/locales \
+ out/Release/icudtl.dat \
+ "$pkgdir/usr/lib/chromium/"
+
+ ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
+
+ for size in 22 24 48 64 128 256; do
+ install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
+ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+ done
+
+ for size in 16 32; do
+ install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
+ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+ done
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-x86_64/chromium-blink-gcc7.patch
===================================================================
--- extra-x86_64/chromium-blink-gcc7.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium-blink-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,76 +0,0 @@
---- chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h.orig 2017-06-06 15:05:38.145247996 +0300
-+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h 2017-06-06 15:06:13.866246667 +0300
-@@ -685,6 +685,31 @@ inline LinkedHashSet<T, U, V, W>& Linked
- return *this;
- }
-
-+inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
-+ DCHECK(a.prev_);
-+ DCHECK(a.next_);
-+ DCHECK(b.prev_);
-+ DCHECK(b.next_);
-+ swap(a.prev_, b.prev_);
-+ swap(a.next_, b.next_);
-+ if (b.next_ == &a) {
-+ DCHECK_EQ(b.prev_, &a);
-+ b.next_ = &b;
-+ b.prev_ = &b;
-+ } else {
-+ b.next_->prev_ = &b;
-+ b.prev_->next_ = &b;
-+ }
-+ if (a.next_ == &b) {
-+ DCHECK_EQ(a.prev_, &b);
-+ a.next_ = &a;
-+ a.prev_ = &a;
-+ } else {
-+ a.next_->prev_ = &a;
-+ a.prev_->next_ = &a;
-+ }
-+}
-+
- template <typename T, typename U, typename V, typename W>
- inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
- impl_.Swap(other.impl_);
-@@ -877,31 +902,6 @@ inline void LinkedHashSet<T, U, V, W>::e
- erase(Find(value));
- }
-
--inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
-- DCHECK(a.prev_);
-- DCHECK(a.next_);
-- DCHECK(b.prev_);
-- DCHECK(b.next_);
-- swap(a.prev_, b.prev_);
-- swap(a.next_, b.next_);
-- if (b.next_ == &a) {
-- DCHECK_EQ(b.prev_, &a);
-- b.next_ = &b;
-- b.prev_ = &b;
-- } else {
-- b.next_->prev_ = &b;
-- b.prev_->next_ = &b;
-- }
-- if (a.next_ == &b) {
-- DCHECK_EQ(a.prev_, &b);
-- a.next_ = &a;
-- a.prev_ = &a;
-- } else {
-- a.next_->prev_ = &a;
-- a.prev_->next_ = &a;
-- }
--}
--
- inline void swap(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
- DCHECK_NE(a.next_, &a);
- DCHECK_NE(b.next_, &b);
---- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.orig 2017-06-06 16:16:43.657661313 +0300
-+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-06 16:16:50.911198032 +0300
-@@ -5,6 +5,7 @@
- #include "platform/PlatformExport.h"
- #include "platform/wtf/ThreadSpecific.h"
-
-+#include <functional>
- #include <memory>
-
- namespace gpu {
Copied: chromium/repos/extra-x86_64/chromium-blink-gcc7.patch (from rev 301277, chromium/trunk/chromium-blink-gcc7.patch)
===================================================================
--- extra-x86_64/chromium-blink-gcc7.patch (rev 0)
+++ extra-x86_64/chromium-blink-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,76 @@
+--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h.orig 2017-06-06 15:05:38.145247996 +0300
++++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h 2017-06-06 15:06:13.866246667 +0300
+@@ -685,6 +685,31 @@ inline LinkedHashSet<T, U, V, W>& Linked
+ return *this;
+ }
+
++inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
++ DCHECK(a.prev_);
++ DCHECK(a.next_);
++ DCHECK(b.prev_);
++ DCHECK(b.next_);
++ swap(a.prev_, b.prev_);
++ swap(a.next_, b.next_);
++ if (b.next_ == &a) {
++ DCHECK_EQ(b.prev_, &a);
++ b.next_ = &b;
++ b.prev_ = &b;
++ } else {
++ b.next_->prev_ = &b;
++ b.prev_->next_ = &b;
++ }
++ if (a.next_ == &b) {
++ DCHECK_EQ(a.prev_, &b);
++ a.next_ = &a;
++ a.prev_ = &a;
++ } else {
++ a.next_->prev_ = &a;
++ a.prev_->next_ = &a;
++ }
++}
++
+ template <typename T, typename U, typename V, typename W>
+ inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
+ impl_.Swap(other.impl_);
+@@ -877,31 +902,6 @@ inline void LinkedHashSet<T, U, V, W>::e
+ erase(Find(value));
+ }
+
+-inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
+- DCHECK(a.prev_);
+- DCHECK(a.next_);
+- DCHECK(b.prev_);
+- DCHECK(b.next_);
+- swap(a.prev_, b.prev_);
+- swap(a.next_, b.next_);
+- if (b.next_ == &a) {
+- DCHECK_EQ(b.prev_, &a);
+- b.next_ = &b;
+- b.prev_ = &b;
+- } else {
+- b.next_->prev_ = &b;
+- b.prev_->next_ = &b;
+- }
+- if (a.next_ == &b) {
+- DCHECK_EQ(a.prev_, &b);
+- a.next_ = &a;
+- a.prev_ = &a;
+- } else {
+- a.next_->prev_ = &a;
+- a.prev_->next_ = &a;
+- }
+-}
+-
+ inline void swap(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
+ DCHECK_NE(a.next_, &a);
+ DCHECK_NE(b.next_, &b);
+--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.orig 2017-06-06 16:16:43.657661313 +0300
++++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-06 16:16:50.911198032 +0300
+@@ -5,6 +5,7 @@
+ #include "platform/PlatformExport.h"
+ #include "platform/wtf/ThreadSpecific.h"
+
++#include <functional>
+ #include <memory>
+
+ namespace gpu {
Copied: chromium/repos/extra-x86_64/chromium-gn-bootstrap-r8.patch (from rev 301277, chromium/trunk/chromium-gn-bootstrap-r8.patch)
===================================================================
--- extra-x86_64/chromium-gn-bootstrap-r8.patch (rev 0)
+++ extra-x86_64/chromium-gn-bootstrap-r8.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,13 @@
+Index: tools/gn/bootstrap/bootstrap.py
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 6f2f5b1264519ea38cc36fb0b7e2cc24c378ca7a..0b03d2626b358fb90ab39d737679ee47bd60303b 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -487,6 +487,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/sys_info.cc',
+ 'base/task_runner.cc',
+ 'base/task_scheduler/delayed_task_manager.cc',
++ 'base/task_scheduler/environment_config.cc',
+ 'base/task_scheduler/post_task.cc',
+ 'base/task_scheduler/priority_queue.cc',
+ 'base/task_scheduler/scheduler_lock_impl.cc',
Deleted: extra-x86_64/chromium-system-ffmpeg-r6.patch
===================================================================
--- extra-x86_64/chromium-system-ffmpeg-r6.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium-system-ffmpeg-r6.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,43 +0,0 @@
---- a/media/ffmpeg/ffmpeg_common.h.orig 2017-04-07 18:17:22.623538889 +0000
-+++ b/media/ffmpeg/ffmpeg_common.h 2017-04-07 18:18:16.780656283 +0000
-@@ -23,10 +23,12 @@
-
- // Include FFmpeg header files.
- extern "C" {
-+#if !defined(USE_SYSTEM_FFMPEG)
- // Disable deprecated features which result in spammy compile warnings. This
- // list of defines must mirror those in the 'defines' section of FFmpeg's
- // BUILD.gn file or the headers below will generate different structures!
- #define FF_API_CONVERGENCE_DURATION 0
-+#endif // !defined(USE_SYSTEM_FFMPEG)
- // Upstream libavcodec/utils.c still uses the deprecated
- // av_dup_packet(), causing deprecation warnings.
- // The normal fix for such things is to disable the feature as below,
-@@ -40,7 +42,9 @@
- MSVC_PUSH_DISABLE_WARNING(4244);
- #include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
-+#if !defined(USE_SYSTEM_FFMPEG)
- #include <libavformat/internal.h>
-+#endif // !defined(USE_SYSTEM_FFMPEG)
- #include <libavformat/avio.h>
- #include <libavutil/avutil.h>
- #include <libavutil/imgutils.h>
---- a/media/filters/ffmpeg_demuxer.cc.orig 2017-04-07 18:15:14.776901183 +0000
-+++ b/media/filters/ffmpeg_demuxer.cc 2017-04-07 18:15:54.813727201 +0000
-@@ -1223,6 +1223,7 @@
- // If no estimate is found, the stream entry will be kInfiniteDuration.
- std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
- kInfiniteDuration);
-+#if !defined(USE_SYSTEM_FFMPEG)
- const AVFormatInternal* internal = format_context->internal;
- if (internal && internal->packet_buffer &&
- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
-@@ -1246,6 +1247,7 @@
- packet_buffer = packet_buffer->next;
- }
- }
-+#endif // !defined(USE_SYSTEM_FFMPEG)
-
- std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
-
Deleted: extra-x86_64/chromium-v8-gcc7.patch
===================================================================
--- extra-x86_64/chromium-v8-gcc7.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium-v8-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,73 +0,0 @@
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h chromium-59.0.3071.86/v8/src/objects/hash-table.h
---- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
-@@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
- public:
- typedef Shape ShapeT;
-
-- // Wrapper methods
-- inline uint32_t Hash(Key key) {
-- if (Shape::UsesSeed) {
-- return Shape::SeededHash(key, GetHeap()->HashSeed());
-- } else {
-- return Shape::Hash(key);
-- }
-- }
--
-- inline uint32_t HashForObject(Key key, Object* object) {
-- if (Shape::UsesSeed) {
-- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
-- } else {
-- return Shape::HashForObject(key, object);
-- }
-- }
-+ // Wrapper methods. Defined in src/objects-inl.h
-+ // to break a cycle with src/heap/heap.h.
-+ inline uint32_t Hash(Key key);
-+ inline uint32_t HashForObject(Key key, Object* object);
-
- // Returns a new HashTable object.
- MUST_USE_RESULT static Handle<Derived> New(
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h chromium-59.0.3071.86/v8/src/objects-body-descriptors.h
---- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
-@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
-
- template <typename StaticVisitor>
- static inline void IterateBody(HeapObject* obj, int object_size) {
-- IterateBody(obj);
-+ IterateBody<StaticVisitor>(obj);
- }
- };
-
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
---- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
-@@ -46,6 +46,27 @@
- namespace v8 {
- namespace internal {
-
-+template <typename Derived, typename Shape, typename Key>
-+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
-+ if (Shape::UsesSeed) {
-+ return Shape::SeededHash(key, GetHeap()->HashSeed());
-+ } else {
-+ return Shape::Hash(key);
-+ }
-+}
-+
-+
-+template <typename Derived, typename Shape, typename Key>
-+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
-+ Object* object) {
-+ if (Shape::UsesSeed) {
-+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
-+ } else {
-+ return Shape::HashForObject(key, object);
-+ }
-+}
-+
-+
- PropertyDetails::PropertyDetails(Smi* smi) {
- value_ = smi->value();
- }
Copied: chromium/repos/extra-x86_64/chromium-v8-gcc7.patch (from rev 301277, chromium/trunk/chromium-v8-gcc7.patch)
===================================================================
--- extra-x86_64/chromium-v8-gcc7.patch (rev 0)
+++ extra-x86_64/chromium-v8-gcc7.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,73 @@
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h chromium-59.0.3071.86/v8/src/objects/hash-table.h
+--- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
+@@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
+ public:
+ typedef Shape ShapeT;
+
+- // Wrapper methods
+- inline uint32_t Hash(Key key) {
+- if (Shape::UsesSeed) {
+- return Shape::SeededHash(key, GetHeap()->HashSeed());
+- } else {
+- return Shape::Hash(key);
+- }
+- }
+-
+- inline uint32_t HashForObject(Key key, Object* object) {
+- if (Shape::UsesSeed) {
+- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
+- } else {
+- return Shape::HashForObject(key, object);
+- }
+- }
++ // Wrapper methods. Defined in src/objects-inl.h
++ // to break a cycle with src/heap/heap.h.
++ inline uint32_t Hash(Key key);
++ inline uint32_t HashForObject(Key key, Object* object);
+
+ // Returns a new HashTable object.
+ MUST_USE_RESULT static Handle<Derived> New(
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h chromium-59.0.3071.86/v8/src/objects-body-descriptors.h
+--- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
+@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
+
+ template <typename StaticVisitor>
+ static inline void IterateBody(HeapObject* obj, int object_size) {
+- IterateBody(obj);
++ IterateBody<StaticVisitor>(obj);
+ }
+ };
+
+diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
+--- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
++++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
+@@ -46,6 +46,27 @@
+ namespace v8 {
+ namespace internal {
+
++template <typename Derived, typename Shape, typename Key>
++uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
++ if (Shape::UsesSeed) {
++ return Shape::SeededHash(key, GetHeap()->HashSeed());
++ } else {
++ return Shape::Hash(key);
++ }
++}
++
++
++template <typename Derived, typename Shape, typename Key>
++uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
++ Object* object) {
++ if (Shape::UsesSeed) {
++ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
++ } else {
++ return Shape::HashForObject(key, object);
++ }
++}
++
++
+ PropertyDetails::PropertyDetails(Smi* smi) {
+ value_ = smi->value();
+ }
Deleted: extra-x86_64/chromium-widevine.patch
===================================================================
--- extra-x86_64/chromium-widevine.patch 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium-widevine.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,10 +0,0 @@
-diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
-+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
-@@ -12,4 +12,6 @@
-
- #define WIDEVINE_CDM_AVAILABLE
-
-+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
-+
- #endif // WIDEVINE_CDM_VERSION_H_
Copied: chromium/repos/extra-x86_64/chromium-widevine.patch (from rev 301277, chromium/trunk/chromium-widevine.patch)
===================================================================
--- extra-x86_64/chromium-widevine.patch (rev 0)
+++ extra-x86_64/chromium-widevine.patch 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,10 @@
+diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
+--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200
++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200
+@@ -12,4 +12,6 @@
+
+ #define WIDEVINE_CDM_AVAILABLE
+
++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
++
+ #endif // WIDEVINE_CDM_VERSION_H_
Deleted: extra-x86_64/chromium.desktop
===================================================================
--- extra-x86_64/chromium.desktop 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium.desktop 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,112 +0,0 @@
-[Desktop Entry]
-Name=Chromium
-# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
-# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
-GenericName=Web Browser
-GenericName[ar]=متصفح الشبكة
-GenericName[bg]=Уеб браузър
-GenericName[ca]=Navegador web
-GenericName[cs]=WWW prohlížeč
-GenericName[da]=Browser
-GenericName[de]=Web-Browser
-GenericName[el]=Περιηγητής ιστού
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebibrauser
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web
-GenericName[gu]=વેબ બ્રાઉઝર
-GenericName[he]=דפדפן אינטרנט
-GenericName[hi]=वेब ब्राउज़र
-GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
-GenericName[ja]=ウェブブラウザ
-GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
-GenericName[ko]=웹 브라우저
-GenericName[lt]=Žiniatinklio naršyklė
-GenericName[lv]=Tīmekļa pārlūks
-GenericName[ml]=വെബ് ബ്രൌസര്
-GenericName[mr]=वेब ब्राऊजर
-GenericName[nb]=Nettleser
-GenericName[nl]=Webbrowser
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador da Internet
-GenericName[ro]=Navigator de Internet
-GenericName[ru]=Веб-браузер
-GenericName[sl]=Spletni brskalnik
-GenericName[sv]=Webbläsare
-GenericName[ta]=இணைய உலாவி
-GenericName[th]=เว็บเบราว์เซอร์
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=Навігатор Тенет
-GenericName[zh_CN]=网页浏览器
-GenericName[zh_HK]=網頁瀏覽器
-GenericName[zh_TW]=網頁瀏覽器
-# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[fil]=Web Browser
-GenericName[hr]=Web preglednik
-GenericName[id]=Browser Web
-GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
-GenericName[sk]=WWW prehliadač
-GenericName[sr]=Интернет прегледник
-GenericName[te]=మహాతల అన్వేషి
-GenericName[vi]=Bộ duyệt Web
-# Gnome and KDE 3 uses Comment.
-Comment=Access the Internet
-Comment[ar]=الدخول إلى الإنترنت
-Comment[bg]=Достъп до интернет
-Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
-Comment[ca]=Accedeix a Internet
-Comment[cs]=Přístup k internetu
-Comment[da]=Få adgang til internettet
-Comment[de]=Internetzugriff
-Comment[el]=Πρόσβαση στο Διαδίκτυο
-Comment[en_GB]=Access the Internet
-Comment[es]=Accede a Internet.
-Comment[et]=Pääs Internetti
-Comment[fi]=Käytä internetiä
-Comment[fil]=I-access ang Internet
-Comment[fr]=Accéder à Internet
-Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
-Comment[he]=גישה אל האינטרנט
-Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
-Comment[hr]=Pristup Internetu
-Comment[hu]=Internetelérés
-Comment[id]=Akses Internet
-Comment[it]=Accesso a Internet
-Comment[ja]=インターネットにアクセス
-Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
-Comment[ko]=인터넷 연결
-Comment[lt]=Interneto prieiga
-Comment[lv]=Piekļūt internetam
-Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
-Comment[mr]=इंटरनेटमध्ये प्रवेश करा
-Comment[nb]=Gå til Internett
-Comment[nl]=Verbinding maken met internet
-Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
-Comment[pl]=Skorzystaj z internetu
-Comment[pt]=Aceder à Internet
-Comment[pt_BR]=Acessar a internet
-Comment[ro]=Accesaţi Internetul
-Comment[ru]=Доступ в Интернет
-Comment[sk]=Prístup do siete Internet
-Comment[sl]=Dostop do interneta
-Comment[sr]=Приступите Интернету
-Comment[sv]=Gå ut på Internet
-Comment[ta]=இணையத்தை அணுகுதல்
-Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
-Comment[th]=เข้าถึงอินเทอร์เน็ต
-Comment[tr]=İnternet'e erişin
-Comment[uk]=Доступ до Інтернету
-Comment[vi]=Truy cập Internet
-Comment[zh_CN]=访问互联网
-Comment[zh_HK]=連線到網際網路
-Comment[zh_TW]=連線到網際網路
-Exec=chromium %U
-Terminal=false
-Icon=chromium
-Type=Application
-Categories=GTK;Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Copied: chromium/repos/extra-x86_64/chromium.desktop (from rev 301277, chromium/trunk/chromium.desktop)
===================================================================
--- extra-x86_64/chromium.desktop (rev 0)
+++ extra-x86_64/chromium.desktop 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,112 @@
+[Desktop Entry]
+Name=Chromium
+# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
+# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
+GenericName=Web Browser
+GenericName[ar]=متصفح الشبكة
+GenericName[bg]=Уеб браузър
+GenericName[ca]=Navegador web
+GenericName[cs]=WWW prohlížeč
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής ιστού
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
+GenericName[ko]=웹 브라우저
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Tīmekļa pārlūks
+GenericName[ml]=വെബ് ബ്രൌസര്
+GenericName[mr]=वेब ब्राऊजर
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador da Internet
+GenericName[ro]=Navigator de Internet
+GenericName[ru]=Веб-браузер
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[ta]=இணைய உலாவி
+GenericName[th]=เว็บเบราว์เซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_HK]=網頁瀏覽器
+GenericName[zh_TW]=網頁瀏覽器
+# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[fil]=Web Browser
+GenericName[hr]=Web preglednik
+GenericName[id]=Browser Web
+GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
+GenericName[sk]=WWW prehliadač
+GenericName[sr]=Интернет прегледник
+GenericName[te]=మహాతల అన్వేషి
+GenericName[vi]=Bộ duyệt Web
+# Gnome and KDE 3 uses Comment.
+Comment=Access the Internet
+Comment[ar]=الدخول إلى الإنترنت
+Comment[bg]=Достъп до интернет
+Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
+Comment[ca]=Accedeix a Internet
+Comment[cs]=Přístup k internetu
+Comment[da]=Få adgang til internettet
+Comment[de]=Internetzugriff
+Comment[el]=Πρόσβαση στο Διαδίκτυο
+Comment[en_GB]=Access the Internet
+Comment[es]=Accede a Internet.
+Comment[et]=Pääs Internetti
+Comment[fi]=Käytä internetiä
+Comment[fil]=I-access ang Internet
+Comment[fr]=Accéder à Internet
+Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
+Comment[he]=גישה אל האינטרנט
+Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
+Comment[hr]=Pristup Internetu
+Comment[hu]=Internetelérés
+Comment[id]=Akses Internet
+Comment[it]=Accesso a Internet
+Comment[ja]=インターネットにアクセス
+Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
+Comment[ko]=인터넷 연결
+Comment[lt]=Interneto prieiga
+Comment[lv]=Piekļūt internetam
+Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
+Comment[mr]=इंटरनेटमध्ये प्रवेश करा
+Comment[nb]=Gå til Internett
+Comment[nl]=Verbinding maken met internet
+Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
+Comment[pl]=Skorzystaj z internetu
+Comment[pt]=Aceder à Internet
+Comment[pt_BR]=Acessar a internet
+Comment[ro]=Accesaţi Internetul
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prístup do siete Internet
+Comment[sl]=Dostop do interneta
+Comment[sr]=Приступите Интернету
+Comment[sv]=Gå ut på Internet
+Comment[ta]=இணையத்தை அணுகுதல்
+Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
+Comment[th]=เข้าถึงอินเทอร์เน็ต
+Comment[tr]=İnternet'e erişin
+Comment[uk]=Доступ до Інтернету
+Comment[vi]=Truy cập Internet
+Comment[zh_CN]=访问互联网
+Comment[zh_HK]=連線到網際網路
+Comment[zh_TW]=連線到網際網路
+Exec=chromium %U
+Terminal=false
+Icon=chromium
+Type=Application
+Categories=GTK;Network;WebBrowser;
+MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Deleted: extra-x86_64/chromium.install
===================================================================
--- extra-x86_64/chromium.install 2017-07-26 13:37:13 UTC (rev 301277)
+++ extra-x86_64/chromium.install 2017-07-26 13:37:35 UTC (rev 301278)
@@ -1,16 +0,0 @@
-post_upgrade() {
- if (($(vercmp $2 42.0.2311.90-1) < 0)); then
- echo ':: This Chromium package no longer supports custom flags passed via the'
- echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
- echo
- echo ' The new /usr/bin/chromium launcher script will automatically detect'
- echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
- echo
- echo ' If you need to pass extra command-line arguments to Chromium, you'
- echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
- echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
- echo ' quoting rules apply but no further parsing is performed.'
- fi
-}
-
-# vim:set ts=2 sw=2 et:
Copied: chromium/repos/extra-x86_64/chromium.install (from rev 301277, chromium/trunk/chromium.install)
===================================================================
--- extra-x86_64/chromium.install (rev 0)
+++ extra-x86_64/chromium.install 2017-07-26 13:37:35 UTC (rev 301278)
@@ -0,0 +1,16 @@
+post_upgrade() {
+ if (($(vercmp $2 42.0.2311.90-1) < 0)); then
+ echo ':: This Chromium package no longer supports custom flags passed via the'
+ echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
+ echo
+ echo ' The new /usr/bin/chromium launcher script will automatically detect'
+ echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
+ echo
+ echo ' If you need to pass extra command-line arguments to Chromium, you'
+ echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
+ echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
+ echo ' quoting rules apply but no further parsing is performed.'
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
More information about the arch-commits
mailing list