Skip to content

Commit

Permalink
new package: carbonyl (#23086)
Browse files Browse the repository at this point in the history
  • Loading branch information
licy183 authored Feb 2, 2025
1 parent d57c45e commit 2d175f2
Show file tree
Hide file tree
Showing 7 changed files with 614 additions and 0 deletions.
1 change: 1 addition & 0 deletions scripts/big-pkgs.list
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
angle-android
bionic-host
carbonyl-host-tools
carbonyl
clvk
dart
dotnet8.0
Expand Down
32 changes: 32 additions & 0 deletions x11-packages/carbonyl/0001-use-prebuilt-snapshot.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
--- a/chromium/src/tools/v8_context_snapshot/BUILD.gn
+++ b/chromium/src/tools/v8_context_snapshot/BUILD.gn
@@ -35,7 +35,7 @@
]
}

-if (use_v8_context_snapshot) {
+if (use_v8_context_snapshot && false) {
if (v8_snapshot_toolchain == current_toolchain) {
action("generate_v8_context_snapshot") {
script = "//build/gn_run_binary.py"
@@ -113,3 +113,20 @@
}
}
}
+
+if (use_v8_context_snapshot) {
+ if (v8_snapshot_toolchain == current_toolchain) {
+ action("generate_v8_context_snapshot") {
+ script = "//v8/tools/run.py"
+ output_file = "$root_build_dir/$v8_context_snapshot_filename"
+ output_path = rebase_path(output_file, root_build_dir)
+ args = [
+ "bash", "-c",
+ "cp -f" + " " +
+ "@TERMUX_PREFIX@/opt/carbonyl-host-tools/$output_path" + " " +
+ "$output_path",
+ ]
+ outputs = [ output_file ]
+ }
+ }
+}
119 changes: 119 additions & 0 deletions x11-packages/carbonyl/0002-use-prebuilt-cross-tools.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
--- a/chromium/src/build/compiled_action.gni
+++ b/chromium/src/build/compiled_action.gni
@@ -120,6 +120,52 @@
}
}

+template("compiled_action_prebuilt") {
+ assert(defined(invoker.tool), "tool must be defined for $target_name")
+ assert(defined(invoker.outputs), "outputs must be defined for $target_name")
+ assert(defined(invoker.args), "args must be defined for $target_name")
+
+ assert(!defined(invoker.sources),
+ "compiled_action doesn't take a sources arg. Use inputs instead.")
+
+ action(target_name) {
+ forward_variables_from(invoker,
+ [
+ "data_deps",
+ "deps",
+ "depfile",
+ "inputs",
+ "outputs",
+ "testonly",
+ "visibility",
+ ])
+ if (!defined(deps)) {
+ deps = []
+ }
+ if (!defined(inputs)) {
+ inputs = []
+ }
+
+ script = "//build/gn_run_binary.py"
+
+ # Constuct the host toolchain version of the tool.
+ host_tool = invoker.tool + "($host_toolchain)"
+
+ # Get the path to the executable. Currently, this assumes that the tool
+ # does not specify output_name so that the target name is the name to use.
+ # If that's not the case, we'll need another argument to the script to
+ # specify this, since we can't know what the output name is (it might be in
+ # another file not processed yet).
+ host_executable =
+ "@TERMUX_PREFIX@/opt/carbonyl-host-tools/host/" +
+ get_label_info(host_tool, "name") + _host_executable_suffix
+
+ # The script takes as arguments the binary to run, and then the arguments
+ # to pass it.
+ args = [ rebase_path(host_executable, root_build_dir) ] + invoker.args
+ }
+}
+
template("compiled_action_foreach") {
assert(defined(invoker.sources), "sources must be defined for $target_name")
assert(defined(invoker.tool), "tool must be defined for $target_name")
--- a/chromium/src/chrome/browser/new_tab_page/chrome_colors/BUILD.gn
+++ b/chromium/src/chrome/browser/new_tab_page/chrome_colors/BUILD.gn
@@ -20,7 +20,7 @@
]
}

-compiled_action("generate_chrome_colors_info") {
+compiled_action_prebuilt("generate_chrome_colors_info") {
tool = ":generate_colors_info"
outputs = [ "$target_gen_dir/generated_colors_info.h" ]
args = rebase_path(outputs, root_build_dir)
--- a/chromium/src/third_party/blink/renderer/platform/BUILD.gn
+++ b/chromium/src/third_party/blink/renderer/platform/BUILD.gn
@@ -117,7 +117,7 @@
]
}

