summarylogtreecommitdiffstats
path: root/0002-pkgconfig-builtin-glib-int-conversion.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-pkgconfig-builtin-glib-int-conversion.patch')
-rw-r--r--0002-pkgconfig-builtin-glib-int-conversion.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/0002-pkgconfig-builtin-glib-int-conversion.patch b/0002-pkgconfig-builtin-glib-int-conversion.patch
new file mode 100644
index 000000000000..4a3fbf65bb09
--- /dev/null
+++ b/0002-pkgconfig-builtin-glib-int-conversion.patch
@@ -0,0 +1,160 @@
+diff -Naur a/bazel/foreign_cc/pkgconfig-builtin-glib-int-conversion.patch b/bazel/foreign_cc/pkgconfig-builtin-glib-int-conversion.patch
+--- a/bazel/foreign_cc/pkgconfig-builtin-glib-int-conversion.patch 1970-01-01 00:00:00.000000000 +0000
++++ b/bazel/foreign_cc/pkgconfig-builtin-glib-int-conversion.patch 2024-05-03 18:19:07.490119872 +0000
+@@ -0,0 +1,140 @@
++diff -Naur a/toolchains/built_toolchains.bzl b/toolchains/built_toolchains.bzl
++--- a/toolchains/built_toolchains.bzl 2023-10-25 21:46:56.000000000 +0000
+++++ b/toolchains/built_toolchains.bzl 2024-05-03 18:09:51.799114777 +0000
++@@ -275,6 +275,9 @@
++
++ # This patch is required as rules_foreign_cc runs in MSYS2 on Windows and MSYS2's "mkdir" is used
++ Label("//toolchains:pkgconfig-makefile-vc.patch"),
+++
+++ # This patch fixes explicit integer conversion which causes errors in clang >= 15 and gcc >= 14
+++ Label("//toolchains:pkgconfig-builtin-glib-int-conversion.patch")
++ ],
++ urls = [
++ "https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz",
++diff -Naur a/toolchains/pkgconfig-builtin-glib-int-conversion.patch b/toolchains/pkgconfig-builtin-glib-int-conversion.patch
++--- a/toolchains/pkgconfig-builtin-glib-int-conversion.patch 1970-01-01 00:00:00.000000000 +0000
+++++ b/toolchains/pkgconfig-builtin-glib-int-conversion.patch 2024-05-03 18:18:26.705978705 +0000
++@@ -0,0 +1,123 @@
+++diff -Naur glib/glib/gatomic.c glib/glib/gatomic.c
+++--- glib/glib/gatomic.c 2016-04-11 21:39:26.000000000 +0000
++++++ glib/glib/gatomic.c 2024-05-03 18:15:37.295886468 +0000
+++@@ -385,7 +385,7 @@
+++ *
+++ * Since: 2.30
+++ **/
+++-gssize
++++gintptr
+++ (g_atomic_pointer_add) (volatile void *atomic,
+++ gssize val)
+++ {
+++@@ -409,11 +409,11 @@
+++ *
+++ * Since: 2.30
+++ **/
+++-gsize
++++guintptr
+++ (g_atomic_pointer_and) (volatile void *atomic,
+++ gsize val)
+++ {
+++- return g_atomic_pointer_and ((volatile gpointer *) atomic, val);
++++ return g_atomic_pointer_and ((gpointer *) atomic, val);
+++ }
+++
+++ /**
+++@@ -433,11 +433,11 @@
+++ *
+++ * Since: 2.30
+++ **/
+++-gsize
++++guintptr
+++ (g_atomic_pointer_or) (volatile void *atomic,
+++ gsize val)
+++ {
+++- return g_atomic_pointer_or ((volatile gpointer *) atomic, val);
++++ return g_atomic_pointer_or ((gpointer *) atomic, val);
+++ }
+++
+++ /**
+++@@ -457,11 +457,11 @@
+++ *
+++ * Since: 2.30
+++ **/
+++-gsize
++++guintptr
+++ (g_atomic_pointer_xor) (volatile void *atomic,
+++ gsize val)
+++ {
+++- return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
++++ return g_atomic_pointer_xor ((gpointer *) atomic, val);
+++ }
+++
+++ #elif defined (G_PLATFORM_WIN32)
+++diff -Naur glib/glib/gatomic.h glib/glib/gatomic.h
+++--- glib/glib/gatomic.h 2016-04-11 21:39:26.000000000 +0000
++++++ glib/glib/gatomic.h 2024-05-03 18:15:37.295886468 +0000
+++@@ -66,16 +66,16 @@
+++ gpointer oldval,
+++ gpointer newval);
+++ GLIB_AVAILABLE_IN_ALL
+++-gssize g_atomic_pointer_add (volatile void *atomic,
++++gintptr g_atomic_pointer_add (volatile void *atomic,
+++ gssize val);
+++ GLIB_AVAILABLE_IN_2_30
+++-gsize g_atomic_pointer_and (volatile void *atomic,
++++guintptr g_atomic_pointer_and (volatile void *atomic,
+++ gsize val);
+++ GLIB_AVAILABLE_IN_2_30
+++-gsize g_atomic_pointer_or (volatile void *atomic,
++++guintptr g_atomic_pointer_or (volatile void *atomic,
+++ gsize val);
+++ GLIB_AVAILABLE_IN_ALL
+++-gsize g_atomic_pointer_xor (volatile void *atomic,
++++guintptr g_atomic_pointer_xor (volatile void *atomic,
+++ gsize val);
+++
+++ GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_add)
+++@@ -167,28 +167,34 @@
+++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
+++ (void) (0 ? (gpointer) *(atomic) : 0); \
+++ (void) (0 ? (val) ^ (val) : 0); \
+++- (gssize) __sync_fetch_and_add ((atomic), (val)); \
++++ (guintptr) __atomic_fetch_add ((atomic), (val), __ATOMIC_SEQ_CST); \
+++ }))
+++ #define g_atomic_pointer_and(atomic, val) \
+++ (G_GNUC_EXTENSION ({ \
++++ guintptr *gapa_atomic = (guintptr *) atomic; \
+++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
+++- (void) (0 ? (gpointer) *(atomic) : 0); \
+++- (void) (0 ? (val) ^ (val) : 0); \
+++- (gsize) __sync_fetch_and_and ((atomic), (val)); \
++++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr)); \
++++ (void) (0 ? (gpointer) *(atomic) : NULL); \
++++ (void) (0 ? (val) ^ (val) : 1); \
++++ (guintptr) __atomic_fetch_and (gapa_atomic, (val), __ATOMIC_SEQ_CST); \
+++ }))
+++ #define g_atomic_pointer_or(atomic, val) \
+++ (G_GNUC_EXTENSION ({ \
++++ guintptr *gapa_atomic = (guintptr *) atomic; \
+++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
+++- (void) (0 ? (gpointer) *(atomic) : 0); \
+++- (void) (0 ? (val) ^ (val) : 0); \
+++- (gsize) __sync_fetch_and_or ((atomic), (val)); \
++++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr)); \
++++ (void) (0 ? (gpointer) *(atomic) : NULL); \
++++ (void) (0 ? (val) ^ (val) : 1); \
++++ (guintptr) __atomic_fetch_or (gapa_atomic, (val), __ATOMIC_SEQ_CST); \
+++ }))
+++ #define g_atomic_pointer_xor(atomic, val) \
+++ (G_GNUC_EXTENSION ({ \
++++ guintptr *gapa_atomic = (guintptr *) atomic; \
+++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
+++- (void) (0 ? (gpointer) *(atomic) : 0); \
+++- (void) (0 ? (val) ^ (val) : 0); \
+++- (gsize) __sync_fetch_and_xor ((atomic), (val)); \
++++ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (guintptr)); \
++++ (void) (0 ? (gpointer) *(atomic) : NULL); \
++++ (void) (0 ? (val) ^ (val) : 1); \
++++ (guintptr) __atomic_fetch_xor (gapa_atomic, (val), __ATOMIC_SEQ_CST); \
+++ }))
+++
+++ #else /* defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) */
+diff -Naur a/bazel/repositories.bzl b/bazel/repositories.bzl
+--- a/bazel/repositories.bzl 2024-04-18 23:43:45.000000000 +0000
++++ b/bazel/repositories.bzl 2024-05-03 18:11:00.983659410 +0000
+@@ -1464,7 +1464,11 @@
+ external_http_archive("rules_ruby")
+
+ def _foreign_cc_dependencies():
+- external_http_archive("rules_foreign_cc")
++ external_http_archive(
++ name = "rules_foreign_cc",
++ patch_args = ["-p1"],
++ patches = ["@envoy//bazel/foreign_cc:pkgconfig-builtin-glib-int-conversion.patch"],
++ )
+
+ def _com_github_maxmind_libmaxminddb():
+ external_http_archive(