forked from amazingfate/loongoffice
<https://dev-www.libreoffice.org/src/boost_1_84_0.tar.xz> has been generated (on
Fedora 39) with
> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
> $ printf 'cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454 boost_1_84_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_84_0.html>
> boost_1_84_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_84_0.tar.bz2
> Unpacking boost_1_84_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_84_0.tar.xz ...
> Cleaning up ...
> fd4a2ee785ea0e4efc5221a4284e0cf51096e8409871fb70fdaced002eeffc0b boost_1_84_0.tar.xz
> Done.
* external/boost/0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2
was obsoleted by
<665047aac2>
"avoid ODR by making this const".
* The modified external/boost/windows-no-utf8-locales.patch.0, whose original
version no longer applied as-is, should hopefully still mitigate the issue
described in 072a25e1ef4815bbef4f18f59f025862a0d8e876 "tdf#157135 workaround:
restore and update windows-no-utf8-locales.patch.0".
* external/boost/Wundef.patch.0 is needed to silence
> In file included from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/throw_exception.hpp:24,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/serialize_tracked_address.hpp:16,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/fca.hpp:117,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/implementation.hpp:17,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/map.hpp:7,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/unordered_map.hpp:17,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered_map.hpp:17,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/external/boost/include/boost/unordered_map.hpp:30,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/modifications.hxx:28,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/data.hxx:34,
> from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/groupnode.cxx:26:
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:51:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
> 51 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
> 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
> | ^~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:64:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
> 64 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
> 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
> | ^~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:77:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
> 77 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
> 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
> | ^~~~~~
etc. (<https://ci.libreoffice.org/job/gerrit_linux_gcc_release/155922/>) as
seen with some versions of GCC which apparently fail to honor in that
situation the
> #pragma GCC diagnostic ignored "-Wundef"
in the external/boost/include wrappers. (Using
> #pragma GCC system_header
in those external/boost/include wrappers had been dismissed with
29661a886e4157e0cb6141b49fb5602fa621cc9a "boost: stop using #pragma GCC
system_header".)
Change-Id: Idf1d5a17bc198b8ea7a54751e8e2fa6ca2169167
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161138
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
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
|
|
@@ -29,6 +29,7 @@
|
|
const std::string& from_charset,
|
|
method_type how)
|
|
{
|
|
+#if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
{
|
|
impl::iconv_between cvt;
|
|
@@ -50,6 +51,7 @@
|
|
return cvt.convert(begin, end);
|
|
}
|
|
#endif
|
|
+#endif
|
|
throw invalid_charset_error(std::string(to_charset) + " or " + from_charset);
|
|
}
|
|
|
|
@@ -56,6 +58,7 @@
|
|
template<typename CharType>
|
|
std::basic_string<CharType> to_utf(const char* begin, const char* end, const std::string& charset, method_type how)
|
|
{
|
|
+#if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
{
|
|
impl::iconv_to_utf<CharType> cvt;
|
|
@@ -77,6 +80,7 @@
|
|
return cvt.convert(begin, end);
|
|
}
|
|
#endif
|
|
+#endif
|
|
throw invalid_charset_error(charset);
|
|
}
|
|
|
|
@@ -83,6 +87,7 @@
|
|
template<typename CharType>
|
|
std::string from_utf(const CharType* begin, const CharType* end, const std::string& charset, method_type how)
|
|
{
|
|
+#if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
{
|
|
impl::iconv_from_utf<CharType> cvt;
|
|
@@ -104,6 +109,7 @@
|
|
return cvt.convert(begin, end);
|
|
}
|
|
#endif
|
|
+#endif
|
|
throw invalid_charset_error(charset);
|
|
}
|
|
|