diff options
author | Stephan Hartmann <stha09@googlemail.com> | 2019-07-29 19:17:34 +0200 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2019-07-29 13:31:46 -0400 |
commit | 9fd80e7d75aa63843ec33c9d44fee32596ae8f25 (patch) | |
tree | 86192c90637ba73c9709ac7b8a689b9eb59ee768 /www-client | |
parent | dev-db/freetds: Drop unmaintained live ebuild (diff) | |
download | gentoo-9fd80e7d75aa63843ec33c9d44fee32596ae8f25.tar.gz gentoo-9fd80e7d75aa63843ec33c9d44fee32596ae8f25.tar.bz2 gentoo-9fd80e7d75aa63843ec33c9d44fee32596ae8f25.zip |
www-client/chromium: fix building on arm64
Also move USE=neon to cpu_flags_arm_neon
Closes: https://github.com/gentoo/gentoo/pull/12572
Package-Manager: Portage-2.3.66, Repoman-2.3.16
Signed-off-by: Stephan Hartmann <stha09@googlemail.com>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/chromium-76.0.3809.80.ebuild | 4 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-76-arm64-skia.patch | 41 |
2 files changed, 43 insertions, 2 deletions
diff --git a/www-client/chromium/chromium-76.0.3809.80.ebuild b/www-client/chromium/chromium-76.0.3809.80.ebuild index f5e29cac9e49..764c00b66cf3 100644 --- a/www-client/chromium/chromium-76.0.3809.80.ebuild +++ b/www-client/chromium/chromium-76.0.3809.80.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" -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" +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" RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" REQUIRED_USE="component-build? ( !suid )" @@ -555,7 +555,7 @@ src_configure() { ffmpeg_target_arch=arm64 elif [[ $myarch = arm ]] ; then myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) else die "Failed to determine target arch, got '$myarch'." fi diff --git a/www-client/chromium/files/chromium-76-arm64-skia.patch b/www-client/chromium/files/chromium-76-arm64-skia.patch new file mode 100644 index 000000000000..8a44235c8030 --- /dev/null +++ b/www-client/chromium/files/chromium-76-arm64-skia.patch @@ -0,0 +1,41 @@ +From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001 +From: Mike Klein <mtklein@google.com> +Date: Tue, 02 Jul 2019 13:23:06 -0500 +Subject: [PATCH] fix GCC arm64 builds + +These two guards are checking if we're building for aarch64 and thus +have F16 conversion instructions, but weren't checking if we want to use +them (if we have them _and_ we're being compiled by Clang). At head +we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte +uint16x4_t, etc. + +Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a +Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257 +Reviewed-by: Herb Derby <herb@google.com> +Commit-Queue: Mike Klein <mtklein@google.com> +--- + +diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h +index 0eae9fe..e05f36c 100644 +--- a/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h +@@ -972,7 +972,8 @@ + } + + SI F from_half(U16 h) { +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. + return vcvt_f32_f16(h); + + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) +@@ -992,7 +993,8 @@ + } + + SI U16 to_half(F f) { +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. + return vcvt_f16_f32(f); + + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) |