Switch to a preconfigured Clang for k8 and armv7

This one reuses more of Bazel's builtin features to remain up to date
more easily, and it's easier to expand support for more platforms. This
also takes care of upgrading to a newer Clang.

This will require updating to raspios bullseye on the Raspberry Pis.
This also renames armhf-debian to armv7 to match the broader Bazel
ecosystem's name for this architecture.

Change-Id: I3e2a4f4efea43e76314ca34a9293c7b4b45edd2c
Signed-off-by: Brian Silverman <bsilver16834@gmail.com>
diff --git a/debian/matplotlib.bzl b/debian/matplotlib.bzl
index 3ae0786..9586dac 100644
--- a/debian/matplotlib.bzl
+++ b/debian/matplotlib.bzl
@@ -1,52 +1,58 @@
 files = {
-    "blt_2.5.3+dfsg-4_amd64.deb": "624e1c02bc1e72fa77523f514a606b7b7da3399def37995d016955b8d950584b",
-    "coreutils_8.30-3_amd64.deb": "ae6e5cd6e9aaf74d66edded3931a7a6c916625b8b890379189c75574f6856bf4",
-    "fontconfig-config_2.13.1-2_all.deb": "9f5d34ba20eb156ef62d8126866a376be985c6a83fdcfb33f12cd83acac480c2",
-    "fonts-dejavu-core_2.37-1_all.deb": "58d21a255606191e6512cca51f32c4480e7a798945cc980623377696acfa3cfc",
-    "fonts-liberation_1.07.4-9_all.deb": "c936aebbfd0af7851399ae5ab08bb01744f5e3381f7678fb87cc77114f95ef53",
-    "fonts-lyx_2.3.2-1_all.deb": "9b66e257d16c593fc78ebb14f5b72c4a8e00f09984bc2242359a0b16b4efbd87",
-    "libbsd0_0.9.1-2_amd64.deb": "0827321e85d36200759e3ec621fc05154c752534c330ffc5472ad75bbb8eb913",
-    "libfontconfig1_2.13.1-2_amd64.deb": "6766d0bcfc615fb15542efb5235d38237ccaec4c219beb84dbd22d1662ccea8f",
-    "libfreetype6_2.9.1-3+deb10u2_amd64.deb": "93f009440fd1ffcc4b3afdbc413eccc1d8101145a262ca0d0c305fc7029f2417",
-    "libjs-jquery-ui_1.12.1+dfsg-5_all.deb": "42918c7650c60346ac2c5c7596af220bfc858ff2c7d5f63eb02be8902aaa5755",
-    "libjs-jquery_3.3.1~dfsg-3_all.deb": "1276015fa73712e78262995343c5f5313a5c2efe7eff91741c2b9de1fe721fdf",
-    "libpng16-16_1.6.36-6_amd64.deb": "82a252478465521cde9d5af473df01ed79f16e912effc5971892a574e9113500",
-    "libtcl8.6_8.6.9+dfsg-2_amd64.deb": "7b5d095b83e13b9b571cfecde55834b770735e29ff23a52d45e9f4692d4c64a1",
-    "libtk8.6_8.6.9-2_amd64.deb": "a250aba06a5fc9c90622b6e1c3560ff351f945ed7234f61267ec3688370d1770",
-    "libx11-6_1.6.7-1+deb10u1_amd64.deb": "f9d62eaa734828d4282fe4c17613c1a688af4cccbe2819eb691b3aaf615e882f",
-    "libx11-data_1.6.7-1+deb10u1_all.deb": "02f795889390fa0e1f29c6ecdd4a30cd0aae39c0c6b1379410055404b0897c66",
-    "libxau6_1.0.8-1+b2_amd64.deb": "a7857b726c3e0d16cda2fbb9020d42e024a3160d54ef858f58578612276683e8",
-    "libxcb1_1.13.1-2_amd64.deb": "87d9ed9340dc3cb6d7ce024d2e046a659d91356863083715d2c428a32e908833",
+    "blt_2.5.3+dfsg-4.1_amd64.deb": "1f4fe70b93976daf7cb728f3fb7561edbb0c78360f053a521ee9075f2ec5c809",
+    "coreutils_8.32-4+b1_amd64.deb": "3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4",
+    "fontconfig-config_2.13.1-4.2_all.deb": "48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90",
+    "fonts-croscore_20201225-1_all.deb": "64904820b729ff40038f85683004e3b94b328d969bc0fbba263c58d635452923",
+    "fonts-dejavu-core_2.37-2_all.deb": "1f67421437b6eb18669d2868e3e02cb88668683d635198142f48aacc5b397118",
+    "fonts-freefont-otf_20120503-10_all.deb": "0b63996c80c6c660424af6d3832818e647960d6f65a51de010bb57dd0762faa7",
+    "fonts-freefont-ttf_20120503-10_all.deb": "4ca1c21ebc479198a3a5879d236c8317d6f7b2f1c403f7890e24c02eead05615",
+    "fonts-liberation2_2.1.3-1_all.deb": "e0805f0085132f5e6dd30f88c0d7260caf1e5450832fe2e3988a20fa9fa2150e",
+    "fonts-liberation_1.07.4-11_all.deb": "efd381517f958b01969343634ffcbdd60056be7779af84c6f53a005090430204",
+    "fonts-lyx_2.3.6-1_all.deb": "c6a1e4105d3c4edc246e4740560c9eda0e5fffec72dd03de256cf10f669fbec8",
+    "fonts-texgyre_20180621-3.1_all.deb": "cb7e9a4b2471cfdd57194c16364f9102f0639816a2662fed4b30d2a158747076",
+    "fonts-urw-base35_20200910-1_all.deb": "f95a139adb7f1b60626e76d4d45d1b35aad1bc2c2597394c291ef5f84b5dcb43",
+    "libattr1_2.4.48-6_amd64.deb": "af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf",
+    "libbrotli1_1.0.9-2+b2_amd64.deb": "65ca7d8b03e9dac09c5d544a89dd52d1aeb74f6a19583d32e4ff5f0c77624c24",
+    "libbsd0_0.11.3-1_amd64.deb": "284a7b8dcfcad74770f57360721365317448b38ab773db542bf630e94e60c13e",
+    "libdeflate0_1.7-1_amd64.deb": "dadaf0d28360f6eb21ad389b2e0f12f8709c9de539b28de9c11d7ec7043dec95",
+    "libfontconfig1_2.13.1-4.2_amd64.deb": "b92861827627a76e74d6f447a5577d039ef2f95da18af1f29aa98fb96baea4c1",
+    "libfreetype6_2.10.4+dfsg-1_amd64.deb": "e95396fc3cc806b2b95d9a00b4226eb464bc3ef4817c798749a0dd582546e5bc",
+    "libimagequant0_2.12.2-1.1_amd64.deb": "cca1a4d3c24358c75964c720445a1ba50467aa52af7fb82a387f460a4a065096",
+    "libjbig0_2.1-3.1+b2_amd64.deb": "9646d69eefce505407bf0437ea12fb7c2d47a3fd4434720ba46b642b6dcfd80f",
+    "libjpeg62-turbo_2.0.6-4_amd64.deb": "28de780a1605cf501c3a4ebf3e588f5110e814b208548748ab064100c32202ea",
+    "libjs-jquery-ui_1.12.1+dfsg-8+deb11u1_all.deb": "9a2cea1140b526daa97e51f91bea63cb05679c4206d70e926915836d4f72be58",
+    "liblcms2-2_2.12~rc1-2_amd64.deb": "0608ecb6ed258814e390b52b3fb50f2a6d3239b5ecb1086292ae08be00a67b0f",
+    "libmd0_1.0.3-3_amd64.deb": "9e425b3c128b69126d95e61998e1b5ef74e862dd1fc953d91eebcc315aea62ea",
+    "libpng16-16_1.6.37-3_amd64.deb": "7d5336af395d1f658d0e66d74d0e1f4c632028750e7e04314d1a650e0317f3d6",
+    "libtcl8.6_8.6.11+dfsg-1_amd64.deb": "785df3d81010a67ded4a2c216c7b99657c6ab3d1ba7369119894abc851e5bb0c",
+    "libtiff5_4.2.0-1_amd64.deb": "ec12fc6a05a30f8f98878dbb6d9b356d170d5f6239fb68ba6a1dc9eb89ba3194",
+    "libtk8.6_8.6.11-2_amd64.deb": "20d70721a5d539266a8736800378398d088419b986b5313ca811203284690f12",
+    "libwebp6_0.6.1-2.1_amd64.deb": "52bfd0f8d3a1bbd2c25fcd72fab857d0f24aea35874af68e057dde869ae3902c",
+    "libwebpdemux2_0.6.1-2.1_amd64.deb": "bba38f28d461b6b2e94fc51fff34e0d179c2dea3b0c31a77de788f2023be6614",
+    "libwebpmux3_0.6.1-2.1_amd64.deb": "78486e53903cbf422dfe04a33e5481c56c82198a2bfa307f2066e616477395f5",
+    "libx11-6_1.7.2-1_amd64.deb": "086bd667fc07369472a923da015d182bb0c15a72228a5c0e6ddbcbeaab70acd2",
+    "libx11-data_1.7.2-1_all.deb": "049b7eabced516acfdf44a5e81c26d108b16e4987e5d7604ea53eaade74027fb",
+    "libxau6_1.0.9-1_amd64.deb": "679db1c4579ec7c61079adeaae8528adeb2e4bf5465baa6c56233b995d714750",
+    "libxcb1_1.14-3_amd64.deb": "d5e0f047ed766f45eb7473947b70f9e8fddbe45ef22ecfd92ab712c0671a93ac",
     "libxdmcp6_1.1.2-3_amd64.deb": "ecb8536f5fb34543b55bb9dc5f5b14c9dbb4150a7bddb3f2287b7cab6e9d25ef",
-    "libxext6_1.3.3-1+b2_amd64.deb": "724901105792e983bd0e7c2b46960cd925dd6a2b33b5ee999b4e80aaf624b082",
+    "libxext6_1.3.3-1.1_amd64.deb": "dc1ff8a2b60c7dd3c8917ffb9aa65ee6cda52648d9150608683c47319d1c0c8c",
     "libxft2_2.3.2-2_amd64.deb": "cd71384b4d511cba69bcee29af326943c7ca12450765f44c40d246608c779aad",
     "libxrender1_0.9.10-1_amd64.deb": "3ea17d07b5aa89012130e2acd92f0fc0ea67314e2f5eab6e33930ef688f48294",
     "libxss1_1.2.3-1_amd64.deb": "85cce16368f08a878fa892fbc54520fc654d00769cde6d300b8b802734a993c0",
-    "node-jquery_2.2.4+dfsg-4_all.deb": "92dcf4950fb9a8ee2f50557af2ca50ca426f5fb89fc6812009ff2775e02e330e",
-    "python-backports.functools-lru-cache_1.5-3_all.deb": "e9c96b612156453ce58a47ae906e0e52f3b2a78a505f12fd860419822e205d0a",
-    "python-cycler_0.10.0-1_all.deb": "ed00546b732c9361205ca392ef178995ca50e647e2940261c61229968be3de76",
-    "python-dateutil_2.7.3-3_all.deb": "eb051f2d84622c46551428b5b4f7045ca3c188a31afc3934511f83f59080bde4",
-    "python-kiwisolver_1.0.1-2+b1_amd64.deb": "fe5e6de843c3840e0786973167d2103e11d39c4ee2dac532baf1efdf1a9f4c3c",
-    "python-matplotlib-data_3.0.2-2_all.deb": "da12bc151e86ec180fc86fc27edf7213e7b0f532e1d10e77a410ac9dcc92ef0c",
-    "python-matplotlib2-data_2.2.3-6_all.deb": "9680fb9e627dfc81c82d1019adc1b53306185bd6996c456c6fc990027980967b",
-    "python-matplotlib_2.2.3-6_amd64.deb": "b48c890f2e19369bb8eb20d5fe19f1fec12101110350128ffb8cb684533382f1",
-    "python-pyparsing_2.2.0+dfsg1-2_all.deb": "4f92606287eaebaf61a63c3e483d96f3a07d88132cf2b7774300e07089ca969a",
-    "python-six_1.12.0-1_all.deb": "e2fab198138d00ca05a2c79aa5490acf87cf22e2496f45721c3b8837d32e3f3b",
-    "python-subprocess32_3.5.3-1_amd64.deb": "d29658e8a52621f44b77bc31623c045ae7f8f159ba57539c62fe02b7f6e7581e",
-    "python-tk_2.7.16-2_amd64.deb": "97ec414f9328e29e70720e0ac4fbc4483299c3b98c01746491bd5740506b131b",
-    "python-tz_2019.1-1_all.deb": "354996dc154d9cbc15f1d7e85b930bd66f6082795cf57b7cbc8e65c54a20575e",
-    "python3-cycler_0.10.0-1_all.deb": "b49d81a972054f2df915002cd8ba9225fb6bd07a633487dda5813c137f6cfb76",
-    "python3-dateutil_2.7.3-3_all.deb": "f35233cee90828b9b167a8d6db121be6b78607ff280cc2c0503d37fcaa8c4751",
-    "python3-kiwisolver_1.0.1-2+b1_amd64.deb": "ea86280396a3665fc4355da9f2b0f43198fdda31cd4b8e66ed478b305fef3f29",
-    "python3-matplotlib_3.0.2-2_amd64.deb": "d4cd5d0227ac8013141fc9340b7a37a740e584b9517fd73d9a288f7135257f2b",
-    "python3-pyparsing_2.2.0+dfsg1-2_all.deb": "cfc257030609c96acfd5589d751c33cfd50e0870f22b3485fc75240c7c7ad19e",
-    "python3-six_1.12.0-1_all.deb": "ec43cea7798b07e39ad53bb4088f6db17ef1fb01abaebab0641da0ba0e6819e4",
-    "python3-tk_3.7.3-1_amd64.deb": "e869ac21e43dcea7b09fa23848e285122d4b4255a0d738d7eb2bebd6d92fbe2a",
-    "sensible-utils_0.0.12_all.deb": "2043859f8bf39a20d075bf52206549f90dcabd66665bb9d6837273494fc6a598",
-    "tk8.6-blt2.5_2.5.3+dfsg-4_amd64.deb": "752ed35d41bc98a1b79c61b196cfd479a695b6c8d6e6756a18221c4ece501f95",
-    "ttf-bitstream-vera_1.10-8_all.deb": "328def7f581bf94b3b06d21e641f3e5df9a9b2e84e93b4206bc952fe8e80f38a",
-    "tzdata_2021a-0+deb10u1_all.deb": "00da63f221b9afa6bc766742807e398cf183565faba339649bafa3f93375fbcb",
-    "ucf_3.0038+nmu1_all.deb": "d02a82455faab988a52121f37d97c528a4f967ed75e9398e1d8db571398c12f9",
+    "python-matplotlib-data_3.3.4-1_all.deb": "3ae74d712766f261e41502a712ec8b471f7514b7fc4ae03fb6df539a553b61ff",
+    "python3-cycler_0.10.0-3_all.deb": "87022b0aaf76b345ed80a6737326592a6009035a0eb694f475030ad325e91262",
+    "python3-dateutil_2.8.1-6_all.deb": "59d2e32149471adee915d6b721726612c873a83f262a041899573a1867e9e450",
+    "python3-kiwisolver_1.3.1-1+b1_amd64.deb": "ace5f22edfc057f252a57da7c04145ae298dddc658e3e72dbe7bddd39e03838a",
+    "python3-matplotlib_3.3.4-1_amd64.deb": "e411a5de1fb43c3076697b48ec7eb36d4c98e6359d6717b34adfdd40b49fb9d5",
+    "python3-pil.imagetk_8.1.2+dfsg-0.3_amd64.deb": "b0e98d9c7ebdee941b0a24f40c7b29b4cb4c8759e04c478da1d0380ebf956c1e",
+    "python3-pil_8.1.2+dfsg-0.3_amd64.deb": "a0e44fe855f0b4f7a175fe4dad7db27a18adc8a0119e930010bc95641c66237a",
+    "python3-pyparsing_2.4.7-1_all.deb": "bec23dc18bb37357f34e77e3f9590224b2d0f3bb4d9bb099600fa2d547800aa3",
+    "python3-six_1.16.0-2_all.deb": "acd4271ba56e42298b9fab0fcdad8f319970b50d1026f8469eed968a20f28761",
+    "python3-tk_3.9.2-1_amd64.deb": "272db7708d60675b6aaea98aef64131e2bc9ec443ad677ef247d341632d9ef07",
+    "sensible-utils_0.0.14_all.deb": "b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f",
+    "tk8.6-blt2.5_2.5.3+dfsg-4.1_amd64.deb": "f12f8dd7ed62386d4a798ee84df7fd976b9ba4d9a930ba5b5d4bf48bd16437ca",
+    "ttf-bitstream-vera_1.10-8.1_all.deb": "ba622edf73744b2951bbd20bfc113a1a875a9b0c6fed1ac9e9c7f4b54dd8a048",
+    "ucf_3.0043_all.deb": "ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53",
 }
 
 def build_matplotlib(version, tkinter_py_version = None, copy_shared_files = True):
@@ -171,14 +177,9 @@
     if copy_shared_files:
         native.genrule(
             name = "create_rc" + version,
+            srcs = ["etc/matplotlibrc"],
             outs = ["usr/share/matplotlib/mpl-data/matplotlibrc"],
-            cmd = "\n".join([
-                "cat > $@ << END",
-                # This is necessary to make matplotlib actually plot things to the
-                # screen by default.
-                "backend      : TkAgg",
-                "END",
-            ]),
+            cmd = "cat $< > $@",
         )
 
     native.py_library(
@@ -189,11 +190,10 @@
             include = ["usr/lib/python" + tkinter_py_version + "/**/*.py"],
         ),
         data = _data_files + _builtin_so_copied + _system_so_copied + [
-            ":usr/share/matplotlib/mpl-data/matplotlibrc",
         ] + native.glob(["etc/**", "usr/share/fonts/**"]),
         imports = [
             "rpathed3/usr/lib/python" + version + "/dist-packages",
-            "rpathed3/usr/lib/python" + version + ".7/lib-dynload",
+            "rpathed3/usr/lib/python" + version + ".9/lib-dynload",
             version,
             ".",
             "usr/lib/python" + tkinter_py_version,