# HG changeset patch # User Sebastien Jodogne # Date 1683121691 -7200 # Node ID dc8fe64a452fabee6272579af865c250d2816c10 # Parent 28f0e38e4082d8694e531b5752bd3974b23f8cef upgrade to boost 1.82.0 diff -r 28f0e38e4082 -r dc8fe64a452f NEWS --- a/NEWS Mon Apr 24 18:13:48 2023 +0200 +++ b/NEWS Wed May 03 15:48:11 2023 +0200 @@ -6,6 +6,8 @@ * Fix decoding of YBR_FULL RLE images for which the "Planar Configuration" tag (0028,0006) equals 1 +* Upgraded dependencies for static builds: + - boost 1.82.0 Version 1.12.0 (2023-04-14) diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/CMake/BoostConfiguration.cmake --- a/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Mon Apr 24 18:13:48 2023 +0200 +++ b/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Wed May 03 15:48:11 2023 +0200 @@ -90,10 +90,10 @@ ## Parameters for static compilation of Boost ## - set(BOOST_NAME boost_1_80_0) - set(BOOST_VERSION 1.80.0) - set(BOOST_BCP_SUFFIX bcpdigest-1.11.2) - set(BOOST_MD5 "7734e19f9a39a4411b807a9913e4a5ff") + set(BOOST_NAME boost_1_82_0) + set(BOOST_VERSION 1.82.0) + set(BOOST_BCP_SUFFIX bcpdigest-1.12.1) + set(BOOST_MD5 "9d02d026c61870b1838b53293692326f") set(BOOST_URL "https://orthanc.uclouvain.be/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz") set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) @@ -310,12 +310,14 @@ ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/date_time.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/formatting.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/generator.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/iconv_codecvt.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/ids.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/localization_backend.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/message.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/mo_lambda.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/codecvt_converter.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/default_locale.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/encoding.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/gregorian.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/info.cpp ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/locale_data.cpp diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/CMake/BoostConfiguration.sh --- a/OrthancFramework/Resources/CMake/BoostConfiguration.sh Mon Apr 24 18:13:48 2023 +0200 +++ b/OrthancFramework/Resources/CMake/BoostConfiguration.sh Wed May 03 15:48:11 2023 +0200 @@ -22,10 +22,11 @@ ## - Orthanc between 1.4.0 and 1.4.2: Boost 1.67.0 ## - Orthanc between 1.5.0 and 1.5.4: Boost 1.68.0 ## - Orthanc between 1.5.5 and 1.11.1: Boost 1.69.0 -## - Orthanc >= 1.11.2: Boost 1.80.0 +## - Orthanc between 1.11.2 and 1.12.0: Boost 1.80.0 +## - Orthanc >= 1.12.1: Boost 1.82.0 -BOOST_VERSION=1_80_0 -ORTHANC_VERSION=1.11.2 +BOOST_VERSION=1_82_0 +ORTHANC_VERSION=1.12.1 rm -rf /tmp/boost_${BOOST_VERSION} rm -rf /tmp/bcp/boost_${BOOST_VERSION} diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/boost-1.65.1-linux-standard-base.patch --- a/OrthancFramework/Resources/Patches/boost-1.65.1-linux-standard-base.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -diff -urEb boost_1_65_1.orig/boost/move/adl_move_swap.hpp boost_1_65_1/boost/move/adl_move_swap.hpp ---- boost_1_65_1.orig/boost/move/adl_move_swap.hpp 2017-11-08 17:43:20.000000000 +0100 -+++ boost_1_65_1/boost/move/adl_move_swap.hpp 2018-01-02 15:34:48.829052917 +0100 -@@ -28,6 +28,8 @@ - //Try to avoid including , as it's quite big - #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) - #include //Dinkum libraries define std::swap in utility which is lighter than algorithm -+#elif defined(__LSB_VERSION__) -+# include - #elif defined(BOOST_GNU_STDLIB) - //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions - //use the good old stl_algobase header, which is quite lightweight diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/boost-1.66.0-linux-standard-base.patch --- a/OrthancFramework/Resources/Patches/boost-1.66.0-linux-standard-base.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -diff -urEb boost_1_66_0.orig/boost/move/adl_move_swap.hpp boost_1_66_0/boost/move/adl_move_swap.hpp ---- boost_1_66_0.orig/boost/move/adl_move_swap.hpp 2018-04-11 11:56:16.761768726 +0200 -+++ boost_1_66_0/boost/move/adl_move_swap.hpp 2018-04-11 11:57:01.073881330 +0200 -@@ -28,6 +28,8 @@ - //Try to avoid including , as it's quite big - #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) - #include //Dinkum libraries define std::swap in utility which is lighter than algorithm -+#elif defined(__LSB_VERSION__) -+# include - #elif defined(BOOST_GNU_STDLIB) - //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions - //use the good old stl_algobase header, which is quite lightweight -Only in boost_1_66_0/boost/move: adl_move_swap.hpp~ diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/boost-1.67.0-linux-standard-base.patch --- a/OrthancFramework/Resources/Patches/boost-1.67.0-linux-standard-base.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -diff -urEb boost_1_67_0.orig/boost/move/adl_move_swap.hpp boost_1_67_0/boost/move/adl_move_swap.hpp ---- boost_1_67_0.orig/boost/move/adl_move_swap.hpp 2018-06-20 17:42:27.000000000 +0200 -+++ boost_1_67_0/boost/move/adl_move_swap.hpp 2018-10-12 14:27:41.368076902 +0200 -@@ -28,6 +28,8 @@ - //Try to avoid including , as it's quite big - #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) - #include //Dinkum libraries define std::swap in utility which is lighter than algorithm -+#elif defined(__LSB_VERSION__) -+# include - #elif defined(BOOST_GNU_STDLIB) - //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions - //use the good old stl_algobase header, which is quite lightweight -diff -urEb boost_1_67_0.orig/boost/thread/detail/config.hpp boost_1_67_0/boost/thread/detail/config.hpp ---- boost_1_67_0.orig/boost/thread/detail/config.hpp 2018-06-20 17:42:27.000000000 +0200 -+++ boost_1_67_0/boost/thread/detail/config.hpp 2018-10-12 14:27:41.372076898 +0200 -@@ -417,6 +417,8 @@ - #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO - #elif defined(BOOST_THREAD_CHRONO_MAC_API) - #define BOOST_THREAD_HAS_MONO_CLOCK -+#elif defined(__LSB_VERSION__) || defined(__ANDROID__) -+ #define BOOST_THREAD_HAS_MONO_CLOCK - #else - #include // check for CLOCK_MONOTONIC - #if defined(CLOCK_MONOTONIC) -diff -urEb boost_1_67_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_67_0/boost/type_traits/detail/has_postfix_operator.hpp ---- boost_1_67_0.orig/boost/type_traits/detail/has_postfix_operator.hpp 2018-06-20 17:42:27.000000000 +0200 -+++ boost_1_67_0/boost/type_traits/detail/has_postfix_operator.hpp 2018-10-12 14:31:27.539874170 +0200 -@@ -32,8 +32,11 @@ - namespace boost { - namespace detail { - -+// https://stackoverflow.com/a/15474269 -+#ifndef Q_MOC_RUN - // This namespace ensures that argument-dependent name lookup does not mess things up. - namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { -+#endif - - // 1. a function to have an instance of type T without requiring T to be default - // constructible -@@ -181,7 +184,9 @@ - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); - }; - -+#ifndef Q_MOC_RUN - } // namespace impl -+#endif - } // namespace detail - - // this is the accessible definition of the trait to end user -diff -urEb boost_1_67_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_67_0/boost/type_traits/detail/has_prefix_operator.hpp ---- boost_1_67_0.orig/boost/type_traits/detail/has_prefix_operator.hpp 2018-06-20 17:42:27.000000000 +0200 -+++ boost_1_67_0/boost/type_traits/detail/has_prefix_operator.hpp 2018-10-12 14:31:40.991862281 +0200 -@@ -45,8 +45,11 @@ - namespace boost { - namespace detail { - -+// https://stackoverflow.com/a/15474269 -+#ifndef Q_MOC_RUN - // This namespace ensures that argument-dependent name lookup does not mess things up. - namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { -+#endif - - // 1. a function to have an instance of type T without requiring T to be default - // constructible -@@ -194,7 +197,9 @@ - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); - }; - -+#ifndef Q_MOC_RUN - } // namespace impl -+#endif - } // namespace detail - - // this is the accessible definition of the trait to end user diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/boost-1.68.0-linux-standard-base.patch --- a/OrthancFramework/Resources/Patches/boost-1.68.0-linux-standard-base.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -diff -urEb boost_1_68_0.orig/boost/move/adl_move_swap.hpp boost_1_68_0/boost/move/adl_move_swap.hpp ---- boost_1_68_0.orig/boost/move/adl_move_swap.hpp 2018-11-13 16:08:32.214434915 +0100 -+++ boost_1_68_0/boost/move/adl_move_swap.hpp 2018-11-13 16:09:03.558399048 +0100 -@@ -28,6 +28,8 @@ - //Try to avoid including , as it's quite big - #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) - #include //Dinkum libraries define std::swap in utility which is lighter than algorithm -+#elif defined(__LSB_VERSION__) -+# include - #elif defined(BOOST_GNU_STDLIB) - //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions - //use the good old stl_algobase header, which is quite lightweight -diff -urEb boost_1_68_0.orig/boost/thread/detail/config.hpp boost_1_68_0/boost/thread/detail/config.hpp ---- boost_1_68_0.orig/boost/thread/detail/config.hpp 2018-11-13 16:08:32.210434920 +0100 -+++ boost_1_68_0/boost/thread/detail/config.hpp 2018-11-13 16:10:03.386329911 +0100 -@@ -417,7 +417,7 @@ - #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO - #elif defined(BOOST_THREAD_CHRONO_MAC_API) - #define BOOST_THREAD_HAS_MONO_CLOCK --#elif defined(__ANDROID__) -+#elif defined(__LSB_VERSION__) || defined(__ANDROID__) - #define BOOST_THREAD_HAS_MONO_CLOCK - #if defined(__ANDROID_API__) && __ANDROID_API__ >= 21 - #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO -diff -urEb boost_1_68_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_68_0/boost/type_traits/detail/has_postfix_operator.hpp ---- boost_1_68_0.orig/boost/type_traits/detail/has_postfix_operator.hpp 2018-11-13 16:08:32.206434924 +0100 -+++ boost_1_68_0/boost/type_traits/detail/has_postfix_operator.hpp 2018-11-13 16:11:08.374253901 +0100 -@@ -32,8 +32,11 @@ - namespace boost { - namespace detail { - -+// https://stackoverflow.com/a/15474269 -+#ifndef Q_MOC_RUN - // This namespace ensures that argument-dependent name lookup does not mess things up. - namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { -+#endif - - // 1. a function to have an instance of type T without requiring T to be default - // constructible -@@ -181,7 +184,9 @@ - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); - }; - -+#ifndef Q_MOC_RUN - } // namespace impl -+#endif - } // namespace detail - - // this is the accessible definition of the trait to end user -diff -urEb boost_1_68_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_68_0/boost/type_traits/detail/has_prefix_operator.hpp ---- boost_1_68_0.orig/boost/type_traits/detail/has_prefix_operator.hpp 2018-11-13 16:08:32.206434924 +0100 -+++ boost_1_68_0/boost/type_traits/detail/has_prefix_operator.hpp 2018-11-13 16:14:30.278012856 +0100 -@@ -45,8 +45,11 @@ - namespace boost { - namespace detail { - -+// https://stackoverflow.com/a/15474269 -+#ifndef Q_MOC_RUN - // This namespace ensures that argument-dependent name lookup does not mess things up. - namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { -+#endif - - // 1. a function to have an instance of type T without requiring T to be default - // constructible -@@ -194,7 +197,10 @@ - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); - }; - -+ -+#ifndef Q_MOC_RUN - } // namespace impl -+#endif - } // namespace detail - - // this is the accessible definition of the trait to end user -Only in boost_1_68_0/boost/type_traits/detail: has_prefix_operator.hpp~ diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/civetweb-1.11.patch --- a/OrthancFramework/Resources/Patches/civetweb-1.11.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -diff -urEb civetweb-1.11.orig/include/civetweb.h civetweb-1.11/include/civetweb.h ---- civetweb-1.11.orig/include/civetweb.h 2019-01-17 21:09:41.844888908 +0100 -+++ civetweb-1.11/include/civetweb.h 2019-01-21 12:05:08.138998659 +0100 -@@ -1507,6 +1507,10 @@ - #endif - - -+// Added by SJ -+CIVETWEB_API void mg_disable_keep_alive(struct mg_connection *conn); -+ -+ - #ifdef __cplusplus - } - #endif /* __cplusplus */ -diff -urEb civetweb-1.11.orig/src/civetweb.c civetweb-1.11/src/civetweb.c ---- civetweb-1.11.orig/src/civetweb.c 2019-01-17 21:09:41.852888857 +0100 -+++ civetweb-1.11/src/civetweb.c 2019-01-21 12:06:35.826868284 +0100 -@@ -59,6 +59,9 @@ - #if defined(__linux__) && !defined(_XOPEN_SOURCE) - #define _XOPEN_SOURCE 600 /* For flockfile() on Linux */ - #endif -+#if defined(__LSB_VERSION__) -+#define NEED_TIMEGM -+#endif - #if !defined(_LARGEFILE_SOURCE) - #define _LARGEFILE_SOURCE /* For fseeko(), ftello() */ - #endif -@@ -129,6 +132,12 @@ - - - /* Alternative queue is well tested and should be the new default */ -+#if defined(__LSB_VERSION__) -+/* Function "eventfd()" is not available in Linux Standard Base, can't -+ * use the alternative queue */ -+#define NO_ALTERNATIVE_QUEUE -+#endif -+ - #if defined(NO_ALTERNATIVE_QUEUE) - #if defined(ALTERNATIVE_QUEUE) - #error "Define ALTERNATIVE_QUEUE or NO_ALTERNATIVE_QUEUE or none, but not both" -@@ -536,6 +545,10 @@ - #if !defined(EWOULDBLOCK) - #define EWOULDBLOCK WSAEWOULDBLOCK - #endif /* !EWOULDBLOCK */ -+#if !defined(ECONNRESET) -+/* This macro is not defined e.g. in Visual Studio 2008 */ -+#define ECONNRESET WSAECONNRESET -+#endif /* !ECONNRESET */ - #define _POSIX_ - #define INT64_FMT "I64d" - #define UINT64_FMT "I64u" -@@ -2939,6 +2952,13 @@ - #endif - - -+#if defined(__LSB_VERSION__) -+static void -+mg_set_thread_name(const char *threadName) -+{ -+ /* prctl() does not seem to be available in Linux Standard Base */ -+} -+#else - static void - mg_set_thread_name(const char *name) - { -@@ -2980,6 +3000,7 @@ - (void)prctl(PR_SET_NAME, threadName, 0, 0, 0); - #endif - } -+#endif - #else /* !defined(NO_THREAD_NAME) */ - void - mg_set_thread_name(const char *threadName) -@@ -16919,6 +16940,10 @@ - /* Message is a valid request */ - - /* Is there a "host" ? */ -+ /* https://github.com/civetweb/civetweb/pull/675/commits/96e3e8c50acb4b8e0c946d02b5f880a3e62986e1 */ -+ if (conn->host!=NULL) { -+ mg_free((void *)conn->host); -+ } - conn->host = alloc_get_host(conn); - if (!conn->host) { - mg_snprintf(conn, -@@ -19857,4 +19882,13 @@ - } - - -+// Added by SJ -+void mg_disable_keep_alive(struct mg_connection *conn) -+{ -+ if (conn != NULL) { -+ conn->must_close = 1; -+ } -+} -+ -+ - /* End of civetweb.c */ diff -r 28f0e38e4082 -r dc8fe64a452f OrthancFramework/Resources/Patches/civetweb-1.12.patch --- a/OrthancFramework/Resources/Patches/civetweb-1.12.patch Mon Apr 24 18:13:48 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -diff -urEb civetweb-1.12.orig/include/civetweb.h civetweb-1.12/include/civetweb.h ---- civetweb-1.12.orig/include/civetweb.h 2020-10-06 12:39:10.634902843 +0200 -+++ civetweb-1.12/include/civetweb.h 2020-10-06 12:39:30.630872089 +0200 -@@ -1614,6 +1614,9 @@ - struct mg_error_data *error); - #endif - -+// Added by SJ -+CIVETWEB_API void mg_disable_keep_alive(struct mg_connection *conn); -+ - #ifdef __cplusplus - } - #endif /* __cplusplus */ -diff -urEb civetweb-1.12.orig/src/civetweb.c civetweb-1.12/src/civetweb.c ---- civetweb-1.12.orig/src/civetweb.c 2020-10-06 12:39:10.638902837 +0200 -+++ civetweb-1.12/src/civetweb.c 2020-10-06 12:41:40.110671929 +0200 -@@ -10525,6 +10525,11 @@ - /* + MicroSoft extensions - * https://msdn.microsoft.com/en-us/library/aa142917.aspx */ - -+ /* Added by SJ, for write access to WebDAV on Windows >= 7 */ -+ {"LOCK", 1, 1, 0, 0, 0}, -+ {"UNLOCK", 1, 0, 0, 0, 0}, -+ {"PROPPATCH", 1, 1, 0, 0, 0}, -+ - /* REPORT method (RFC 3253) */ - {"REPORT", 1, 1, 1, 1, 1}, - /* REPORT method only allowed for CGI/Lua/LSP and callbacks. */ -@@ -20704,5 +20709,12 @@ - return 1; - } - -+// Added by SJ -+void mg_disable_keep_alive(struct mg_connection *conn) -+{ -+ if (conn != NULL) { -+ conn->must_close = 1; -+ } -+} - - /* End of civetweb.c */