Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/files/, www-client/chromium/
Date: Mon, 29 Jul 2019 17:32:06
Message-Id: 1564421506.9fd80e7d75aa63843ec33c9d44fee32596ae8f25.floppym@gentoo
1 commit: 9fd80e7d75aa63843ec33c9d44fee32596ae8f25
2 Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
3 AuthorDate: Mon Jul 29 17:17:34 2019 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 29 17:31:46 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fd80e7d
7
8 www-client/chromium: fix building on arm64
9
10 Also move USE=neon to cpu_flags_arm_neon
11
12 Closes: https://github.com/gentoo/gentoo/pull/12572
13 Package-Manager: Portage-2.3.66, Repoman-2.3.16
14 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
15 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
16
17 www-client/chromium/chromium-76.0.3809.80.ebuild | 4 +--
18 .../chromium/files/chromium-76-arm64-skia.patch | 41 ++++++++++++++++++++++
19 2 files changed, 43 insertions(+), 2 deletions(-)
20
21 diff --git a/www-client/chromium/chromium-76.0.3809.80.ebuild b/www-client/chromium/chromium-76.0.3809.80.ebuild
22 index f5e29cac9e4..764c00b66cf 100644
23 --- a/www-client/chromium/chromium-76.0.3809.80.ebuild
24 +++ b/www-client/chromium/chromium-76.0.3809.80.ebuild
25 @@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
26 LICENSE="BSD"
27 SLOT="0"
28 KEYWORDS="~amd64 ~x86"
29 -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
30 +IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
31 RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
32 REQUIRED_USE="component-build? ( !suid )"
33
34 @@ -555,7 +555,7 @@ src_configure() {
35 ffmpeg_target_arch=arm64
36 elif [[ $myarch = arm ]] ; then
37 myconf_gn+=" target_cpu=\"arm\""
38 - ffmpeg_target_arch=$(usex neon arm-neon arm)
39 + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
40 else
41 die "Failed to determine target arch, got '$myarch'."
42 fi
43
44 diff --git a/www-client/chromium/files/chromium-76-arm64-skia.patch b/www-client/chromium/files/chromium-76-arm64-skia.patch
45 new file mode 100644
46 index 00000000000..8a44235c803
47 --- /dev/null
48 +++ b/www-client/chromium/files/chromium-76-arm64-skia.patch
49 @@ -0,0 +1,41 @@
50 +From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001
51 +From: Mike Klein <mtklein@××××××.com>
52 +Date: Tue, 02 Jul 2019 13:23:06 -0500
53 +Subject: [PATCH] fix GCC arm64 builds
54 +
55 +These two guards are checking if we're building for aarch64 and thus
56 +have F16 conversion instructions, but weren't checking if we want to use
57 +them (if we have them _and_ we're being compiled by Clang). At head
58 +we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
59 +uint16x4_t, etc.
60 +
61 +Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
62 +Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
63 +Reviewed-by: Herb Derby <herb@××××××.com>
64 +Commit-Queue: Mike Klein <mtklein@××××××.com>
65 +---
66 +
67 +diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h
68 +index 0eae9fe..e05f36c 100644
69 +--- a/third_party/skia/src/opts/SkRasterPipeline_opts.h
70 ++++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h
71 +@@ -972,7 +972,8 @@
72 + }
73 +
74 + SI F from_half(U16 h) {
75 +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
76 ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
77 ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
78 + return vcvt_f32_f16(h);
79 +
80 + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
81 +@@ -992,7 +993,8 @@
82 + }
83 +
84 + SI U16 to_half(F f) {
85 +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
86 ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
87 ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
88 + return vcvt_f16_f32(f);
89 +
90 + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)