Files
ports/databases/mongodb80/files/patch-bazel_install__rules_install__rules.bzl
2026-10-04 04:07:15 +00:00

47 lines
2.8 KiB
Python

--- bazel/install_rules/install_rules.bzl.orig 2026-08-11 19:14:56 UTC
+++ bazel/install_rules/install_rules.bzl
@@ -103,7 +103,8 @@ def get_constraints(ctx):
"""
linux_constraint = ctx.attr._linux_constraint[platform_common.ConstraintValueInfo]
macos_constraint = ctx.attr._macos_constraint[platform_common.ConstraintValueInfo]
windows_constraint = ctx.attr._windows_constraint[platform_common.ConstraintValueInfo]
- return linux_constraint, macos_constraint, windows_constraint
+ freebsd_constraint = ctx.attr._freebsd_constraint[platform_common.ConstraintValueInfo]
+ return linux_constraint, macos_constraint, windows_constraint, freebsd_constraint
def is_binary_file(ctx, basename):
@@ -117,7 +118,7 @@ def is_binary_file(ctx, basename):
True if it looks like a binary, False otherwise
"""
- linux_constraint, macos_constraint, windows_constraint = get_constraints(ctx)
- if ctx.target_platform_has_constraint(linux_constraint):
+ linux_constraint, macos_constraint, windows_constraint, freebsd_constraint = get_constraints(ctx)
+ if ctx.target_platform_has_constraint(linux_constraint) or ctx.target_platform_has_constraint(freebsd_constraint):
return not (basename.startswith("lib") or basename.startswith("mongo_crypt_v") or basename.startswith("stitch_support.so"))
elif ctx.target_platform_has_constraint(macos_constraint):
return not (basename.startswith("lib") or basename.startswith("mongo_crypt_v") or basename.startswith("stitch_support.dylib"))
@@ -138,7 +139,7 @@ def is_debug_file(ctx, basename):
True if it looks like a debug file, False otherwise
"""
- linux_constraint, macos_constraint, windows_constraint = get_constraints(ctx)
- if ctx.target_platform_has_constraint(linux_constraint):
+ linux_constraint, macos_constraint, windows_constraint, freebsd_constraint = get_constraints(ctx)
+ if ctx.target_platform_has_constraint(linux_constraint) or ctx.target_platform_has_constraint(freebsd_constraint):
return basename.endswith(".debug") or basename.endswith(".dwp")
elif ctx.target_platform_has_constraint(macos_constraint):
return basename.endswith(".dSYM")
@@ -176,5 +177,5 @@ def sort_file(ctx, file, install_dir, file_map, is_directory):
"""
- _, macos_constraint, _ = get_constraints(ctx)
+ _, macos_constraint, _, _ = get_constraints(ctx)
basename = paths.basename(file)
bin_install = install_dir + "/bin/" + basename
@@ -410,5 +411,6 @@ mongo_install_rule = rule(
"_linux_constraint": attr.label(default = "@platforms//os:linux"),
"_macos_constraint": attr.label(default = "@platforms//os:macos"),
"_windows_constraint": attr.label(default = "@platforms//os:windows"),
+ "_freebsd_constraint": attr.label(default = "@platforms//os:freebsd"),
},
doc = "Install targets",