treewide: configure rules_perl to our toolchain

In a future commit we will introduce openssl, which needs perl to
generate asm code.

Change-Id: I282c340c698ed339fb409514a9b09ffdf3475c34
Reviewed-on: https://review.monogon.dev/c/monogon/+/4096
Reviewed-by: Jan Schär <jan@monogon.tech>
Tested-by: Jenkins CI
diff --git a/build/toolchain/toolchain-bundle/BUILD.bazel b/build/toolchain/toolchain-bundle/BUILD.bazel
index 1b26331..06e2cb8 100644
--- a/build/toolchain/toolchain-bundle/BUILD.bazel
+++ b/build/toolchain/toolchain-bundle/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_perl//perl:toolchain.bzl", "perl_toolchain")
 load(":toolchain.bzl", "TOOLCHAINS", "toolchain_for")
 
 package(default_visibility = ["//visibility:public"])
@@ -9,3 +10,37 @@
     )
     for name, config in TOOLCHAINS.items()
 ]
+
+perl_toolchain(
+    name = "rules_perl_linux_amd64_toolchain_impl",
+    runtime = [
+        "@toolchain-bundle-x86_64-unknown-linux-musl//:perl_runtime",
+    ],
+)
+
+perl_toolchain(
+    name = "rules_perl_linux_aarch64_toolchain_impl",
+    runtime = [
+        "@toolchain-bundle-aarch64-unknown-linux-musl//:perl_runtime",
+    ],
+)
+
+toolchain(
+    name = "rules_perl_linux_amd64_toolchain",
+    exec_compatible_with = [
+        "@platforms//os:linux",
+        "@platforms//cpu:x86_64",
+    ],
+    toolchain = ":rules_perl_linux_amd64_toolchain_impl",
+    toolchain_type = "@rules_perl//perl:toolchain_type",
+)
+
+toolchain(
+    name = "rules_perl_linux_aarch64_toolchain",
+    exec_compatible_with = [
+        "@platforms//os:linux",
+        "@platforms//cpu:aarch64",
+    ],
+    toolchain = ":rules_perl_linux_aarch64_toolchain_impl",
+    toolchain_type = "@rules_perl//perl:toolchain_type",
+)