office-gobmx/external/boost/boost.between.warning.patch
Stephan Bergmann 8daa8eef06 Upgrade external/boost to latest Boost 1.82.0
<https://dev-www.libreoffice.org/src/boost_1_82_0.tar.xz> has been generated (on
Fedora 38) with

> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2
> $ printf 'a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 boost_1_82_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_82_0.html>
> boost_1_82_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_82_0.tar.bz2
> Unpacking boost_1_82_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_82_0.tar.xz ...
> Cleaning up ...
> e48ab6953fbd68ba47234bea5173e62427e9f6a7894e152305142895cfe955de  boost_1_82_0.tar.xz
> Done.

* Updating StaticLibrary_boost_locale.mk is needed to avoid
> workdir/UnpackedTarball/boost/libs/locale/src/boost/locale/util/locale_data.cpp:137: error: undefined reference to 'boost::locale::util::normalize_encoding(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Change-Id: Iff3f5249df0fcf75f5a50e7eb35ef64373af8184
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150516
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-17 18:59:32 +02:00

21 lines
863 B
Diff

diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs/locale/src/encoding/codepage.cpp
--- foo/misc/boost.orig/libs/locale/src/encoding/codepage.cpp
+++ foo/misc/boost/libs/locale/src/boost/locale/encoding/codepage.cpp
@@ -8,6 +8,7 @@
#include <boost/locale/hold_ptr.hpp>
#include <memory>
#include <string>
+#include <string.h>
#include "boost/locale/encoding/conv.hpp"
#if BOOST_LOCALE_USE_WIN32_API
@@ -58,6 +58,9 @@
return cvt->convert(begin, end);
#endif
#endif
+ // ensures we get a sensible warning in boost's gettext results about a real mismatch.
+ if (to_charset && from_charset && !strcmp(to_charset, from_charset))
+ return std::string(begin, end - begin);
throw invalid_charset_error(std::string(to_charset) + " or " + from_charset);
}