Skip to content
File

Blob: patches/perfetto/0001-Don-t-attempt-to-use-rules_android.patch

5.4 KB
1From 418089631def5cb0cb92b550f2500bcff1230980 Mon Sep 17 00:00:00 2001
2From: Felix Hanau <felix@cloudflare.com>
3Date: Sat, 15 Nov 2025 16:55:07 -0500
4Subject: Don't attempt to use rules_android
5 
6 
7diff --git a/MODULE.bazel b/MODULE.bazel
8index 47f7f25cfd..dc006ebba8 100644
9--- a/MODULE.bazel
10+++ b/MODULE.bazel
11@@ -14,102 +14,10 @@
12
13 """Perfetto Bazel module configuration for bzlmod."""
14
15-module(
16- name = "perfetto",
17- version = "0.0.0",
18-)
19+module(name = "perfetto")
20+bazel_dep(name = "perfetto_cfg", version = "0.0.0")
21
22 bazel_dep(name = "bazel_skylib", version = "1.7.1")
23-bazel_dep(name = "platforms", version = "0.0.10")
24-bazel_dep(name = "protobuf", version = "31.1", repo_name = "com_google_protobuf")
25+bazel_dep(name = "platforms", version = "1.0.0")
26+bazel_dep(name = "protobuf", version = "33.4")
27 bazel_dep(name = "rules_python", version = "1.0.0")
28-bazel_dep(name = "rules_android", version = "0.6.6")
29-
30-remote_android_extensions = use_extension(
31- "@rules_android//bzlmod_extensions:android_extensions.bzl",
32- "remote_android_tools_extensions",
33-)
34-use_repo(remote_android_extensions, "android_tools")
35-
36-android_sdk_repository_extension = use_extension(
37- "@rules_android//rules/android_sdk_repository:rule.bzl",
38- "android_sdk_repository_extension",
39-)
40-
41-# When built using 'tools/bazel', 'ANDROID_HOME' environment variable points
42-# to the hermetic Android SDK installation, that should be downloaded first
43-# with 'tools/install-build-deps --android'
44-android_sdk_repository_extension.configure(
45- api_level = 35,
46- build_tools_version = "35.0.1",
47-)
48-use_repo(android_sdk_repository_extension, "androidsdk")
49-
50-register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all")
51-
52-bazel_dep(name = "rules_jvm_external", version = "6.9")
53-bazel_dep(name = "rules_android_ndk", version = "0.1.3")
54-
55-android_ndk_repository_extension = use_extension(
56- "@rules_android_ndk//:extension.bzl",
57- "android_ndk_repository_extension",
58-)
59-
60-# When built using 'tools/bazel', 'ANDROID_NDK_HOME' environment variable points
61-# to the hermetic Android NDK installation, that should be downloaded first
62-# with 'tools/install-build-deps --android'
63-android_ndk_repository_extension.configure(
64- api_level = 26,
65-)
66-use_repo(android_ndk_repository_extension, "androidndk")
67-
68-register_toolchains("@androidndk//:all")
69-
70-# Perfetto configuration repository extension.
71-# This creates @perfetto_cfg which provides PERFETTO_CONFIG struct.
72-perfetto_cfg_ext = use_extension(
73- "//bazel:perfetto_cfg_ext.bzl",
74- "perfetto_cfg_ext",
75-)
76-use_repo(perfetto_cfg_ext, "perfetto_cfg")
77-
78-# Perfetto third-party dependencies extension.
79-# These are the same deps defined in //bazel:deps.bzl for WORKSPACE users.
80-perfetto_deps = use_extension(
81- "//bazel:perfetto_deps.bzl",
82- "perfetto_deps",
83-)
84-use_repo(
85- perfetto_deps,
86- "perfetto_dep_expat",
87- "perfetto_dep_linenoise",
88- "perfetto_dep_llvm_demangle",
89- "perfetto_dep_open_csd",
90- "perfetto_dep_sqlite",
91- "perfetto_dep_sqlite_src",
92- "perfetto_dep_zlib",
93-)
94-
95-# Maven dependencies for Android instrumentation tests.
96-# Use a unique name to avoid conflicts with other modules (e.g., bazel_worker_java).
97-maven = use_extension(
98- "@rules_jvm_external//:extensions.bzl",
99- "maven",
100-)
101-maven.install(
102- name = "perfetto_maven",
103- artifacts = [
104- "androidx.test:runner:1.6.2",
105- "androidx.test:monitor:1.7.2",
106- "com.google.truth:truth:1.4.4",
107- "junit:junit:4.13.2",
108- "androidx.test.ext:junit:1.2.1",
109- ],
110- repositories = [
111- "https://maven.google.com",
112- "https://repo1.maven.org/maven2",
113- ],
114- # Use rules_android's aar_import to avoid toolchain type mismatch.
115- aar_import_bzl_label = "@rules_android//rules:rules.bzl",
116-)
117-use_repo(maven, "perfetto_maven")
118diff --git a/bazel/rules.bzl b/bazel/rules.bzl
119index 563382a18b..d7e77cf214 100644
120--- a/bazel/rules.bzl
121+++ b/bazel/rules.bzl
122@@ -13,9 +13,7 @@
123 # limitations under the License.
124
125 load("@perfetto//bazel:proto_gen.bzl", "proto_descriptor_gen", "proto_gen")
126-load("@perfetto//bazel:run_ait_with_adb.bzl", "android_instrumentation_test")
127 load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG")
128-load("@rules_android//android:rules.bzl", "android_binary", "android_library")
129
130 # +----------------------------------------------------------------------------+
131 # | Base C++ rules. |
132@@ -112,12 +110,10 @@ def perfetto_jspb_proto_library(**kwargs):
133 # | Android-related rules |
134 # +----------------------------------------------------------------------------+
135 def perfetto_android_binary(**kwargs):
136- if not _rule_override("android_binary", **kwargs):
137- android_binary(**kwargs)
138+ pass
139
140 def perfetto_android_library(**kwargs):
141- if not _rule_override("android_library", **kwargs):
142- android_library(**kwargs)
143+ pass
144
145 def perfetto_android_jni_library(**kwargs):
146 if not _rule_override("android_jni_library", **kwargs):
147@@ -170,8 +166,7 @@ def _perfetto_android_jni_library(
148 )
149
150 def perfetto_android_instrumentation_test(**kwargs):
151- if not _rule_override("android_instrumentation_test", **kwargs):
152- android_instrumentation_test(**kwargs)
153+ pass
154
155 # +----------------------------------------------------------------------------+
156 # | Misc rules. |