Add libtinfo for arm64.
Change-Id: Ie346bcb48864d61031329d5c976c041bfe750133
Signed-off-by: Tyler Chatow <tchatow@gmail.com>
diff --git a/WORKSPACE b/WORKSPACE
index 1ebd2e6..4a2fd49 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -91,6 +91,10 @@
"//debian:libtinfo5_amd64.bzl",
libtinfo5_amd64_debs = "files",
)
+load(
+ "//debian:libtinfo5_arm64.bzl",
+ libtinfo5_arm64_debs = "files",
+)
load("//debian:packages.bzl", "generate_repositories_for_debs")
generate_repositories_for_debs(python_debs)
@@ -137,6 +141,8 @@
generate_repositories_for_debs(libtinfo5_amd64_debs)
+generate_repositories_for_debs(libtinfo5_arm64_debs)
+
local_repository(
name = "com_grail_bazel_toolchain",
path = "third_party/bazel-toolchain",
@@ -1099,7 +1105,7 @@
rules_pkg_dependencies()
http_archive(
- name = "libtinfo5",
+ name = "libtinfo5_amd64",
build_file_content = """
exports_files(
[
@@ -1113,3 +1119,19 @@
sha256 = "059e14f77dce365c57b96284aae98c892f61e269b3fbb7d07714b7135c2e5617",
urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_amd64.tar.gz"],
)
+
+http_archive(
+ name = "libtinfo5_arm64",
+ build_file_content = """
+exports_files(
+ [
+ 'lib/aarch64-linux-gnu/libtinfo.so.5',
+ 'lib/aarch64-linux-gnu/libtinfo.so.5.9',
+ ],
+ ["//visibility:public"],
+)
+""",
+ patch_cmds = ["touch lib/aarch64-linux-gnu/BUILD"],
+ sha256 = "df4ea5194c80df8d1f5f6ed68b47ce9dbf78aa8cdebbc61cf00654d9075f8e3c",
+ urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_arm64.tar.gz"],
+)
diff --git a/debian/BUILD b/debian/BUILD
index f699006..3088cf4 100644
--- a/debian/BUILD
+++ b/debian/BUILD
@@ -82,6 +82,10 @@
":libtinfo5_amd64.bzl",
libtinfo5_amd64_debs = "files",
)
+load(
+ ":libtinfo5_arm64.bzl",
+ libtinfo5_arm64_debs = "files",
+)
load(":packages.bzl", "download_packages", "generate_deb_tarball")
package(default_visibility = ["//visibility:public"])
@@ -482,6 +486,12 @@
target_compatible_with = ["@platforms//os:linux"],
)
+generate_deb_tarball(
+ name = "libtinfo5_arm64",
+ files = libtinfo5_arm64_debs,
+ target_compatible_with = ["@platforms//os:linux"],
+)
+
exports_files([
"ssh_wrapper.sh",
])
diff --git a/debian/libtinfo5_arm64.bzl b/debian/libtinfo5_arm64.bzl
new file mode 100644
index 0000000..7c8764d
--- /dev/null
+++ b/debian/libtinfo5_arm64.bzl
@@ -0,0 +1,3 @@
+files = {
+ "libtinfo5_6.0+20161126-1+deb9u2_arm64.deb": "14e878d5955bce1fb512cec5e6c85b107b89e9675c9252bbad2d0594d4c1e532",
+}
diff --git a/third_party/bazel-toolchain/toolchain/internal/repo.bzl b/third_party/bazel-toolchain/toolchain/internal/repo.bzl
index 3be5388..bf23558 100644
--- a/third_party/bazel-toolchain/toolchain/internal/repo.bzl
+++ b/third_party/bazel-toolchain/toolchain/internal/repo.bzl
@@ -17,12 +17,17 @@
_os = "os",
)
load(
+ "//toolchain/internal:common.bzl",
+ _arch = "arch",
+)
+load(
"//toolchain/internal:llvm_distributions.bzl",
_download_llvm_preconfigured = "download_llvm_preconfigured",
)
def llvm_repo_impl(rctx):
os = _os(rctx)
+ arch = _arch(rctx)
if os == "windows":
rctx.file("BUILD", executable = False)
return
@@ -33,12 +38,19 @@
executable = False,
)
- rctx.symlink(
- Label("@libtinfo5//lib/x86_64-linux-gnu:libtinfo.so.5.9"),
- "lib/libtinfo.so.5.9",
- )
+ if os == "linux":
+ if arch == "x86_64":
+ rctx.symlink(
+ Label("@libtinfo5_amd64//lib/x86_64-linux-gnu:libtinfo.so.5.9"),
+ "lib/libtinfo.so.5.9",
+ )
+ elif arch == "aarch64":
+ rctx.symlink(
+ Label("@libtinfo5_arm64//lib/aarch64-linux-gnu:libtinfo.so.5.9"),
+ "lib/libtinfo.so.5.9",
+ )
- rctx.symlink("lib/libtinfo.so.5.9", "lib/libtinfo.so.5")
+ rctx.symlink("lib/libtinfo.so.5.9", "lib/libtinfo.so.5")
_download_llvm_preconfigured(rctx)