diff --git a/MODULE.bazel b/MODULE.bazel index b42936fde..bcc4ec076 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -228,10 +228,18 @@ inject_repo(crate, "zstd") use_repo(crate, "argument_comment_lint_crates") bazel_dep(name = "bzip2", version = "1.0.8.bcr.3") +single_version_override( + module_name = "bzip2", + patch_strip = 1, + patches = [ + "//patches:bzip2_windows_stack_args.patch", + ], +) crate.annotation( crate = "bzip2-sys", - gen_build_script = "on", + gen_build_script = "off", + deps = ["@bzip2//:bz2"], ) inject_repo(crate, "bzip2") @@ -245,14 +253,25 @@ crate.annotation( inject_repo(crate, "zlib") -# TODO(zbarsky): Enable annotation after fixing windows arm64 builds. +bazel_dep(name = "xz", version = "5.4.5.bcr.8") +single_version_override( + module_name = "xz", + patch_strip = 1, + patches = [ + "//patches:xz_windows_stack_args.patch", + ], +) + crate.annotation( crate = "lzma-sys", - gen_build_script = "on", + gen_build_script = "off", + deps = ["@xz//:lzma"], ) bazel_dep(name = "openssl", version = "3.5.4.bcr.0") +inject_repo(crate, "xz") + crate.annotation( build_script_data = [ "@openssl//:gen_dir", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 1e2123ec4..746679af3 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -228,6 +228,8 @@ "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/with_cfg.bzl/0.12.0/MODULE.bazel": "b573395fe63aef4299ba095173e2f62ccfee5ad9bbf7acaa95dba73af9fc2b38", "https://bcr.bazel.build/modules/with_cfg.bzl/0.12.0/source.json": "3f3fbaeafecaf629877ad152a2c9def21f8d330d91aa94c5dc75bbb98c10b8b8", + "https://bcr.bazel.build/modules/xz/5.4.5.bcr.8/MODULE.bazel": "e48a69bd54053c2ec5fffc2a29fb70122afd3e83ab6c07068f63bc6553fa57cc", + "https://bcr.bazel.build/modules/xz/5.4.5.bcr.8/source.json": "bd7e928ccd63505b44f4784f7bbf12cc11f9ff23bf3ca12ff2c91cd74846099e", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.8/MODULE.bazel": "772c674bb78a0342b8caf32ab5c25085c493ca4ff08398208dcbe4375fe9f776", diff --git a/patches/BUILD.bazel b/patches/BUILD.bazel index 75d6be358..4db61293c 100644 --- a/patches/BUILD.bazel +++ b/patches/BUILD.bazel @@ -3,6 +3,7 @@ exports_files([ "aws-lc-sys_memcmp_check.patch", "aws-lc-sys_windows_msvc_prebuilt_nasm.patch", "aws-lc-sys_windows_msvc_memcmp_probe.patch", + "bzip2_windows_stack_args.patch", "llvm_windows_symlink_extract.patch", "rules_rust_windows_bootstrap_process_wrapper_linker.patch", "rules_rust_windows_build_script_runner_paths.patch", @@ -20,5 +21,6 @@ exports_files([ "v8_module_deps.patch", "v8_source_portability.patch", "windows-link.patch", + "xz_windows_stack_args.patch", "zstd-sys_windows_msvc_include_dirs.patch", ]) diff --git a/patches/bzip2_windows_stack_args.patch b/patches/bzip2_windows_stack_args.patch new file mode 100644 index 000000000..2786e908b --- /dev/null +++ b/patches/bzip2_windows_stack_args.patch @@ -0,0 +1,23 @@ +diff --git a/BUILD.bazel b/BUILD.bazel +--- a/BUILD.bazel ++++ b/BUILD.bazel +@@ -28,4 +28,11 @@ cc_library( + defines = [ + "_FILE_OFFSET_BITS=64", + ], ++ copts = select({ ++ "@platforms//os:windows": [ ++ "-fno-stack-protector", ++ "-mno-stack-arg-probe", ++ ], ++ "//conditions:default": [], ++ }), + includes = ["."], +diff --git a/MODULE.bazel b/MODULE.bazel +--- a/MODULE.bazel ++++ b/MODULE.bazel +@@ -4,3 +4,4 @@ module( + ) + + bazel_dep(name = "rules_cc", version = "0.0.10") ++bazel_dep(name = "platforms", version = "1.0.0") diff --git a/patches/xz_windows_stack_args.patch b/patches/xz_windows_stack_args.patch new file mode 100644 index 000000000..926fb0a6d --- /dev/null +++ b/patches/xz_windows_stack_args.patch @@ -0,0 +1,14 @@ +diff --git a/BUILD.bazel b/BUILD.bazel +--- a/BUILD.bazel ++++ b/BUILD.bazel +@@ -154,6 +154,9 @@ cc_library( + ], + copts = select({ +- "@platforms//os:windows": [], ++ "@platforms//os:windows": [ ++ "-fno-stack-protector", ++ "-mno-stack-arg-probe", ++ ], + "//conditions:default": ["-std=c99"], + }), + defines = select({