Accepting request 1204506 from graphics
OBS-URL: https://build.opensuse.org/request/show/1204506 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/orthanc?expand=0&rev=36
This commit is contained in:
commit
35f5193478
233
boost.patch
Normal file
233
boost.patch
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Alain Mazy <am@orthanc.team>
|
||||||
|
# Date 1727274427 -7200
|
||||||
|
# Node ID 2b429588de28773d4aa062b3eb78c64663d7cbd2
|
||||||
|
# Parent 16df205057106f4246107cfe45710e56324007e8
|
||||||
|
fix support for Boost 1.86
|
||||||
|
|
||||||
|
diff -r 16df20505710 -r 2b429588de28 OrthancFramework/Resources/CMake/BoostConfiguration.cmake
|
||||||
|
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Tue Sep 24 09:26:42 2024 +0200
|
||||||
|
+++ b/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Wed Sep 25 16:27:07 2024 +0200
|
||||||
|
@@ -91,10 +91,10 @@
|
||||||
|
## Parameters for static compilation of Boost
|
||||||
|
##
|
||||||
|
|
||||||
|
- set(BOOST_NAME boost_1_85_0)
|
||||||
|
- set(BOOST_VERSION 1.85.0)
|
||||||
|
- set(BOOST_BCP_SUFFIX bcpdigest-1.12.4)
|
||||||
|
- set(BOOST_MD5 "1017e9c8383efdea01c059a8d3cc4dda")
|
||||||
|
+ set(BOOST_NAME boost_1_86_0)
|
||||||
|
+ set(BOOST_VERSION 1.86.0)
|
||||||
|
+ set(BOOST_BCP_SUFFIX bcpdigest-1.12.5)
|
||||||
|
+ set(BOOST_MD5 "20b9c325c0dde830889ee75a9e64ded8")
|
||||||
|
set(BOOST_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
|
||||||
|
set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
|
||||||
|
|
||||||
|
@@ -115,7 +115,7 @@
|
||||||
|
if (FirstRun)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
|
||||||
|
- ${CMAKE_CURRENT_LIST_DIR}/../Patches/boost-1.85.0-emscripten.patch
|
||||||
|
+ ${CMAKE_CURRENT_LIST_DIR}/../Patches/boost-1.86.0-emscripten.patch
|
||||||
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
|
RESULT_VARIABLE Failure
|
||||||
|
)
|
||||||
|
diff -r 16df20505710 -r 2b429588de28 OrthancFramework/Resources/CMake/BoostConfiguration.sh
|
||||||
|
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.sh Tue Sep 24 09:26:42 2024 +0200
|
||||||
|
+++ b/OrthancFramework/Resources/CMake/BoostConfiguration.sh Wed Sep 25 16:27:07 2024 +0200
|
||||||
|
@@ -27,9 +27,10 @@
|
||||||
|
## - Orthanc 1.12.2: Boost 1.83.0
|
||||||
|
## - Orthanc 1.12.3: Boost 1.84.0
|
||||||
|
## - Orthanc > 1.12.3: Boost 1.85.0
|
||||||
|
+## - Orthanc 1.12.5: Boost 1.86.0
|
||||||
|
|
||||||
|
-BOOST_VERSION=1_85_0
|
||||||
|
-ORTHANC_VERSION=1.12.4
|
||||||
|
+BOOST_VERSION=1_86_0
|
||||||
|
+ORTHANC_VERSION=1.12.5
|
||||||
|
|
||||||
|
rm -rf /tmp/boost_${BOOST_VERSION}
|
||||||
|
rm -rf /tmp/bcp/boost_${BOOST_VERSION}
|
||||||
|
diff -r 16df20505710 -r 2b429588de28 OrthancFramework/Resources/Patches/boost-1.86.0-emscripten.patch
|
||||||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||||
|
+++ b/OrthancFramework/Resources/Patches/boost-1.86.0-emscripten.patch Wed Sep 25 16:27:07 2024 +0200
|
||||||
|
@@ -0,0 +1,127 @@
|
||||||
|
+diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/date_time.cpp
|
||||||
|
+--- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp 2024-09-25 15:46:01.000000000 +0200
|
||||||
|
++++ boost_1_86_0/libs/locale/src/boost/locale/shared/date_time.cpp 2024-09-25 15:58:51.306131987 +0200
|
||||||
|
+@@ -12,8 +12,10 @@
|
||||||
|
+ #include <boost/locale/date_time.hpp>
|
||||||
|
+ #include <boost/locale/formatting.hpp>
|
||||||
|
+ #include <boost/core/exchange.hpp>
|
||||||
|
+-#include <boost/thread/locks.hpp>
|
||||||
|
+-#include <boost/thread/mutex.hpp>
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
++# include <boost/thread/locks.hpp>
|
||||||
|
++# include <boost/thread/mutex.hpp>
|
||||||
|
++#endif
|
||||||
|
+ #include <cmath>
|
||||||
|
+
|
||||||
|
+ namespace boost { namespace locale {
|
||||||
|
+@@ -400,6 +402,7 @@
|
||||||
|
+ return impl_->get_option(abstract_calendar::is_dst) != 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ namespace time_zone {
|
||||||
|
+ boost::mutex& tz_mutex()
|
||||||
|
+ {
|
||||||
|
+@@ -422,7 +425,7 @@
|
||||||
|
+ return boost::exchange(tz_id(), new_id);
|
||||||
|
+ }
|
||||||
|
+ } // namespace time_zone
|
||||||
|
+-
|
||||||
|
++#endif
|
||||||
|
+ }} // namespace boost::locale
|
||||||
|
+
|
||||||
|
+ // boostinspect:nominmax
|
||||||
|
+diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/generator.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/generator.cpp
|
||||||
|
+--- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/generator.cpp 2024-09-25 15:46:01.000000000 +0200
|
||||||
|
++++ boost_1_86_0/libs/locale/src/boost/locale/shared/generator.cpp 2024-09-25 16:00:07.756233916 +0200
|
||||||
|
+@@ -7,8 +7,10 @@
|
||||||
|
+ #include <boost/locale/encoding.hpp>
|
||||||
|
+ #include <boost/locale/generator.hpp>
|
||||||
|
+ #include <boost/locale/localization_backend.hpp>
|
||||||
|
+-#include <boost/thread/locks.hpp>
|
||||||
|
+-#include <boost/thread/mutex.hpp>
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
++# include <boost/thread/locks.hpp>
|
||||||
|
++# include <boost/thread/mutex.hpp>
|
||||||
|
++#endif
|
||||||
|
+ #include <algorithm>
|
||||||
|
+ #include <map>
|
||||||
|
+ #include <vector>
|
||||||
|
+@@ -21,8 +23,9 @@
|
||||||
|
+ {}
|
||||||
|
+
|
||||||
|
+ mutable std::map<std::string, std::locale> cached;
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ mutable boost::mutex cached_lock;
|
||||||
|
+-
|
||||||
|
++#endif
|
||||||
|
+ category_t cats;
|
||||||
|
+ char_facet_t chars;
|
||||||
|
+
|
||||||
|
+@@ -101,7 +104,9 @@
|
||||||
|
+ std::locale generator::generate(const std::locale& base, const std::string& id) const
|
||||||
|
+ {
|
||||||
|
+ if(d->caching_enabled) {
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ boost::unique_lock<boost::mutex> guard(d->cached_lock);
|
||||||
|
++#endif
|
||||||
|
+ const auto p = d->cached.find(id);
|
||||||
|
+ if(p != d->cached.end())
|
||||||
|
+ return p->second;
|
||||||
|
+@@ -126,7 +131,9 @@
|
||||||
|
+ result = backend->install(result, facet, char_facet_t::nochar);
|
||||||
|
+ }
|
||||||
|
+ if(d->caching_enabled) {
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ boost::unique_lock<boost::mutex> guard(d->cached_lock);
|
||||||
|
++#endif
|
||||||
|
+ const auto p = d->cached.find(id);
|
||||||
|
+ if(p == d->cached.end())
|
||||||
|
+ d->cached[id] = result;
|
||||||
|
+diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/localization_backend.cpp
|
||||||
|
+--- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-09-25 15:46:01.000000000 +0200
|
||||||
|
++++ boost_1_86_0/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-09-25 16:01:09.196820495 +0200
|
||||||
|
+@@ -5,8 +5,10 @@
|
||||||
|
+ // https://www.boost.org/LICENSE_1_0.txt
|
||||||
|
+
|
||||||
|
+ #include <boost/locale/localization_backend.hpp>
|
||||||
|
+-#include <boost/thread/locks.hpp>
|
||||||
|
+-#include <boost/thread/mutex.hpp>
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
++# include <boost/thread/locks.hpp>
|
||||||
|
++# include <boost/thread/mutex.hpp>
|
||||||
|
++#endif
|
||||||
|
+ #include <functional>
|
||||||
|
+ #include <memory>
|
||||||
|
+ #include <vector>
|
||||||
|
+@@ -211,11 +213,13 @@
|
||||||
|
+ return mgr;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ boost::mutex& localization_backend_manager_mutex()
|
||||||
|
+ {
|
||||||
|
+ static boost::mutex the_mutex;
|
||||||
|
+ return the_mutex;
|
||||||
|
+ }
|
||||||
|
++#endif
|
||||||
|
+ localization_backend_manager& localization_backend_manager_global()
|
||||||
|
+ {
|
||||||
|
+ static localization_backend_manager the_manager = make_default_backend_mgr();
|
||||||
|
+@@ -225,12 +229,16 @@
|
||||||
|
+
|
||||||
|
+ localization_backend_manager localization_backend_manager::global()
|
||||||
|
+ {
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex());
|
||||||
|
++#endif
|
||||||
|
+ return localization_backend_manager_global();
|
||||||
|
+ }
|
||||||
|
+ localization_backend_manager localization_backend_manager::global(const localization_backend_manager& in)
|
||||||
|
+ {
|
||||||
|
++#if !defined(__EMSCRIPTEN__)
|
||||||
|
+ boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex());
|
||||||
|
++#endif
|
||||||
|
+ return exchange(localization_backend_manager_global(), in);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
diff -r 16df20505710 -r 2b429588de28 OrthancFramework/Sources/Toolbox.cpp
|
||||||
|
--- a/OrthancFramework/Sources/Toolbox.cpp Tue Sep 24 09:26:42 2024 +0200
|
||||||
|
+++ b/OrthancFramework/Sources/Toolbox.cpp Wed Sep 25 16:27:07 2024 +0200
|
||||||
|
@@ -812,14 +812,32 @@
|
||||||
|
sha1.process_bytes(data, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if BOOST_VERSION >= 108600
|
||||||
|
+ unsigned char digest[20];
|
||||||
|
+
|
||||||
|
+ // Sanity check for the memory layout: A SHA-1 digest is 160 bits wide
|
||||||
|
+ assert(sizeof(digest) == (160 / 8));
|
||||||
|
+ assert(sizeof(boost::uuids::detail::sha1::digest_type) == 20);
|
||||||
|
+
|
||||||
|
+ // From Boost 1.86, digest_type is "unsigned char[20]" while it was "unsigned int[5]"" in previous versions.
|
||||||
|
+ // Always perform the cast even if it is useless for Boost < 1.86
|
||||||
|
+ sha1.get_digest(digest);
|
||||||
|
+
|
||||||
|
+ result.resize(8 * 5 + 4);
|
||||||
|
+ sprintf(&result[0], "%02x%02x%02x%02x-%02x%02x%02x%02x-%02x%02x%02x%02x-%02x%02x%02x%02x-%02x%02x%02x%02x",
|
||||||
|
+ digest[0], digest[1], digest[2], digest[3],
|
||||||
|
+ digest[4], digest[5], digest[6], digest[7],
|
||||||
|
+ digest[8], digest[9], digest[10], digest[11],
|
||||||
|
+ digest[12], digest[13], digest[14], digest[15],
|
||||||
|
+ digest[16], digest[17], digest[18], digest[19]);
|
||||||
|
+
|
||||||
|
+#else
|
||||||
|
unsigned int digest[5];
|
||||||
|
// Sanity check for the memory layout: A SHA-1 digest is 160 bits wide
|
||||||
|
assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
|
||||||
|
assert(sizeof(boost::uuids::detail::sha1::digest_type) == 20);
|
||||||
|
-
|
||||||
|
- // From Boost 1.86, digest_type is "unsigned char[20]" while it was "unsigned int[5]"" in previous versions.
|
||||||
|
- // Always perform the cast even if it is useless for Boost < 1.86
|
||||||
|
- sha1.get_digest(*(reinterpret_cast<boost::uuids::detail::sha1::digest_type*>(digest)));
|
||||||
|
+
|
||||||
|
+ sha1.get_digest(digest));
|
||||||
|
|
||||||
|
result.resize(8 * 5 + 4);
|
||||||
|
sprintf(&result[0], "%08x-%08x-%08x-%08x-%08x",
|
||||||
|
@@ -828,6 +846,9 @@
|
||||||
|
digest[2],
|
||||||
|
digest[3],
|
||||||
|
digest[4]);
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
void Toolbox::ComputeSHA1(std::string& result,
|
||||||
|
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 25 08:35:12 UTC 2024 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
- toolbox.patch and boost.patch added to fix TW build
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jun 7 06:00:51 UTC 2024 - Axel Braun <axel.braun@gmx.de>
|
Fri Jun 7 06:00:51 UTC 2024 - Axel Braun <axel.braun@gmx.de>
|
||||||
|
|
||||||
|
@ -39,7 +39,9 @@ Source12: https://orthanc.uclouvain.be/downloads/third-party-downloads/jqu
|
|||||||
Source13: https://orthanc.uclouvain.be/downloads/third-party-downloads/dicom-web/vuejs-2.6.10.tar.gz
|
Source13: https://orthanc.uclouvain.be/downloads/third-party-downloads/dicom-web/vuejs-2.6.10.tar.gz
|
||||||
|
|
||||||
Patch0: dcmtk.diff
|
Patch0: dcmtk.diff
|
||||||
## Patch1: boost185.diff
|
Patch1: toolbox.patch
|
||||||
|
Patch2: boost.patch
|
||||||
|
|
||||||
BuildRequires: civetweb-devel
|
BuildRequires: civetweb-devel
|
||||||
BuildRequires: cmake >= 2.8.0
|
BuildRequires: cmake >= 2.8.0
|
||||||
BuildRequires: curl-devel
|
BuildRequires: curl-devel
|
||||||
|
27
toolbox.patch
Normal file
27
toolbox.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
--- a/OrthancFramework/Sources/Toolbox.cpp Fri Sep 20 16:05:04 2024 +0200
|
||||||
|
+++ b/OrthancFramework/Sources/Toolbox.cpp Tue Sep 24 09:26:42 2024 +0200
|
||||||
|
@@ -801,7 +801,6 @@
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
void Toolbox::ComputeSHA1(std::string& result,
|
||||||
|
const void* data,
|
||||||
|
size_t size)
|
||||||
|
@@ -814,11 +813,13 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int digest[5];
|
||||||
|
-
|
||||||
|
// Sanity check for the memory layout: A SHA-1 digest is 160 bits wide
|
||||||
|
- assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
|
||||||
|
+ assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
|
||||||
|
+ assert(sizeof(boost::uuids::detail::sha1::digest_type) == 20);
|
||||||
|
|
||||||
|
- sha1.get_digest(digest);
|
||||||
|
+ // From Boost 1.86, digest_type is "unsigned char[20]" while it was "unsigned int[5]"" in previous versions.
|
||||||
|
+ // Always perform the cast even if it is useless for Boost < 1.86
|
||||||
|
+ sha1.get_digest(*(reinterpret_cast<boost::uuids::detail::sha1::digest_type*>(digest)));
|
||||||
|
|
||||||
|
result.resize(8 * 5 + 4);
|
||||||
|
sprintf(&result[0], "%08x-%08x-%08x-%08x-%08x",
|
Loading…
x
Reference in New Issue
Block a user