Unverified Commit f2910d39 authored by Uri Baghin's avatar Uri Baghin Committed by GitHub
Browse files

Merge pull request #269297 from boltzmannrain/bazel_6_clang16

bazel_6: fix CLang 16 Werror-s on darwin
parents 8b40cd45 ed175a63
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -199,6 +199,10 @@ stdenv.mkDerivation rec {
  inherit src;
  inherit sourceRoot;
  patches = [
    # upb definition inside bazel sets its own copts that take precedence
    # over flags we set externally, so need to patch them at the source
    ./upb-clang16.patch

    # Force usage of the _non_ prebuilt java toolchain.
    # the prebuilt one does not work in nix world.
    ./java_toolchain.patch
@@ -403,6 +407,8 @@ stdenv.mkDerivation rec {
      # libcxx includes aren't added by libcxx hook
      # https://github.com/NixOS/nixpkgs/pull/41589
      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1"
      # for CLang 16 compatibility in external/{absl,upb} dependencies
      export NIX_CFLAGS_COMPILE+=" -Wno-deprecated-builtins -Wno-gnu-offsetof-extensions"

      # don't use system installed Xcode to run clang, use Nix clang instead
      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
+30 −0
Original line number Diff line number Diff line
diff --git a/distdir_deps.bzl b/distdir_deps.bzl
index c7fc4588e4..01e6966fca 100644
--- a/distdir_deps.bzl
+++ b/distdir_deps.bzl
@@ -192,6 +192,8@@ DIST_DEPS = {
         "archive": "a5477045acaa34586420942098f5fecd3570f577.tar.gz",
         "sha256": "cf7f71eaff90b24c1a28b49645a9ff03a9a6c1e7134291ce70901cb63e7364b5",
         "strip_prefix": "upb-a5477045acaa34586420942098f5fecd3570f577",
+        "patches": ["//:upb-clang16.patch"],
+        "patch_args": ["-p1"],
         "urls": [
             "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz",
             "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz",
diff --git a/upb-clang16.patch b/upb-clang16.patch
new file mode 100644
index 0000000000..f81855181f
--- /dev/null
+++ upb-clang16.patch
@@ -0,0 +1,10 @@
+--- a/bazel/build_defs.bzl
++++ b/bazel/build_defs.bzl
+@@ -43,6 +43,7 @@
+     "-Werror=pedantic",
+     "-Wall",
+     "-Wstrict-prototypes",
++    "-Wno-gnu-offsetof-extensions",
+     # GCC (at least) emits spurious warnings for this that cannot be fixed
+     # without introducing redundant initialization (with runtime cost):
+     #   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635