From nobody Fri May 26 00:57:38 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QS6366tvgz4TDZ0; Fri, 26 May 2023 00:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QS6366LhXz3HHB; Fri, 26 May 2023 00:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1685062658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhiaMqUZPPvopfV1Z2OlQcl0j7RjGmfS1dzO/jeJJvE=; b=jPExx8ComMFiPsCA4tcmREW6/KGbFPXvp0e4vXt5LBzVpk/vRb4HuXAHtincW95qglZyuQ n4QuC0klyHdd0diKUyFMkXePib5TsJUDyd+AYuQSc9qIecAWUdUBTULZ/tso5kn18uZiIt N9qmO1Sa70ExltpE0JhXp1C+1OY5LcUiQRbLqS63K8FIDjUTFYgYtUOh96xgHqroDWMBxY n27gnqcKLOxeR5mCD3dY3opOVxTWcjIxypPMOZg/UFhhOvvLhv4W4bMTynCXQvaZGSM1Dq JqzgrIimVpKSJHdEnC24cXRQ24AhcJi2m9sRLBNUqbOUy3pgSnE1TIZ3j1AVxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1685062658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhiaMqUZPPvopfV1Z2OlQcl0j7RjGmfS1dzO/jeJJvE=; b=vY6TW7Uq85g+Qishrsov1GSVau5kqL8XPUwwkGIyZaXtpdhZZTzAIPkLR8iTTNLJtCo9yl ENGi1ILUHRRceoYNqTEYhJnlCRW32Q+9FqEGkl4lbpHmTTfzK+z2gDm5d4XkadjxVPUxlM +nEAphhesQKOCGChBqc7sa/7Gy77CHbg8B4J1EdOdWfw4GBhbVZ0zEKeYtjYbEgdprsyNZ rIWLilOT1DFKYi/vPslIRw8zu+oogV/iKVFiMktPGKfBQ9OpHWYEjACt8KX2kYKBSWVaN0 smNu5Z7l/R5US0BzcU8qFqqKiDKXv73lYgxoZtltQIiQkEJZ6qiSBZTMViboDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1685062658; a=rsa-sha256; cv=none; b=MiVKjWwzEe0DYde9/5SDeEElKa4iyWhgygMOImm6X1dHehAr+IUIlASSHTZ39hVuRa2MYe Vepta253n83nw88/T7zZqmND6YpMyk4xWADsyz5Hat5kpRkL5zJW5YTkyQYVXbAauFaoAk oAtdeye+5KRpkwOohf9EISyLRJm8Ra8AzkJoHujB6LHWVgSA8/rjR7Qes8u/ShvCqr32rD tD4Eis95WqGlNoWtHUN39gKf3pC4Rv+M8S/2rge67JE89k9iU8fTh0AYHWCbNSNUnyGMxc tG6F/PgZpCC6rzgq9wq/y3qehI09bgSDM1fZoytjQmta6P1fdzFouZ+PPGALAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QS6365P37zmkv; Fri, 26 May 2023 00:57:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34Q0vcCb002475; Fri, 26 May 2023 00:57:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34Q0vcpt002474; Fri, 26 May 2023 00:57:38 GMT (envelope-from git) Date: Fri, 26 May 2023 00:57:38 GMT Message-Id: <202305260057.34Q0vcpt002474@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Charlie Li Subject: git: abc5ed39ba22 - main - devel/bazel5: split from devel/bazel List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vishwin X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: abc5ed39ba226d707e7496c8a326309bf02a82ef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vishwin: URL: https://cgit.FreeBSD.org/ports/commit/?id=abc5ed39ba226d707e7496c8a326309bf02a82ef commit abc5ed39ba226d707e7496c8a326309bf02a82ef Author: Charlie Li AuthorDate: 2023-05-26 00:50:15 +0000 Commit: Charlie Li CommitDate: 2023-05-26 00:52:29 +0000 devel/bazel5: split from devel/bazel Major versions harbour some incompatibilities. Main port to be updated to 6. Event: Kitchener-Waterloo Hackathon 202305 --- devel/Makefile | 1 + devel/bazel5/Makefile | 104 +++++++++++++++ devel/bazel5/distinfo | 3 + ...il-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965 | 140 +++++++++++++++++++++ ...il-cpp_absl_base_internal_unscaledcycleclock.cc | 14 +++ .../files/extra-patch-grpc_bazel_grpc__deps.bzl | 21 ++++ .../files/extra-patch-upb_bazel_build__defs.bzl | 10 ++ devel/bazel5/files/patch-distdir_deps.bzl | 21 ++++ .../files/patch-scripts_bootstrap_BUILD.bootstrap | 13 ++ .../files/patch-scripts_bootstrap_bootstrap.sh | 11 ++ .../files/patch-scripts_bootstrap_buildenv.sh | 11 ++ .../files/patch-src_main_cpp_blaze_util_bsd.cc | 11 ++ ...ib_bazel_rules_python_BazelPythonSemantics.java | 14 +++ ...b_bazel_rules_python_python__stub__template.txt | 11 ++ .../patch-src_main_tools_process-tools-linux.cc | 10 ++ .../bazel5/files/patch-src_tools_singlejar_port.h | 14 +++ devel/bazel5/pkg-descr | 5 + devel/bazel5/pkg-plist | 2 + 18 files changed, 416 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index fb34ebb77eb1..16172bbb0ca9 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -272,6 +272,7 @@ SUBDIR += bazel SUBDIR += bazel-buildtools SUBDIR += bazel029 + SUBDIR += bazel5 SUBDIR += bbparse SUBDIR += bcc SUBDIR += bcpp diff --git a/devel/bazel5/Makefile b/devel/bazel5/Makefile new file mode 100644 index 000000000000..0d76ec1ef052 --- /dev/null +++ b/devel/bazel5/Makefile @@ -0,0 +1,104 @@ +PORTNAME= bazel +DISTVERSION= 5.4.1 # please make sure that science/py-tensorflow builds before updating +CATEGORIES= devel java +MASTER_SITES= https://github.com/bazelbuild/${PORTNAME}/releases/download/${DISTVERSION}/ +DISTNAME= bazel-${DISTVERSION}-dist +PKGNAMESUFFIX= 5 + +MAINTAINER= vishwin@FreeBSD.org +COMMENT= Fast and correct build system +WWW= https://bazel.build/ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +NOT_FOR_ARCHS= i386 +BROKEN_armv6= fails to package: cp: bazel: No such file or directory +BROKEN_armv7= fails to package: cp: bazel: No such file or directory +BROKEN_FreeBSD_12_powerpc64= fails to compile: Action failed to execute: java.io.IOException: Cannot run program /usr/bin/clang + +BUILD_DEPENDS= bash:shells/bash \ + zip:archivers/zip + +USES= cpe python shebangfix zip + +CPE_VENDOR= google + +USE_JAVA= yes +JAVA_VERSION= 11 +JAVA_VENDOR= openjdk +JAVA_BUILD= yes +JAVA_RUN= yes + +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 + +# In bazel, a release is always code-wise identical to the final release candidate. +# Hence we can also download that one and so have a simple way to also test earlier release +# candidates. +FINALRC= 2 + +.include + +.if ${ARCH} == "aarch64" +BAZEL_JAVAC_OPTS+= "-J-Xmx1g -J-Xms128m" +.endif + +pre-patch: + @${CP} ${FILESDIR}/extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc \ + ${FILESDIR}/extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965 \ + ${WRKSRC}/third_party/py/abseil/ + @${CP} ${FILESDIR}/extra-patch-grpc_bazel_grpc__deps.bzl \ + ${FILESDIR}/extra-patch-upb_bazel_build__defs.bzl \ + ${WRKSRC}/third_party/grpc/ + +# 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_VERSION} >> ${WRKSRC}/scripts/packages/bazel.bazelrc + @${ECHO_CMD} build --tool_java_runtime_version=${JAVA_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|%%PYTHON_CMD%%|${PYTHON_CMD}|' \ + ${WRKSRC}/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java + @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \ + ${WRKSRC}/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt + @${REINPLACE_CMD} -e 's|%%JAVA_HOME%%|${JAVA_HOME}|' \ + ${WRKSRC}/src/main/cpp/blaze_util_bsd.cc + +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_VERSION} \ + TMPDIR=${WRKDIR}/bazel_tmp \ + EMBED_LABEL='${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_VERSION} --tool_java_language_version=${JAVA_VERSION}' \ + ${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/bazel5/distinfo b/devel/bazel5/distinfo new file mode 100644 index 000000000000..d0570c893561 --- /dev/null +++ b/devel/bazel5/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1685049229 +SHA256 (bazel-5.4.1-dist.zip) = dcff6935756aa7aca4fc569bb2bd26e1537f0b1f6d1bda5f2b200fa835cc507f +SIZE (bazel-5.4.1-dist.zip) = 235399305 diff --git a/devel/bazel5/files/extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965 b/devel/bazel5/files/extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965 new file mode 100644 index 000000000000..211b3e1fc363 --- /dev/null +++ b/devel/bazel5/files/extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965 @@ -0,0 +1,140 @@ +From 1a6044c0ec33ea394c1258ae4e934f1fef3a710f Mon Sep 17 00:00:00 2001 +From: Abseil Team +Date: Fri, 5 Aug 2022 06:56:05 -0700 +Subject: [PATCH] Map the absl::is_trivially_* functions to their std impl + +There's no point redefining these functions if they are supported by the compiler and the version of libstdc++. Also, some of the builtins used by the absl implementation of these functions (e.g. __has_trivial_destructor) have been deprecated in Clang 15. + +PiperOrigin-RevId: 465554125 +Change-Id: I8674c3a5270ce3c654cdf58ae7dbd9d2bda8faa5 +--- + absl/base/config.h | 18 ++++++++---------- + absl/meta/type_traits.h | 22 ++++++++++++++++++++++ + absl/meta/type_traits_test.cc | 1 + + 3 files changed, 31 insertions(+), 10 deletions(-) + +diff --git absl/base/config.h absl/base/config.h +index 585485c3..ab5791a5 100644 +--- absl/base/config.h ++++ absl/base/config.h +@@ -259,17 +259,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || + #define ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE 1 + #endif + +-// ABSL_HAVE_SOURCE_LOCATION_CURRENT ++// ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE + // +-// Indicates whether `absl::SourceLocation::current()` will return useful +-// information in some contexts. +-#ifndef ABSL_HAVE_SOURCE_LOCATION_CURRENT +-#if ABSL_INTERNAL_HAS_KEYWORD(__builtin_LINE) && \ +- ABSL_INTERNAL_HAS_KEYWORD(__builtin_FILE) +-#define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1 +-#elif ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(5, 0) +-#define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1 +-#endif ++// Checks whether `std::is_trivially_copyable` is supported. ++// ++// Notes: Clang 15+ with libc++ supports these features, GCC hasn't been tested. ++#if defined(ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE) ++#error ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE cannot be directly set ++#elif defined(__clang__) && (__clang_major__ >= 15) ++#define ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE 1 + #endif + + // ABSL_HAVE_THREAD_LOCAL +diff --git absl/meta/type_traits.h absl/meta/type_traits.h +index d886cb30..46b76906 100644 +--- absl/meta/type_traits.h ++++ absl/meta/type_traits.h +@@ -298,8 +298,12 @@ struct is_function + // https://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html#Type-Traits. + template + struct is_trivially_destructible ++#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE ++ : std::is_trivially_destructible { ++#else + : std::integral_constant::value> { ++#endif + #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE + private: + static constexpr bool compliant = std::is_trivially_destructible::value == +@@ -347,9 +351,13 @@ struct is_trivially_destructible + // Nontrivially destructible types will cause the expression to be nontrivial. + template + struct is_trivially_default_constructible ++#if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE) ++ : std::is_trivially_default_constructible { ++#else + : std::integral_constant::value && + is_trivially_destructible::value> { ++#endif + #if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE) && \ + !defined( \ + ABSL_META_INTERNAL_STD_CONSTRUCTION_TRAITS_DONT_CHECK_DESTRUCTION) +@@ -381,10 +389,14 @@ struct is_trivially_default_constructible + // expression to be nontrivial. + template + struct is_trivially_move_constructible ++#if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE) ++ : std::is_trivially_move_constructible { ++#else + : std::conditional< + std::is_object::value && !std::is_array::value, + type_traits_internal::IsTriviallyMoveConstructibleObject, + std::is_reference>::type::type { ++#endif + #if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE) && \ + !defined( \ + ABSL_META_INTERNAL_STD_CONSTRUCTION_TRAITS_DONT_CHECK_DESTRUCTION) +@@ -490,9 +502,13 @@ struct is_trivially_move_assignable + // `is_trivially_assignable`. + template + struct is_trivially_copy_assignable ++#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE ++ : std::is_trivially_copy_assignable { ++#else + : std::integral_constant< + bool, __has_trivial_assign(typename std::remove_reference::type) && + absl::is_copy_assignable::value> { ++#endif + #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE + private: + static constexpr bool compliant = +@@ -544,6 +560,11 @@ namespace type_traits_internal { + // destructible. Arrays of trivially copyable types are trivially copyable. + // + // We expose this metafunction only for internal use within absl. ++ ++#if defined(ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE) ++template ++struct is_trivially_copyable : std::is_trivially_copyable {}; ++#else + template + class is_trivially_copyable_impl { + using ExtentsRemoved = typename std::remove_all_extents::type; +@@ -569,6 +590,7 @@ template + struct is_trivially_copyable + : std::integral_constant< + bool, type_traits_internal::is_trivially_copyable_impl::kValue> {}; ++#endif + } // namespace type_traits_internal + + // ----------------------------------------------------------------------------- +diff --git absl/meta/type_traits_test.cc absl/meta/type_traits_test.cc +index 0ef5b665..fe96554d 100644 +--- absl/meta/type_traits_test.cc ++++ absl/meta/type_traits_test.cc +@@ -336,6 +336,7 @@ struct MovableNonCopyable { + + struct NonCopyableOrMovable { + NonCopyableOrMovable() = default; ++ virtual ~NonCopyableOrMovable() = default; + NonCopyableOrMovable(const NonCopyableOrMovable&) = delete; + NonCopyableOrMovable(NonCopyableOrMovable&&) = delete; + NonCopyableOrMovable& operator=(const NonCopyableOrMovable&) = delete; +-- +2.40.1 + diff --git a/devel/bazel5/files/extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc b/devel/bazel5/files/extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc new file mode 100644 index 000000000000..d13abc1bd9de --- /dev/null +++ b/devel/bazel5/files/extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc @@ -0,0 +1,14 @@ +--- absl/base/internal/unscaledcycleclock.cc.orig 2020-08-09 20:09:49 UTC ++++ absl/base/internal/unscaledcycleclock.cc +@@ -24,8 +24,10 @@ + #ifdef __GLIBC__ + #include + #elif defined(__FreeBSD__) +-#include ++#include "absl/base/call_once.h" + #include ++#include ++#include + #endif + #endif + diff --git a/devel/bazel5/files/extra-patch-grpc_bazel_grpc__deps.bzl b/devel/bazel5/files/extra-patch-grpc_bazel_grpc__deps.bzl new file mode 100644 index 000000000000..0f7c72c97089 --- /dev/null +++ b/devel/bazel5/files/extra-patch-grpc_bazel_grpc__deps.bzl @@ -0,0 +1,21 @@ +--- a/bazel/grpc_deps.bzl.orig 2021-09-25 02:33:41 UTC ++++ b/bazel/grpc_deps.bzl +@@ -284,6 +284,10 @@ def grpc_deps(): + http_archive( + name = "com_google_absl", + sha256 = "35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee", ++ patches = [ ++ "//third_party/grpc:extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc", ++ "//third_party/grpc:extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965", ++ ], + strip_prefix = "abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz", +@@ -339,6 +343,7 @@ def grpc_deps(): + http_archive( + name = "upb", + sha256 = "6a5f67874af66b239b709c572ac1a5a00fdb1b29beaf13c3e6f79b1ba10dc7c4", ++ patches = ["//third_party/grpc:extra-patch-upb_bazel_build__defs.bzl"], + strip_prefix = "upb-2de300726a1ba2de9a468468dc5ff9ed17a3215f", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz", diff --git a/devel/bazel5/files/extra-patch-upb_bazel_build__defs.bzl b/devel/bazel5/files/extra-patch-upb_bazel_build__defs.bzl new file mode 100644 index 000000000000..2bcce02b3eae --- /dev/null +++ b/devel/bazel5/files/extra-patch-upb_bazel_build__defs.bzl @@ -0,0 +1,10 @@ +--- bazel/build_defs.bzl.orig 2022-01-20 13:04:32.306692000 +0100 ++++ bazel/build_defs.bzl 2022-01-20 13:05:02.002057000 +0100 +@@ -35,6 +35,7 @@ + # "-Wshorten-64-to-32", # not in GCC (and my Kokoro images doesn't have Clang) + "-Werror", + "-Wno-long-long", ++ "-Wno-deprecated-copy", + # copybara:strip_end + ], + }) diff --git a/devel/bazel5/files/patch-distdir_deps.bzl b/devel/bazel5/files/patch-distdir_deps.bzl new file mode 100644 index 000000000000..1716a9ed7db8 --- /dev/null +++ b/devel/bazel5/files/patch-distdir_deps.bzl @@ -0,0 +1,21 @@ +--- distdir_deps.bzl.orig 1980-01-01 05:00:00 UTC ++++ distdir_deps.bzl +@@ -130,6 +130,7 @@ DIST_DEPS = { + "patch_args": ["-p1"], + "patches": [ + "//third_party/grpc:grpc_1.41.0.patch", ++ "//third_party/grpc:extra-patch-grpc_bazel_grpc__deps.bzl", + "//third_party/grpc:grpc_1.41.0.win_arm64.patch", + ], + "used_in": [ +@@ -167,6 +168,10 @@ DIST_DEPS = { + "urls": [ + "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz", ++ ], ++ "patches": [ ++ "//third_party/py/abseil:extra-patch-abseil-cpp_absl_base_internal_unscaledcycleclock.cc", ++ "//third_party/py/abseil:extra-patch-abseil-cpp-cfe27e79cfcbefb2b4479e04f80cbb299bc46965", + ], + "used_in": [ + "additional_distfiles", diff --git a/devel/bazel5/files/patch-scripts_bootstrap_BUILD.bootstrap b/devel/bazel5/files/patch-scripts_bootstrap_BUILD.bootstrap new file mode 100644 index 000000000000..9b5836b099aa --- /dev/null +++ b/devel/bazel5/files/patch-scripts_bootstrap_BUILD.bootstrap @@ -0,0 +1,13 @@ +--- scripts/bootstrap/BUILD.bootstrap.orig 1979-12-31 23:00:00 UTC ++++ scripts/bootstrap/BUILD.bootstrap +@@ -16,8 +16,8 @@ default_java_toolchain( + "-XX:TieredStopAtLevel=1", + ], + singlejar = ["//src/tools/singlejar:singlejar"], +- source_version = "8", ++ source_version = "11", + tags = ["manual"], +- target_version = "8", ++ target_version = "11", + visibility = ["//visibility:public"], + ) diff --git a/devel/bazel5/files/patch-scripts_bootstrap_bootstrap.sh b/devel/bazel5/files/patch-scripts_bootstrap_bootstrap.sh new file mode 100644 index 000000000000..76d7ca9ec5d6 --- /dev/null +++ b/devel/bazel5/files/patch-scripts_bootstrap_bootstrap.sh @@ -0,0 +1,11 @@ +--- scripts/bootstrap/bootstrap.sh.orig 2020-10-07 21:26:37 UTC ++++ scripts/bootstrap/bootstrap.sh +@@ -33,7 +33,7 @@ fi + + _BAZEL_ARGS="--spawn_strategy=standalone \ + --nojava_header_compilation \ +- --strategy=Javac=worker --worker_quit_after_build --ignore_unsupported_sandboxing \ ++ --strategy=Javac=standalone --ignore_unsupported_sandboxing --curses=no \ + --compilation_mode=opt \ + --distdir=derived/distdir \ + --java_toolchain=//src/java_tools/buildjar:bootstrap_toolchain \ diff --git a/devel/bazel5/files/patch-scripts_bootstrap_buildenv.sh b/devel/bazel5/files/patch-scripts_bootstrap_buildenv.sh new file mode 100644 index 000000000000..e7dbf357e0f4 --- /dev/null +++ b/devel/bazel5/files/patch-scripts_bootstrap_buildenv.sh @@ -0,0 +1,11 @@ +--- scripts/bootstrap/buildenv.sh.orig 2020-10-07 21:26:37 UTC ++++ scripts/bootstrap/buildenv.sh +@@ -230,7 +230,7 @@ function clear_log() { + rm -f ${phasefile} + } + +-LEAVES="\xF0\x9F\x8D\x83" ++LEAVES="[LEAVES]" + INFO="\033[32mINFO\033[0m:" + WARNING="\033[31mWARN\033[0m:" + diff --git a/devel/bazel5/files/patch-src_main_cpp_blaze_util_bsd.cc b/devel/bazel5/files/patch-src_main_cpp_blaze_util_bsd.cc new file mode 100644 index 000000000000..2effc8c23604 --- /dev/null +++ b/devel/bazel5/files/patch-src_main_cpp_blaze_util_bsd.cc @@ -0,0 +1,11 @@ +--- src/main/cpp/blaze_util_bsd.cc.orig 1979-12-31 23:00:00 UTC ++++ src/main/cpp/blaze_util_bsd.cc +@@ -14,7 +14,7 @@ + + #if defined(__FreeBSD__) + # define HAVE_PROCSTAT +-# define STANDARD_JAVABASE "/usr/local/openjdk8" ++# define STANDARD_JAVABASE "%%JAVA_HOME%%" + #elif defined(__OpenBSD__) + # define STANDARD_JAVABASE "/usr/local/jdk-1.8.0" + #else diff --git a/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_BazelPythonSemantics.java b/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_BazelPythonSemantics.java new file mode 100644 index 000000000000..cbbdd1a9c28b --- /dev/null +++ b/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_BazelPythonSemantics.java @@ -0,0 +1,14 @@ +--- src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java.orig 1979-12-31 23:00:00 UTC ++++ src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java +@@ -238,9 +238,8 @@ + + if (OS.getCurrent() != OS.WINDOWS) { + PathFragment shExecutable = ShToolchain.getPathOrError(ruleContext); +- String pythonExecutableName = "python3"; +- // NOTE: keep the following line intact to support nix builds +- String pythonShebang = "#!/usr/bin/env " + pythonExecutableName; ++ String pythonExecutableName = "%%PYTHON_CMD%%"; ++ String pythonShebang = "#!" + pythonExecutableName; + ruleContext.registerAction( + new SpawnAction.Builder() + .addInput(zipFile) diff --git a/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt b/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt new file mode 100644 index 000000000000..48e356c4d8d3 --- /dev/null +++ b/devel/bazel5/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt @@ -0,0 +1,11 @@ +--- src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt.orig 1980-01-01 05:00:00 UTC ++++ src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt +@@ -76,7 +76,7 @@ def SearchPath(name): + + def SearchPath(name): + """Finds a file in a given search path.""" +- search_path = os.getenv('PATH', os.defpath).split(os.pathsep) ++ search_path = os.getenv('PATH', os.defpath + ':%%PREFIX%%/bin').split(os.pathsep) + for directory in search_path: + if directory: + path = os.path.join(directory, name) diff --git a/devel/bazel5/files/patch-src_main_tools_process-tools-linux.cc b/devel/bazel5/files/patch-src_main_tools_process-tools-linux.cc new file mode 100644 index 000000000000..916ff8de5c2b --- /dev/null +++ b/devel/bazel5/files/patch-src_main_tools_process-tools-linux.cc @@ -0,0 +1,10 @@ +--- src/main/tools/process-tools-linux.cc.orig 1979-12-31 23:00:00 UTC ++++ src/main/tools/process-tools-linux.cc +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + + #include "src/main/tools/process-tools.h" + diff --git a/devel/bazel5/files/patch-src_tools_singlejar_port.h b/devel/bazel5/files/patch-src_tools_singlejar_port.h new file mode 100644 index 000000000000..92fd5f40f22b --- /dev/null +++ b/devel/bazel5/files/patch-src_tools_singlejar_port.h @@ -0,0 +1,14 @@ +--- src/tools/singlejar/port.h.orig 1979-12-31 23:00:00 UTC ++++ src/tools/singlejar/port.h +@@ -28,6 +28,11 @@ + #include + #include + ++#ifndef _OFF64_T_DECLARED ++typedef off_t off64_t; ++#define _OFF64_T_DECLARED ++#endif ++ + #if defined(__APPLE__) + typedef off_t off64_t; + #elif defined(_WIN32) diff --git a/devel/bazel5/pkg-descr b/devel/bazel5/pkg-descr new file mode 100644 index 000000000000..af6e04cf3ec1 --- /dev/null +++ b/devel/bazel5/pkg-descr @@ -0,0 +1,5 @@ +Bazel is Google's own build tool, now publicly available in Beta. +Bazel has built-in support for building both client and server +software, including client applications for both Android and iOS +platforms. It also provides an extensible framework that you can +use to develop your own build rules. diff --git a/devel/bazel5/pkg-plist b/devel/bazel5/pkg-plist new file mode 100644 index 000000000000..d157c119f36f --- /dev/null +++ b/devel/bazel5/pkg-plist @@ -0,0 +1,2 @@ +bin/bazel +@sample %%ETCDIR%%/bazel.bazelrc.sample