-compiled_action("character_data") {
+compiled_action_prebuilt("character_data") {
tool = ":character_data_generator"
outputs = [ "$blink_platform_output_dir/character_property_data.cc" ]
args = rebase_path(outputs, root_build_dir)
--- a/chromium/src/net/data/ssl/chrome_root_store/BUILD.gn
+++ b/chromium/src/net/data/ssl/chrome_root_store/BUILD.gn
@@ -4,7 +4,7 @@
import("//build/compiled_action.gni")

# Generate C++ include file for the Chrome root store.
-compiled_action("gen_root_store_inc") {
+compiled_action_prebuilt("gen_root_store_inc") {
tool = "//net/tools/root_store_tool:root_store_tool"

inputs = [
--- a/chromium/src/net/http/BUILD.gn
+++ b/chromium/src/net/http/BUILD.gn
@@ -6,7 +6,7 @@
import("//net/features.gni")

# Generates a header file based on the real preload list.
-compiled_action("generate_transport_security_state") {
+compiled_action_prebuilt("generate_transport_security_state") {
tool = "//net/tools/transport_security_state_generator"

# Inputs in order expected by the command line of the tool.
--- a/chromium/src/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/chromium/src/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -36,7 +36,7 @@
}
}

-compiled_action("generate_top_domains_trie") {
+compiled_action_prebuilt("generate_top_domains_trie") {
tool = ":top_domain_generator"

# Inputs in order expected by the command line of the tool.
@@ -118,7 +118,7 @@

# TODO(crbug/915921): Combine this and the previous one into a
# compiled_action_foreach target.
-compiled_action("generate_top_domain_list_variables_file") {
+compiled_action_prebuilt("generate_top_domain_list_variables_file") {
tool = ":make_top_domain_list_variables"

# Inputs in order expected by the command line of the tool.
98 changes: 98 additions & 0 deletions x11-packages/carbonyl/0003-v8-use-prebuilt-cross-tools.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
--- a/chromium/src/v8/BUILD.gn
+++ b/chromium/src/v8/BUILD.gn
@@ -2127,7 +2127,9 @@
"tools/gcmole/:*",
]

+if (false) {
deps = [ ":torque($toolchain)" ]
+}

script = "tools/run.py"

@@ -2169,8 +2171,14 @@
]
}

+if (false) {
+ arg0_prefix = "./"
+} else {
+ arg0_prefix = "@TERMUX_PREFIX@/opt/carbonyl-host-tools/"
+}
+
args = [
- "./" + rebase_path(
+ arg0_prefix + rebase_path(
get_label_info(":torque($toolchain)", "root_out_dir") + "/torque",
root_build_dir),
"-o",
@@ -2325,9 +2334,18 @@
action("generate_bytecode_builtins_list") {
script = "tools/run.py"
outputs = [ "$target_gen_dir/builtins-generated/bytecodes-builtins-list.h" ]
+if (false) {
deps = [ ":bytecode_builtins_list_generator($v8_generator_toolchain)" ]
+}
+
+if (false) {
+ arg0_prefix = "./"
+} else {
+ arg0_prefix = "@TERMUX_PREFIX@/opt/carbonyl-host-tools/"
+}
+
args = [
- "./" + rebase_path(
+ arg0_prefix + rebase_path(
get_label_info(
":bytecode_builtins_list_generator($v8_generator_toolchain)",
"root_out_dir") + "/bytecode_builtins_list_generator",
@@ -2355,7 +2373,9 @@
suffix = "_$name"
}
action("run_mksnapshot_" + name) {
+if (false) {
deps = [ ":mksnapshot($v8_snapshot_toolchain)" ]
+}

script = "tools/run.py"

@@ -2365,8 +2385,14 @@

data = []

+if (false) {
+ arg0_prefix = "./"
+} else {
+ arg0_prefix = "@TERMUX_PREFIX@/opt/carbonyl-host-tools/"
+}
+
args = [
- "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
+ arg0_prefix + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
"root_out_dir") + "/mksnapshot",
root_build_dir),
"--turbo_instruction_scheduling",
@@ -7187,14 +7213,22 @@

script = "tools/run.py"

+if (false) {
deps = [ ":gen-regexp-special-case($v8_generator_toolchain)" ]
+}

output_file = "$target_gen_dir/src/regexp/special-case.cc"

outputs = [ output_file ]

+if (false) {
+ arg0_prefix = "./"
+} else {
+ arg0_prefix = "@TERMUX_PREFIX@/opt/carbonyl-host-tools/"
+}
+
args = [
- "./" + rebase_path(
+ arg0_prefix + rebase_path(
get_label_info(
":gen-regexp-special-case($v8_generator_toolchain)",
"root_out_dir") + "/gen-regexp-special-case",
Loading

0 comments on commit 2d175f2

Please sign in to comment.