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() {
