diff --git a/devel/bazel9/Makefile b/devel/bazel9/Makefile index dad926148981..8385e963050d 100644 --- a/devel/bazel9/Makefile +++ b/devel/bazel9/Makefile @@ -1,89 +1,93 @@ PORTNAME= bazel -DISTVERSION= 9.0.1 +DISTVERSION= 9.1.0 CATEGORIES= devel java MASTER_SITES= https://github.com/bazelbuild/${PORTNAME}/releases/download/${DISTVERSION}/ PKGNAMESUFFIX= 9 DISTNAME= bazel-${DISTVERSION}-dist MAINTAINER= delphij@FreeBSD.org COMMENT= Fast and correct build system (LTS 9) WWW= https://bazel.build/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE NOT_FOR_ARCHS= i386 BUILD_DEPENDS= bash:shells/bash \ zip:archivers/zip -USES= cpe java python shebangfix zip +USES= cpe go:no_targets java python shebangfix zip CPE_VENDOR= google JAVA_VERSION= 21 JAVA_VENDOR= openjdk SHEBANG_REGEX= .*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so) CONFLICTS_INSTALL= bazel[0-9]* # The bazel binary is also a zip archive (extracted by the elf part), it must not be stripped STRIP= NO_WRKSUBDIR= YES +GOROOT= ${LOCALBASE}/go${GO_SUFFIX} + .include .if ${ARCH} == "aarch64" BAZEL_JAVAC_OPTS+= "-J-Xmx1g -J-Xms128m" .endif # Have the location of the system-wide rc file reside ${ETCDIR}. # Also adapt the sample file to disable persistent java workers as they # do not work reliably on FreeBSD. post-patch: @${REINPLACE_CMD} -e "s|/etc/bazel.bazelrc|${ETCDIR}/bazel.bazelrc|" \ ${WRKSRC}/src/main/cpp/BUILD @${ECHO_CMD} build --strategy=Javac=standalone >> ${WRKSRC}/scripts/packages/bazel.bazelrc @${ECHO_CMD} build --java_runtime_version=${JAVA_PORT_VERSION} >> ${WRKSRC}/scripts/packages/bazel.bazelrc @${ECHO_CMD} build --tool_java_runtime_version=${JAVA_PORT_VERSION} >> ${WRKSRC}/scripts/packages/bazel.bazelrc @${ECHO_CMD} build --action_env=PATH=/bin:/usr/bin/:${LOCALBASE}/bin >> ${WRKSRC}/scripts/packages/bazel.bazelrc @${REINPLACE_CMD} \ -e 's|^\(PYTHON_BIN=.*\)|if [ "%VERSION%" = "3" ] ; then PYTHON_BIN=${PYTHON_CMD}; else \1 ; fi|' \ ${WRKSRC}/tools/python/pywrapper_template.txt @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \ ${WRKSRC}/tools/python/python_bootstrap_template.txt @${REINPLACE_CMD} -e 's|%%JAVA_HOME%%|${JAVA_HOME}|' \ ${WRKSRC}/src/main/cpp/blaze_util_bsd.cc @${MKDIR} ${WRKSRC}/toolchain_local @${CP} ${FILESDIR}/toolchain_local-BUILD ${WRKSRC}/toolchain_local/BUILD @${CP} ${FILESDIR}/rules_python_freebsd.patch.in \ ${WRKSRC}/toolchain_local/rules_python_freebsd.patch @${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' \ ${WRKSRC}/toolchain_local/BUILD \ ${WRKSRC}/toolchain_local/rules_python_freebsd.patch + @${CP} ${FILESDIR}/rules_go_freebsd.patch \ + ${WRKSRC}/toolchain_local/rules_go_freebsd.patch do-build: @${MKDIR} ${WRKDIR}/bazel_tmp (if [ -z "$${SOURCE_DATE_EPOCH}" ] ; \ then SOURCE_DATE_EPOCH=`grep TIMESTAMP ${DISTINFO_FILE} \ | ${SED} -e 's/[^0-9]//g'`; \ fi ; \ cd ${WRKSRC} && \ ${SETENV} BAZEL_SH=${LOCALBASE}/bin/bash \ JAVA_HOME=${JAVA_HOME} \ JAVA_VERSION=${JAVA_PORT_VERSION} \ TMPDIR=${WRKDIR}/bazel_tmp \ EMBED_LABEL='${PORTVERSION}' \ BAZEL_DEV_VERSION_OVERRIDE='${PORTVERSION}' \ PATH=${LOCALBASE}/bin:$$PATH \ SOURCE_DATE_EPOCH=$${SOURCE_DATE_EPOCH} \ BAZEL_JAVAC_OPTS=${BAZEL_JAVAC_OPTS} \ - EXTRA_BAZEL_ARGS='--host_javabase=@local_jdk//:jdk --tool_java_runtime_version=local_jdk --java_language_version=${JAVA_PORT_VERSION} --tool_java_language_version=${JAVA_PORT_VERSION} --extra_toolchains=//toolchain_local:freebsd_python3_toolchain,//toolchain_local:local_jdk_21_runtime,//toolchain_local:local_jdk_21_bootstrap --action_env=PATH=${LOCALBASE}/bin:/bin:/usr/bin:/sbin:/usr/sbin --host_linkopt=-lm --linkopt=-lm' \ + EXTRA_BAZEL_ARGS='--host_javabase=@local_jdk//:jdk --tool_java_runtime_version=local_jdk --java_language_version=${JAVA_PORT_VERSION} --tool_java_language_version=${JAVA_PORT_VERSION} --extra_toolchains=//toolchain_local:freebsd_python3_toolchain,//toolchain_local:local_jdk_21_runtime,//toolchain_local:local_jdk_21_bootstrap --action_env=PATH=${LOCALBASE}/bin:/bin:/usr/bin:/sbin:/usr/sbin --repo_env=GOROOT=${GOROOT} --host_linkopt=-lm --linkopt=-lm' \ ${LOCALBASE}/bin/bash ./compile.sh) do-install: ${INSTALL_PROGRAM} ${WRKSRC}/output/bazel ${STAGEDIR}${PREFIX}/bin @${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKSRC}/scripts/packages/bazel.bazelrc ${STAGEDIR}${ETCDIR}/bazel.bazelrc.sample .include diff --git a/devel/bazel9/distinfo b/devel/bazel9/distinfo index 24348a21f74b..b1169c05faf2 100644 --- a/devel/bazel9/distinfo +++ b/devel/bazel9/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1773193153 -SHA256 (bazel-9.0.1-dist.zip) = 3f336b4510a8210f954fa3a7d6cfbd271b6f9d639732fdc11c000b6fbfca3fbe -SIZE (bazel-9.0.1-dist.zip) = 221129348 +TIMESTAMP = 1777007045 +SHA256 (bazel-9.1.0-dist.zip) = 229e999cec4f408946d368af6c33c5137fe999e9966538562f8c90b0de7aa0ad +SIZE (bazel-9.1.0-dist.zip) = 221341445 diff --git a/devel/bazel9/files/patch-MODULE.bazel b/devel/bazel9/files/patch-MODULE.bazel index e6d209272b4a..5e5c4d408484 100644 --- a/devel/bazel9/files/patch-MODULE.bazel +++ b/devel/bazel9/files/patch-MODULE.bazel @@ -1,15 +1,36 @@ --- MODULE.bazel.orig 2026-04-05 02:28:47 UTC +++ MODULE.bazel -@@ -132,6 +132,12 @@ local_path_override( +@@ -59,7 +59,7 @@ + bazel_dep(name = "rules_apple", version = "4.3.1", repo_name = None) + bazel_dep(name = "google_benchmark", version = "1.9.4", repo_name = None) + bazel_dep(name = "onetbb", version = "2022.2.0", repo_name = None) +-bazel_dep(name = "rules_go", version = "0.59.0", repo_name = None) # Required for loads of CcInfo ++bazel_dep(name = "rules_go", version = "0.59.0") # Required for loads of CcInfo + + # bazel_dep overrides + single_version_override( +@@ -135,8 +135,24 @@ + local_path_override( + module_name = "remoteapis", path = "./third_party/remoteapis", - ) - ++) ++ ++single_version_override( ++ module_name = "rules_go", ++ patch_strip = 1, ++ patches = ["//toolchain_local:rules_go_freebsd.patch"], ++ version = "0.59.0", ++) ++ +single_version_override( + module_name = "rules_python", + patch_strip = 1, + patches = ["//toolchain_local:rules_python_freebsd.patch"], -+) + ) + ++go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") ++go_sdk.host(name = "go_default_sdk") + # ========================================= # Java dependencies # ========================================= diff --git a/devel/bazel9/files/rules_go_freebsd.patch b/devel/bazel9/files/rules_go_freebsd.patch new file mode 100644 index 000000000000..aeb28e99483c --- /dev/null +++ b/devel/bazel9/files/rules_go_freebsd.patch @@ -0,0 +1,15 @@ +--- a/MODULE.bazel ++++ b/MODULE.bazel +@@ -16,12 +16,6 @@ + + go_sdk = use_extension("//go:extensions.bzl", "go_sdk") + +-# Don't depend on this repo by name, use toolchains instead. +-# See https://github.com/bazel-contrib/rules_go/blob/master/go/toolchains.rst +-go_sdk.from_file( +- name = "go_default_sdk", +- go_mod = "//:go.mod", +-) + use_repo( + go_sdk, + "go_host_compatible_sdk_label", diff --git a/devel/bazel9/files/toolchain_local-BUILD b/devel/bazel9/files/toolchain_local-BUILD index e03f8e6e66ea..36c283d26e5c 100644 --- a/devel/bazel9/files/toolchain_local-BUILD +++ b/devel/bazel9/files/toolchain_local-BUILD @@ -1,43 +1,43 @@ load("@rules_python//python:py_runtime.bzl", "py_runtime") load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair") package(default_visibility = ["//visibility:public"]) -exports_files(["rules_python_freebsd.patch"]) +exports_files(["rules_python_freebsd.patch", "rules_go_freebsd.patch"]) config_setting( name = "remotejdk_21_setting", values = {"java_runtime_version": "remotejdk_21"}, ) toolchain( name = "local_jdk_21_runtime", target_settings = [":remotejdk_21_setting"], toolchain_type = "@bazel_tools//tools/jdk:runtime_toolchain_type", toolchain = "@local_jdk//:jdk", ) toolchain( name = "local_jdk_21_bootstrap", target_settings = [":remotejdk_21_setting"], toolchain_type = "@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type", toolchain = "@local_jdk//:jdk", ) py_runtime( name = "freebsd_py3_runtime", interpreter_path = "%%PYTHON_CMD%%", python_version = "PY3", stub_shebang = "#!%%PYTHON_CMD%%", ) py_runtime_pair( name = "freebsd_py_runtime_pair", py3_runtime = ":freebsd_py3_runtime", ) toolchain( name = "freebsd_python3_toolchain", toolchain = ":freebsd_py_runtime_pair", toolchain_type = "@rules_python//python:toolchain_type", )