Accepting request 1233004 from graphics

bugix version (forwarded request 1233002 from DocB)

OBS-URL: https://build.opensuse.org/request/show/1233004
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/orthanc?expand=0&rev=39
This commit is contained in:
Ana Guerrero 2024-12-22 17:05:00 +00:00 committed by Git OBS Bridge
commit 991fa5d52a
7 changed files with 19 additions and 292 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54964a43639248840abcba23b2566e5f6786594bfa5b494644608cc29db8a92b
size 2056110

3
Orthanc-1.12.5.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9ed9da0a1c1821ad488a1b004ba492c4782839f10f132b35e1d99035adc5b23
size 2065505

View File

@ -1,233 +0,0 @@
# 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,

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Dec 20 17:20:24 UTC 2024 - Axel Braun <axel.braun@gmx.de>
- version 1.12.5
* patches toolbox.patch boost.patch sha.patch removed (in sourcecode)
* for details, see NEWS file
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Oct 14 11:53:47 UTC 2024 - Axel Braun <axel.braun@gmx.de> Mon Oct 14 11:53:47 UTC 2024 - Axel Braun <axel.braun@gmx.de>

View File

@ -18,7 +18,7 @@
Name: orthanc Name: orthanc
Version: 1.12.4 Version: 1.12.5
Release: 0 Release: 0
Summary: RESTful DICOM server for healthcare and medical research Summary: RESTful DICOM server for healthcare and medical research
License: GPL-3.0-or-later License: GPL-3.0-or-later
@ -39,9 +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: toolbox.patch ## Patch1: toolbox.patch
Patch2: boost.patch # Patch2: boost.patch
Patch3: sha.patch ## Patch3: sha.patch
BuildRequires: civetweb-devel BuildRequires: civetweb-devel
BuildRequires: cmake >= 2.8.0 BuildRequires: cmake >= 2.8.0
@ -195,19 +195,19 @@ mkdir -p -m 755 %{buildroot}%{_docdir}/%{name}
mkdir -p -m 755 %{buildroot}/usr/src/%{name} mkdir -p -m 755 %{buildroot}/usr/src/%{name}
# Copy sources # Copy sources
tar --strip-components 1 -xzf %{S:0} -C %{buildroot}/usr/src/%{name}/ tar --strip-components 1 -xzf %{S:0} -C %{buildroot}/usr/src/%{name}/
#Apply dcmtk patch #Apply dcmtk patch
patch %{buildroot}/usr/src/%{name}/OrthancFramework/Resources/CMake/DcmtkConfiguration.cmake < %{P:0} patch %{buildroot}/usr/src/%{name}/OrthancFramework/Resources/CMake/DcmtkConfiguration.cmake < %{P:0}
#Apply remaining patches to source tree #Apply remaining patches to source tree
patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:1} ## patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:1}
patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:2} ## patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:2}
patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:3} ## patch -p1 -d %{buildroot}/usr/src/%{name} < %{P:3}
# Do not mark Python scripts as executable # Do not mark Python scripts as executable
find %{buildroot}/usr/src/%{name} -name '*.py' -exec chmod a-x "{}" + find %{buildroot}/usr/src/%{name} -name '*.py' -exec chmod a-x "{}" +
#...and delete dot files #...and delete dot files
rm %{buildroot}/usr/src/%{name}/.hg* rm %{buildroot}/usr/src/%{name}/.[!.]*
rm %{buildroot}/usr/src/%{name}/.travis*
# and patched files # and patched files
find %{buildroot}/usr/src/%{name} -iname *.orig -type f -print | xargs /bin/rm -f find %{buildroot}/usr/src/%{name} -iname *.orig -type f -print | xargs /bin/rm -f

View File

@ -1,20 +0,0 @@
# HG changeset patch
# User Alain Mazy <am@orthanc.team>
# Date 1727274964 -7200
# Node ID 122fd5f97d394bbbe46e11b65a7a1294ccf61985
# Parent 2b429588de28773d4aa062b3eb78c64663d7cbd2
fix
diff -r 2b429588de28 -r 122fd5f97d39 OrthancFramework/Sources/Toolbox.cpp
--- a/OrthancFramework/Sources/Toolbox.cpp Wed Sep 25 16:27:07 2024 +0200
+++ b/OrthancFramework/Sources/Toolbox.cpp Wed Sep 25 16:36:04 2024 +0200
@@ -837,7 +837,7 @@
assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
assert(sizeof(boost::uuids::detail::sha1::digest_type) == 20);
- sha1.get_digest(digest));
+ sha1.get_digest(digest);
result.resize(8 * 5 + 4);
sprintf(&result[0], "%08x-%08x-%08x-%08x-%08x",

View File

@ -1,27 +0,0 @@
--- 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",