schroot: fix compilation with GCC14

GCC now does not allow assigning an std::locale to an std::string. No
idea why it worked originally.

Also fixed compilation with full NLS.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
pull/24124/head
Rosen Penev 2024-05-13 15:59:55 -07:00
parent 41a5880f01
commit c3e2dcc128
2 changed files with 33 additions and 1 deletions

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=reschroot
PKG_VERSION:=1.6.13
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeberg.org/shelter/reschroot/archive/release

View File

@ -0,0 +1,32 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -310,6 +310,8 @@ include_directories(${PROJECT_BINARY_DIR
${PROJECT_BINARY_DIR}
${PROJECT_SOURCE_DIR})
+find_package(Intl)
+
add_subdirectory(sbuild)
add_subdirectory(bin)
add_subdirectory(etc)
--- a/sbuild/CMakeLists.txt
+++ b/sbuild/CMakeLists.txt
@@ -208,6 +208,7 @@ add_library(sbuild STATIC
${public_chroot_facet_cc_sources})
target_link_libraries(sbuild
PRIVATE
+ Intl::Intl
${CMAKE_THREAD_LIBS_INIT}
${PAM_LIBRARY}
${UUID_LIBRARY}
--- a/sbuild/sbuild-basic-keyfile.tcc
+++ b/sbuild/sbuild-basic-keyfile.tcc
@@ -214,7 +214,7 @@ sbuild::basic_keyfile<K, P>::get_locale_
}
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;