Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new package: carbonyl #23086

Merged
merged 1 commit into from
Feb 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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