commit:     91de32d5f3f633f479687f16573716ca177cb13b
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 17:39:32 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 18:30:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91de32d5

dev-util/mingw64-toolchain: fix build with libcxx-17

Meant to delay this until it'd be fixed in sys-devel/gcc, but issue
unfortunately went under the radar. Tried a snapshot (13-20230916)
but still seems broken the same way, and assume sys-devel/gcc likely
still has issues too (not tested).

For now no harm in just picking/rebasing PR#32249 which is sufficient
for what is used here (tested on llvm-musl w/ default-libcxx-17).

Technically patch could warrant a revbump like the PR did (and in
~arch), but feels too basic to be worth the extra churn and a long
rebuild.

Closes: https://bugs.gentoo.org/914565
Closes: https://github.com/gentoo/gentoo/pull/32249
Co-Authored-By: Violet Purcell <vimproved <AT> inventati.org>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/gcc-13.2.0-libcxx-17.patch               | 63 ++++++++++++++++++++++
 .../mingw64-toolchain-11.0.0_p2.ebuild             |  1 +
 2 files changed, 64 insertions(+)

diff --git a/dev-util/mingw64-toolchain/files/gcc-13.2.0-libcxx-17.patch 
b/dev-util/mingw64-toolchain/files/gcc-13.2.0-libcxx-17.patch
new file mode 100644
index 000000000000..03c5b8cd01e3
--- /dev/null
+++ b/dev-util/mingw64-toolchain/files/gcc-13.2.0-libcxx-17.patch
@@ -0,0 +1,63 @@
+https://bugs.gentoo.org/914565
+--- a/gcc/gcc/system.h
++++ b/gcc/gcc/system.h
+@@ -201,6 +201,9 @@ extern int fprintf_unlocked (FILE *, con
+ #ifdef INCLUDE_STRING
+ # include <string>
+ #endif
++#ifdef INCLUDE_VECTOR
++# include <vector>
++#endif
+ #endif
+ 
+ /* There are an extraordinary number of issues with <ctype.h>.
+@@ -229,9 +232,6 @@ extern int errno;
+ #ifdef INCLUDE_SET
+ # include <set>
+ #endif
+-#ifdef INCLUDE_VECTOR
+-# include <vector>
+-#endif
+ #ifdef INCLUDE_ARRAY
+ # include <array>
+ #endif
+--- a/gcc/libcc1/libcc1plugin.cc
++++ b/gcc/libcc1/libcc1plugin.cc
+@@ -19,6 +19,8 @@
+ 
+ #include <cc1plugin-config.h>
+ 
++#include <vector>
++
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+ #undef PACKAGE_TARNAME
+@@ -69,8 +71,6 @@
+ #include "gcc-c-interface.h"
+ #include "context.hh"
+ 
+-#include <vector>
+-
+ using namespace cc1_plugin;
+ 
+ 
+--- a/gcc/libcc1/libcp1plugin.cc
++++ b/gcc/libcc1/libcp1plugin.cc
+@@ -20,6 +20,8 @@
+ 
+ #include <cc1plugin-config.h>
+ 
++#include <vector>
++
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+ #undef PACKAGE_TARNAME
+@@ -71,8 +73,6 @@
+ #include "rpc.hh"
+ #include "context.hh"
+ 
+-#include <vector>
+-
+ using namespace cc1_plugin;
+ 
+ 

diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild 
b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
index 5a09bb4367bc..1a08ba3e0844 100644
--- a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
+++ b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
@@ -58,6 +58,7 @@ QA_CONFIG_IMPL_DECL_SKIP=(
 
 PATCHES=(
        "${FILESDIR}"/gcc-12.2.0-drop-cflags-sed.patch
+       "${FILESDIR}"/gcc-13.2.0-libcxx-17.patch
 )
 
 pkg_pretend() {

Reply via email to