build: add apple silicon support (#24545)

* chore: add patches to prevent installation of non-arm pip packages

* chore: add patches for apple-silicon

* build: add apple silicon build

* ci: add testing of new arm binary

* chore: remove / update for upstreamed patches

* Skip content tracing on macos on arm

* build: ensure that spec native modules are rebuilt for arm64 on apple-silicon

* chore: fix patches

* chore: fix broken patch

* chore: fix arm64 DCHECK

* build: add MAS arm64 build

* build: disable arm2 tests

* chore: update patches

* build: actually build MAS version of apple silicon app

Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
This commit is contained in:
Samuel Attard 2020-07-17 09:08:44 -07:00 committed by GitHub
parent 6f53457a17
commit f146a164af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 767 additions and 70 deletions

View file

@ -0,0 +1 @@
remove_some_deps_that_do_not_work_on_arm64.patch

View file

@ -0,0 +1,54 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <samuel@Samuels-Mac.local>
Date: Mon, 6 Jul 2020 14:47:55 -0700
Subject: remove some deps that do not work on arm64
Once these deps have newly built arm64 versions we can remove this patch.
diff --git a/gsutil.vpython b/gsutil.vpython
index 8a2a38aac8e154199a1431a95b1d620052c8d770..0d9d92cd5f93c1f771253a4542c0548e7f002c10 100644
--- a/gsutil.vpython
+++ b/gsutil.vpython
@@ -25,19 +25,19 @@ wheel <
# "gsutil" on non-GCE can require PyOpenSSL, which, in turn, requires
# "cryptography".
-wheel: <
- name: "infra/python/wheels/pyopenssl-py2_py3"
- version: "version:17.2.0"
->
+#wheel: <
+# name: "infra/python/wheels/pyopenssl-py2_py3"
+# version: "version:17.2.0"
+#>
##
# BEGIN "cryptography" dependencies.
##
-wheel: <
- name: "infra/python/wheels/cryptography/${platform}_${py_python}_${py_abi}"
- version: "version:2.0.3"
->
+#wheel: <
+# name: "infra/python/wheels/cryptography/${platform}_${py_python}_${py_abi}"
+# version: "version:2.0.3"
+#>
wheel: <
name: "infra/python/wheels/appdirs-py2_py3"
@@ -54,10 +54,10 @@ wheel: <
version: "version:1.1.6"
>
-wheel: <
- name: "infra/python/wheels/cffi/${platform}_${py_python}_${py_abi}"
- version: "version:1.10.0"
->
+#wheel: <
+# name: "infra/python/wheels/cffi/${platform}_${py_python}_${py_abi}"
+# version: "version:1.10.0"
+#>
wheel: <
name: "infra/python/wheels/idna-py2_py3"