From b98f90aff1f6e062cd39ba1d8a917fd6dab9fd90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Mon, 15 Feb 2021 03:01:15 -0300 Subject: [PATCH] gcc: don't throw exception on locales other than "C" on musl. libtsdc++'s generic locale implementation is stuck in ~2003, unfortunately, and just throws an exception if locales other than "C" are used. Some applications catch this error, but they shouldn't have to, so we will import a patch to disable the exception. It is a workaround, and the best solution is adding a proper generic implementation to libstdc++. Fixes #18659 --- srcpkgs/gcc/patches/musl-generic-locale.patch | 16 ++++++++++++++++ srcpkgs/gcc/template | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/gcc/patches/musl-generic-locale.patch diff --git a/srcpkgs/gcc/patches/musl-generic-locale.patch b/srcpkgs/gcc/patches/musl-generic-locale.patch new file mode 100644 index 00000000000000..9f459d0d9baf1c --- /dev/null +++ b/srcpkgs/gcc/patches/musl-generic-locale.patch @@ -0,0 +1,16 @@ +See +https://inbox.vuxu.org/musl/551d3310-039f-23c4-608e-5e15e625f638@sholland.org/ + +diff --git gcc-5.4.0/libstdc++-v3/config/locale/generic/c_locale.cc.orig gcc-5.4.0/libstdc++-v3/config/locale/generic/c_locale.cc +--- libstdc++-v3/config/locale/generic/c_locale.cc.orig ++++ libstdc++-v3/config/locale/generic/c_locale.cc +@@ -213,9 +213,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Currently, the generic model only supports the "C" locale. + // See http://gcc.gnu.org/ml/libstdc++/2003-02/msg00345.html + __cloc = 0; +- if (strcmp(__s, "C")) +- __throw_runtime_error(__N("locale::facet::_S_create_c_locale " +- "name not valid")); + } + + void diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index c838403941c839..ba7084934857eb 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -15,7 +15,7 @@ pkgname=gcc # it should be possible to switch back to stable with 10.3 or 11 version=${_patchver}pre1 wrksrc=gcc-${version/pre/_pre} -revision=2 +revision=3 short_desc="GNU Compiler Collection" maintainer="Enno Boland " homepage="http://gcc.gnu.org"