mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 15:33:13 +00:00
Merge pull request #269297 from boltzmannrain/bazel_6_clang16
bazel_6: fix CLang 16 Werror-s on darwin
This commit is contained in:
commit
f2910d39dd
@ -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" \
|
||||
|
@ -0,0 +1,30 @@
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user