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) |