https://codeberg.org/shelter/reschroot/pulls/5 https://bugs.gentoo.org/739034 https://bugs.gentoo.org/715514 From 56b0c8ac846c18002e32e93629ae04a0a6281706 Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 26 Sep 2022 20:52:54 +0100 Subject: [PATCH 1/3] Fix libcxx build without (use if available) With Clang & libcxx 15, tr1/* doesn't seem to be available, which is fine, as we can use the proper header instead. We already do this in several other locations. Fall back to tr1 and Boost as before. Signed-off-by: Sam James --- a/bin/schroot-base/schroot-base-options.h +++ b/bin/schroot-base/schroot-base-options.h @@ -27,7 +27,9 @@ #include #include -#ifdef HAVE_TR1_MEMORY +#ifdef HAVE_MEMORY_SHARED_PTR +#include +#elif HAVE_TR1_MEMORY #include #elif HAVE_BOOST_SHARED_PTR_HPP #include --- a/bin/schroot/schroot-options-base.h +++ b/bin/schroot/schroot-options-base.h @@ -27,7 +27,9 @@ #include #include -#ifdef HAVE_TR1_MEMORY +#ifdef HAVE_MEMORY_SHARED_PTR +#include +#elif HAVE_TR1_MEMORY #include #elif HAVE_BOOST_SHARED_PTR_HPP #include From 04a35b2c57b84e098c9cad75d36675a958e9075e Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 26 Sep 2022 20:54:16 +0100 Subject: [PATCH 2/3] Fix localename type Needs to be a string. Fixes error: ``` /var/tmp/portage/dev-util/schroot-1.6.10_p7/work/schroot-1.6.10/sbuild/sbuild-basic-keyfile.tcc:217:18: error: no viable overloaded '=' localename = std::locale::classic(); ~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/bits/basic_string.h:665:7: note: candidate function not viable: no known conversion from 'const std::locale' to 'const std::__cxx11::basic_string' for 1st argument operator=(const basic_string& __str) ^ [...] ``` Bug: https://bugs.gentoo.org/739034 Signed-off-by: Sam James --- a/sbuild/sbuild-basic-keyfile.tcc +++ b/sbuild/sbuild-basic-keyfile.tcc @@ -214,7 +214,7 @@ sbuild::basic_keyfile::get_locale_string (group_name_type const& group, } catch (std::runtime_error const& e) // Invalid locale { - localename = std::locale::classic(); + localename = std::locale::classic().name(); } std::string::size_type pos; bool status = false; From 5b00d06a567fe71328124ea53b92ddbd1bd8c6fd Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 26 Sep 2022 20:54:45 +0100 Subject: [PATCH 3/3] Add include for musl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes error: ``` /var/tmp/portage/dev-util/schroot-1.6.10_p7/work/schroot-1.6.10/sbuild/sbuild-feature.cc: In static member function ‘static std::ostream& sbuild::feature::print_features(std::ostream&)’: /var/tmp/portage/dev-util/schroot-1.6.10_p7/work/schroot-1.6.10/sbuild/sbuild-feature.cc:48:40: error: ‘gettext’ was not declared in this scope 48 | stream << feature % pos->first % gettext(pos->second.c_str()); | ^~~~~~~ ``` Bug: https://bugs.gentoo.org/715514 Signed-off-by: Sam James --- a/sbuild/sbuild-feature.cc +++ b/sbuild/sbuild-feature.cc @@ -19,6 +19,7 @@ #include #include +#include #include "sbuild-feature.h"