From 08b59753d4263b8c781448989e26f6374afb7909 Mon Sep 17 00:00:00 2001 From: Oliver Pajonk Date: Wed, 18 Mar 2026 14:29:54 +0100 Subject: [PATCH] Add support for aarch64 ACL Currently, the ACL dependency is hard-coded to x86_64. For aarch64, the library location is a bit different and a different binary package must be used. This PR introduces both fixes and adds an auto-selection of the right codepath, depending on the CPU. --- MODULE.bazel | 7 +++++++ externals/acl/BUILD | 5 ++++- externals/acl/acl.BUILD | 7 ++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index ed1295ed..085467f0 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -109,6 +109,13 @@ deb( visibility = ["//visibility:public"], ) +deb( + name = "acl-deb-aarch64", + build = "//externals/acl:acl.BUILD", + urls = ["https://launchpadlibrarian.net/581258948/libacl1-dev_2.3.1-1_arm64.deb"], + visibility = ["//visibility:public"], +) + PYTHON_VERSION = "3.12" python = use_extension("@rules_python//python/extensions:python.bzl", "python", dev_dependency = True) diff --git a/externals/acl/BUILD b/externals/acl/BUILD index b71d5df1..da079950 100644 --- a/externals/acl/BUILD +++ b/externals/acl/BUILD @@ -1,5 +1,8 @@ alias( name = "acl", - actual = "@acl-deb//:acl", + actual = select({ + "@platforms//cpu:aarch64": "@acl-deb-aarch64//:acl", + "//conditions:default": "@acl-deb//:acl", + }), visibility = ["//visibility:public"], ) diff --git a/externals/acl/acl.BUILD b/externals/acl/acl.BUILD index 718726c6..b695a6ac 100644 --- a/externals/acl/acl.BUILD +++ b/externals/acl/acl.BUILD @@ -1,8 +1,9 @@ cc_library( name = "acl", - srcs = [ - "usr/lib/libacl.a", - ], + srcs = select({ + "@platforms//cpu:aarch64": ["usr/lib/aarch64-linux-gnu/libacl.a"], + "//conditions:default": ["usr/lib/libacl.a"], + }), hdrs = [ "usr/include/acl/libacl.h", "usr/include/sys/acl.h",