build: upstream UEFI to platforms
This removes our local UEFI constraint_value for a patch sent upstream
to @platforms. This will be used by rules_rust in a follow-up.
Change-Id: I16e3bf8a60923a2f77ef036babdda45205d8a078
Reviewed-on: https://review.monogon.dev/c/monogon/+/2103
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/WORKSPACE b/WORKSPACE
index 424cb4b..97e2e3e 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -24,6 +24,20 @@
versions.check(minimum_bazel_version = "5.4.0")
+# Explicitly include platforms to patch it
+http_archive(
+ name = "platforms",
+ patch_args = ["-p1"],
+ patches = [
+ "//third_party:platforms-add-uefi.patch",
+ ],
+ sha256 = "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51",
+ urls = [
+ "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
+ "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
+ ],
+)
+
# Register our custom CC toolchains. Order matters - more specific toolchains must be registered first.
# (host_cc_toolchain won't care about //build/platforms/linkmode, but musl_host_toolchain won't
# match anything unless its linkmode is set).
diff --git a/build/platforms/BUILD.bazel b/build/platforms/BUILD.bazel
index e612a9c..20cf3cd 100644
--- a/build/platforms/BUILD.bazel
+++ b/build/platforms/BUILD.bazel
@@ -11,7 +11,7 @@
platform(
name = "efi_amd64",
constraint_values = [
- "//build/platforms/os:efi",
+ "@platforms//os:uefi",
"@platforms//cpu:x86_64",
],
)
diff --git a/build/platforms/os/BUILD.bazel b/build/platforms/os/BUILD.bazel
deleted file mode 100644
index 3775b39..0000000
--- a/build/platforms/os/BUILD.bazel
+++ /dev/null
@@ -1,9 +0,0 @@
-package(
- default_visibility = ["//visibility:public"],
-)
-
-# EFI preboot environment
-constraint_value(
- name = "efi",
- constraint_setting = "@platforms//os:os",
-)
diff --git a/build/toolchain/llvm-efi/BUILD.bazel b/build/toolchain/llvm-efi/BUILD.bazel
index 66204db..9bce651 100644
--- a/build/toolchain/llvm-efi/BUILD.bazel
+++ b/build/toolchain/llvm-efi/BUILD.bazel
@@ -39,7 +39,7 @@
],
target_compatible_with = [
"@platforms//cpu:x86_64",
- "//build/platforms/os:efi",
+ "@platforms//os:uefi",
],
toolchain = ":efi_k8_cc_toolchain",
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
diff --git a/third_party/BUILD.bazel b/third_party/BUILD.bazel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/third_party/BUILD.bazel
diff --git a/third_party/platforms-add-uefi.patch b/third_party/platforms-add-uefi.patch
new file mode 100644
index 0000000..c8ddb9d
--- /dev/null
+++ b/third_party/platforms-add-uefi.patch
@@ -0,0 +1,25 @@
+From 8ea54f72ba3cc8a76fec436d0ce61433a01791cb Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@monogon.tech>
+Date: Tue, 29 Aug 2023 18:45:54 +0200
+Subject: [PATCH] Add UEFI OS
+
+---
+ os/BUILD | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/os/BUILD b/os/BUILD
+index 1d9fedb..d68f485 100644
+--- a/os/BUILD
++++ b/os/BUILD
+@@ -116,3 +116,8 @@ constraint_value(
+ name = "chromiumos",
+ constraint_setting = ":os",
+ )
++
++constraint_value(
++ name = "uefi",
++ constraint_setting = ":os",
++)
+--
+2.41.0
+