office-gobmx/external/boost/windows-no-utf8-locales.patch.0
Stephan Bergmann f65d7265c6 Upgrade external/boost to latest Boost 1.84.0
<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 072a25e1ef "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
  29661a886e "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>
2024-04-07 18:11:24 +02:00

19 lines
667 B
Diff

Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows -*- Mode: Diff -*-
--- libs/locale/src/boost/locale/std/std_backend.cpp
+++ libs/locale/src/boost/locale/std/std_backend.cpp
@@ -138,10 +138,14 @@
} else
name_ = "C";
} else {
+#if !defined(BOOST_WINDOWS)
if(loadable(lid)) {
name_ = lid;
utf_mode_ = utf8_support::native;
} else {
+#else
+ {
+#endif
std::vector<std::string> alt_names;
if(l_win)
alt_names.push_back(l_win.name);