Skip to content

Commit a0d9a61

Browse files
committed
Prepare the MeVisLab thirdparty libraries for the 4.1.2 release
1 parent 807ed4d commit a0d9a61

160 files changed

Lines changed: 1180 additions & 961 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Note that on POSIX platforms the Python 3 executable is called `python3`, while
2121
Additionally, under POSIX, `pip3` is not installed per default, while under Windows it is installed with Python as `pip`.
2222
To be compatible with Windows _(yes, that's the wrong way around - blame MS!)_, we currently need the `python` and `pip` symlinks point to `python3` and `pip3` _(or better `python3 -m pip`)_ respectively. Everything else may work, but has not been tested.
2323

24-
2524
Note also that on current Windows versions [Microsoft hijacks](https://docs.microsoft.com/en-us/windows/python/faqs#why-does-running-pythonexe-open-the-microsoft-store) the `python` and `python3` executables.
2625

2726

recipes/7zip/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,6 @@ def package(self):
7575

7676
def package_info(self):
7777
self.cpp_info.set_property("cpe", "cpe:2.3:a:7-zip:7-zip:*:*:*:*:*:*:*:*")
78-
self.cpp_info.set_property("base_purl", "github/ip7z/7zip")
78+
self.cpp_info.set_property("purl", f"pkg:github/ip7z/7zip@{self.version}")
7979
self.cpp_info.includedirs.clear()
8080
self.cpp_info.libdirs.clear()

recipes/abseil/conanfile.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
class ConanRecipe(ConanFile):
1212
name = "abseil"
13-
version = "20250127.0"
13+
version = "20250127.1"
1414
homepage = "https://abseil.io"
1515
description = "Collection of C++ libraries from Google"
1616
license = "Apache-2.0"
@@ -26,7 +26,7 @@ def layout(self):
2626
def source(self):
2727
get(
2828
self,
29-
sha256="16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8",
29+
sha256="b396401fd29e2e679cace77867481d388c807671dc2acc602a0259eeb79b7811",
3030
url=f"https://github.com/abseil/abseil-cpp/archive/refs/tags/{self.version}.tar.gz",
3131
strip_root=True,
3232
)
@@ -109,7 +109,7 @@ def _create_components_file(self):
109109

110110
def package_info(self):
111111
# self.cpp_info.set_property("cpe", "") # No CPE yet?
112-
self.cpp_info.set_property("base_purl", "github/abseil/abseil-cpp")
112+
self.cpp_info.set_property("purl", f"pkg:github/abseil/abseil-cpp@{self.version}")
113113
self.cpp_info.set_property("cmake_file_name", "absl")
114114

115115
collect_libs(self)

recipes/assimp/conanfile.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def source(self):
3232
)
3333
patch(self, patch_file="patches/001-no_pkgconfig_minizip.patch")
3434
patch(self, patch_file="patches/002-zlib_names.patch")
35+
patch(self, patch_file="patches/003-cve_2024_48423.patch")
3536

3637
def generate(self):
3738
tc = CMakeToolchain(self)
@@ -75,7 +76,7 @@ def package(self):
7576

7677
def package_info(self):
7778
self.cpp_info.set_property("cpe", "cpe:2.3:a:assimp:assimp:*:*:*:*:*:*:*:*")
78-
self.cpp_info.set_property("base_purl", "github/assimp/assimp")
79+
self.cpp_info.set_property("purl", f"pkg:github/assimp/assimp@v{self.version}")
7980
self.cpp_info.set_property("cmake_file_name", "assimp")
8081
self.cpp_info.set_property("cmake_target_name", "assimp::assimp")
8182
self.cpp_info.set_property("pkg_config_name", "assimp")
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp
2+
index ef3ee7b..22e16bd 100644
3+
--- a/code/Common/Assimp.cpp
4+
+++ b/code/Common/Assimp.cpp
5+
@@ -359,20 +359,25 @@ void CallbackToLogRedirector(const char *msg, char *dt) {
6+
s->write(msg);
7+
}
8+
9+
+static LogStream *DefaultStream = nullptr;
10+
+
11+
// ------------------------------------------------------------------------------------------------
12+
ASSIMP_API aiLogStream aiGetPredefinedLogStream(aiDefaultLogStream pStream, const char *file) {
13+
aiLogStream sout;
14+
15+
ASSIMP_BEGIN_EXCEPTION_REGION();
16+
- LogStream *stream = LogStream::createDefaultStream(pStream, file);
17+
- if (!stream) {
18+
+ if (DefaultStream == nullptr) {
19+
+ DefaultStream = LogStream::createDefaultStream(pStream, file);
20+
+ }
21+
+
22+
+ if (!DefaultStream) {
23+
sout.callback = nullptr;
24+
sout.user = nullptr;
25+
} else {
26+
sout.callback = &CallbackToLogRedirector;
27+
- sout.user = (char *)stream;
28+
+ sout.user = (char *)DefaultStream;
29+
}
30+
- gPredefinedStreams.push_back(stream);
31+
+ gPredefinedStreams.push_back(DefaultStream);
32+
ASSIMP_END_EXCEPTION_REGION(aiLogStream);
33+
return sout;
34+
}
35+
@@ -411,6 +416,10 @@ ASSIMP_API aiReturn aiDetachLogStream(const aiLogStream *stream) {
36+
DefaultLogger::get()->detachStream(it->second);
37+
delete it->second;
38+
39+
+ if ((Assimp::LogStream *)stream->user == DefaultStream) {
40+
+ DefaultStream = nullptr;
41+
+ }
42+
+
43+
gActiveLogStreams.erase(it);
44+
45+
if (gActiveLogStreams.empty()) {
46+
diff --git a/fuzz/assimp_fuzzer.cc b/fuzz/assimp_fuzzer.cc
47+
index 8178674..91ffd9d 100644
48+
--- a/fuzz/assimp_fuzzer.cc
49+
+++ b/fuzz/assimp_fuzzer.cc
50+
@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51+
using namespace Assimp;
52+
53+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataSize) {
54+
- aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL);
55+
+ aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr);
56+
aiAttachLogStream(&stream);
57+
58+
Importer importer;
59+
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
60+
index 7b7fd85..1a45ada 100644
61+
--- a/test/CMakeLists.txt
62+
+++ b/test/CMakeLists.txt
63+
@@ -100,6 +100,7 @@ SET( COMMON
64+
unit/Common/utBase64.cpp
65+
unit/Common/utHash.cpp
66+
unit/Common/utBaseProcess.cpp
67+
+ unit/Common/utLogger.cpp
68+
)
69+
70+
SET(Geometry
71+
diff --git a/test/unit/Common/utLogger.cpp b/test/unit/Common/utLogger.cpp
72+
new file mode 100644
73+
index 0000000..932240a
74+
--- /dev/null
75+
+++ b/test/unit/Common/utLogger.cpp
76+
@@ -0,0 +1,52 @@
77+
+/*
78+
+---------------------------------------------------------------------------
79+
+Open Asset Import Library (assimp)
80+
+---------------------------------------------------------------------------
81+
+
82+
+Copyright (c) 2006-2024, assimp team
83+
+
84+
+All rights reserved.
85+
+
86+
+Redistribution and use of this software in source and binary forms,
87+
+with or without modification, are permitted provided that the following
88+
+conditions are met:
89+
+
90+
+* Redistributions of source code must retain the above
91+
+copyright notice, this list of conditions and the
92+
+following disclaimer.
93+
+
94+
+* Redistributions in binary form must reproduce the above
95+
+copyright notice, this list of conditions and the
96+
+following disclaimer in the documentation and/or other
97+
+materials provided with the distribution.
98+
+
99+
+* Neither the name of the assimp team, nor the names of its
100+
+contributors may be used to endorse or promote products
101+
+derived from this software without specific prior
102+
+written permission of the assimp team.
103+
+
104+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
105+
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
106+
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
107+
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
108+
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
109+
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
110+
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
111+
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
112+
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
113+
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
114+
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
115+
+---------------------------------------------------------------------------
116+
+*/
117+
+
118+
+#include "UnitTestPCH.h"
119+
+#include <assimp/Importer.hpp>
120+
+
121+
+using namespace Assimp;
122+
+class utLogger : public ::testing::Test {};
123+
+
124+
+TEST_F(utLogger, aiGetPredefinedLogStream_leak_test) {
125+
+ aiLogStream stream1 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr);
126+
+ aiLogStream stream2 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr);
127+
+ ASSERT_EQ(stream1.callback, stream2.callback);
128+
+}

recipes/boost/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def package(self):
112112

113113
def package_info(self):
114114
self.cpp_info.set_property("cpe", "cpe:2.3:a:boost:boost:*:*:*:*:*:*:*:*")
115-
self.cpp_info.set_property("base_purl", "github/boostorg/boost")
115+
self.cpp_info.set_property("purl", f"pkg:github/boostorg/boost@boost-{self.version}")
116116
self.cpp_info.set_property("cmake_file_name", "Boost")
117117
self.cpp_info.set_property("cmake_target_name", "Boost::boost")
118118

recipes/brotli/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def package(self):
6060

6161
def package_info(self):
6262
self.cpp_info.set_property("cpe", "cpe:2.3:a:google:brotli:*:*:*:*:*:*:*:*")
63-
self.cpp_info.set_property("base_purl", "github/google/brotli")
63+
self.cpp_info.set_property("purl", f"pkg:github/google/brotli@v{self.version}")
6464

6565
incdir = os.path.join("include", "brotli")
6666
suffix = '_d' if self.settings.build_type == 'Debug' else ''

recipes/bzip2/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def _module_file_rel_path(self):
7373

7474
def package_info(self):
7575
self.cpp_info.set_property("cpe", "cpe:2.3:a:bzip:bzip2:*:*:*:*:*:*:*:*")
76-
self.cpp_info.set_property("base_purl", "github/libarchive/bzip2")
76+
self.cpp_info.set_property("purl", f"pkg:github/libarchive/bzip2@bzip2-{self.version}")
7777
self.cpp_info.set_property("cmake_find_mode", "both")
7878
self.cpp_info.set_property("cmake_file_name", "BZip2")
7979
self.cpp_info.set_property("cmake_target_name", "BZip2::BZip2")

recipes/c-blosc/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def package(self):
9696

9797
def package_info(self):
9898
# self.cpp_info.set_property("cpe", "") # No CPE for c-blosc yet (there is one for c-blosc2)!
99-
self.cpp_info.set_property("base_purl", "github/Blosc/c-blosc")
99+
self.cpp_info.set_property("purl", f"pkg:github/Blosc/c-blosc@v{self.version}")
100100
self.cpp_info.set_property("pkg_config_name", "blosc")
101101
self.cpp_info.libs = collect_libs(self)
102102
if self.settings.os == "Linux":

recipes/cdt/conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ def package(self):
3232

3333
def package_info(self):
3434
# self.cpp_info.set_property("cpe", "") # No CPE yet?
35-
self.cpp_info.set_property("base_purl", "github/artem-ogre/CDT")
35+
self.cpp_info.set_property("purl", f"pkg:github/artem-ogre/CDT@{self.version}")

0 commit comments

Comments
 (0)