From 365a47fac12316ea710f6106fb3c46ad3edbe286 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Thu, 13 Sep 2018 10:05:50 +0000
Subject: [PATCH] community/chromium: fix and enable build on aarch64 and armhf

---
 community/chromium/APKBUILD                   |  4 +-
 ...romium-remove-unknown-clang-warnings.patch | 20 +++++++
 .../chromium/chromium-use-alpine-target.patch | 57 +++++++++++++++++++
 3 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 community/chromium/chromium-remove-unknown-clang-warnings.patch
 create mode 100644 community/chromium/chromium-use-alpine-target.patch

diff --git a/community/chromium/APKBUILD b/community/chromium/APKBUILD
index ac892f5fa83a..22397268e57b 100644
--- a/community/chromium/APKBUILD
+++ b/community/chromium/APKBUILD
@@ -5,7 +5,7 @@ pkgver=68.0.3440.106
 pkgrel=0
 pkgdesc="chromium web browser"
 url="http://www.chromium.org/"
-arch="x86_64"
+arch="x86_64 aarch64 armhf"
 license="BSD"
 depends="xdg-utils"
 depends_dev=""
@@ -102,6 +102,7 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
 	secure_getenv.patch
 	chromium-clang-r2.patch
 
+	chromium-use-alpine-target.patch
 	chromium-gcc-r1.patch
 	chromium-skia-harmony.patch
 	chromium-cors-string-r0.patch
@@ -361,6 +362,7 @@ db7f676d3476820c29f234b1f8f17a74e82b72d67fc727c715307734fd238e3cb0f99d8b5320d45f
 6b0812725a0fc562527f3556dc4979fec72d1ba92f26a5e78ff2016c39bb2c155a0ff95fc22101f9c097d14b84182d6615276f4247f60ae7833ab45da8366e6d  swiftshader.patch
 de2d6ebc75d0496a9424ea6c025b052d6d59f38477338b0e2a5c21ccec11e774244fd5d340195c523f7a3c02ccfd8ac81486958008bc8b221c848dfa2c71bd50  secure_getenv.patch
 38670c9bdc87b3779593eab141ac23741fa47c774ba491f273239a453566979583e352b032caf350ed485bbc006addca0f689b8c439646c2d37e28e3f3ea476c  chromium-clang-r2.patch
+4887b3169aeda13871a67658b993c6a92656113f1dc7be5643db97031559dd3841a4a8b612c2a11e14cb649eda799b25393b7ad82692297b9dd19cef26213425  chromium-use-alpine-target.patch
 6e2bcbed44786c6c0d3beda935269f30fdcdf07c400defa6bf73f8359a60b1d59cc2f80dbc106be651a535635995641321d9e524b18919d3975bd6008a641d59  chromium-gcc-r1.patch
 cbd99d51178fa5c2c3dee1eb4990240ca2ff829cee9151384e36bc3c634698c0ecaf9b51c99e901f38d0a37eef7187fe5ad39b9b7f528f7a9066a855a0c6e49f  chromium-skia-harmony.patch
 e2df9816ce01a8175ae45682f48805dd3ab55154a0e9e7b1b5edabd8584f4326bfa25ad7f94dc174c968e72183fff1416e50e2d75671b17b52f2337c16d6c605  chromium-cors-string-r0.patch
diff --git a/community/chromium/chromium-remove-unknown-clang-warnings.patch b/community/chromium/chromium-remove-unknown-clang-warnings.patch
new file mode 100644
index 000000000000..83bbbbb88d67
--- /dev/null
+++ b/community/chromium/chromium-remove-unknown-clang-warnings.patch
@@ -0,0 +1,20 @@
+--- build/config/compiler/BUILD.gn.orig
++++ build/config/compiler/BUILD.gn
+@@ -1399,14 +1399,14 @@
+         "-Wno-user-defined-warnings",
+ 
+         # TODO(thakis): https://crbug.com/753973
+-        "-Wno-enum-compare-switch",
++        #"-Wno-enum-compare-switch",
+ 
+         # TODO(hans): https://crbug.com/766891
+-        "-Wno-null-pointer-arithmetic",
++        #"-Wno-null-pointer-arithmetic",
+ 
+         # Ignore warnings about MSVC optimization pragmas.
+         # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
+-        "-Wno-ignored-pragma-optimize",
++        #"-Wno-ignored-pragma-optimize",
+       ]
+     } else if (use_xcode_clang) {
+       cflags += [
diff --git a/community/chromium/chromium-use-alpine-target.patch b/community/chromium/chromium-use-alpine-target.patch
new file mode 100644
index 000000000000..37ede77852e5
--- /dev/null
+++ b/community/chromium/chromium-use-alpine-target.patch
@@ -0,0 +1,57 @@
+--- build/config/compiler/BUILD.gn.orig
++++ build/config/compiler/BUILD.gn
+@@ -709,8 +709,8 @@
+       }
+     } else if (current_cpu == "arm") {
+       if (is_clang && !is_android && !is_nacl) {
+-        cflags += [ "--target=arm-linux-gnueabihf" ]
+-        ldflags += [ "--target=arm-linux-gnueabihf" ]
++        cflags += [ "--target=armv6-alpine-linux-muslgnueabihf" ]
++        ldflags += [ "--target=armv6-alpine-linux-muslgnueabihf" ]
+       }
+       if (!is_nacl) {
+         cflags += [
+@@ -723,8 +723,8 @@
+       }
+     } else if (current_cpu == "arm64") {
+       if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+-        cflags += [ "--target=aarch64-linux-gnu" ]
+-        ldflags += [ "--target=aarch64-linux-gnu" ]
++        cflags += [ "--target=aarch64-alpine-linux-musl" ]
++        ldflags += [ "--target=aarch64-alpine-linux-musl" ]
+       }
+     } else if (current_cpu == "mipsel" && !is_nacl) {
+       if (custom_toolchain == "") {
+@@ -733,8 +733,8 @@
+             cflags += [ "--target=mipsel-linux-android" ]
+             ldflags += [ "--target=mipsel-linux-android" ]
+           } else {
+-            cflags += [ "--target=mipsel-linux-gnu" ]
+-            ldflags += [ "--target=mipsel-linux-gnu" ]
++            cflags += [ "--target=mipsel-alpine-linux-musl" ]
++            ldflags += [ "--target=mipsel-alpine-linux-musl" ]
+           }
+         } else {
+           cflags += [ "-EL" ]
+@@ -861,8 +861,8 @@
+             cflags += [ "--target=mips64el-linux-android" ]
+             ldflags += [ "--target=mips64el-linux-android" ]
+           } else {
+-            cflags += [ "--target=mips64el-linux-gnuabi64" ]
+-            ldflags += [ "--target=mips64el-linux-gnuabi64" ]
++            cflags += [ "--target=mips64el-alpine-linux-musl" ]
++            ldflags += [ "--target=mips64el-alpine-linux-musl" ]
+           }
+         } else {
+           cflags += [
+@@ -919,8 +919,8 @@
+     } else if (current_cpu == "mips64") {
+       if (custom_toolchain == "") {
+         if (is_clang) {
+-          cflags += [ "--target=mips64-linux-gnuabi64" ]
+-          ldflags += [ "--target=mips64-linux-gnuabi64" ]
++          cflags += [ "--target=mips64-alpine-linux-musl" ]
++          ldflags += [ "--target=mips64-alpine-linux-musl" ]
+         } else {
+           cflags += [
+             "-EB",
-- 
GitLab