From d22c6d6356ce8a6557a245541e66382f400e17eb Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 13 Dec 2023 13:58:51 -0600 Subject: [PATCH 01/21] RHEL 9 fixes: revert patch macros and GCC warning suppression --- assimp.spec | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/assimp.spec b/assimp.spec index d6d4485..94ea25e 100644 --- a/assimp.spec +++ b/assimp.spec @@ -126,16 +126,15 @@ rm -r contrib/rapidjson rm -r contrib/stb rm -r contrib/utf8cpp -%patch 0 -p1 -b .unbundle -%patch 1 -p1 -b .pythonpath -%patch 2 -p1 -b .nozlib -%patch 3 -p1 -b .doxyfile -%patch 4 -p0 -b .tests +%patch0 -p1 -b .unbundle +%patch1 -p1 -b .pythonpath +%patch2 -p1 -b .nozlib +%patch3 -p1 -b .doxyfile +%patch4 -p0 -b .tests mv contrib/openddlparser/LICENSE contrib/openddlparser/LICENSE.openddlparser %build -%global optflags %(echo %{optflags} -Wno-error=dangling-reference) %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DASSIMP_LIB_INSTALL_DIR=%{_lib} \ From 98ede03e7c0ac0740735c6b3ee34a210df1c9e83 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 3 Jan 2024 12:59:12 -0600 Subject: [PATCH 02/21] Add pugixml and poly2tri devel dependencies to assimp-devel --- assimp.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index d6d4485..93525de 100644 --- a/assimp.spec +++ b/assimp.spec @@ -3,7 +3,7 @@ Name: assimp Version: 5.2.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -89,6 +89,8 @@ to these applications. %package devel Summary: Header files and libraries for assimp Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: poly2tri-devel +Requires: pugixml-devel %description devel This package contains the header files and libraries @@ -197,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jan 03 2024 Scott K Logan - 5.2.5-2 +- Add pugixml and poly2tri devel dependencies to assimp-devel + * Fri Nov 24 2023 Rich Mattes - 5.2.5-1 - Add check section and fix ctest configuration From e20962cbb7b78168b3cb826792d52bdcdaf58ff3 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 3 Jan 2024 12:59:12 -0600 Subject: [PATCH 03/21] Add pugixml and poly2tri devel dependencies to assimp-devel --- assimp.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 94ea25e..c6dd365 100644 --- a/assimp.spec +++ b/assimp.spec @@ -3,7 +3,7 @@ Name: assimp Version: 5.2.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -89,6 +89,8 @@ to these applications. %package devel Summary: Header files and libraries for assimp Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: poly2tri-devel +Requires: pugixml-devel %description devel This package contains the header files and libraries @@ -196,6 +198,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jan 03 2024 Scott K Logan - 5.2.5-2 +- Add pugixml and poly2tri devel dependencies to assimp-devel + * Fri Nov 24 2023 Rich Mattes - 5.2.5-1 - Add check section and fix ctest configuration From a47b41f26d50e7e0387b883b2ac36bd62fee0c48 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 13:45:25 +0000 Subject: [PATCH 04/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 93525de..8b35133 100644 --- a/assimp.spec +++ b/assimp.spec @@ -3,7 +3,7 @@ Name: assimp Version: 5.2.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 5.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jan 03 2024 Scott K Logan - 5.2.5-2 - Add pugixml and poly2tri devel dependencies to assimp-devel From e5e96945e254f0845c59a19043a1a596566bd870 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 23:40:56 +0000 Subject: [PATCH 05/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 8b35133..aceead6 100644 --- a/assimp.spec +++ b/assimp.spec @@ -3,7 +3,7 @@ Name: assimp Version: 5.2.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 5.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 5.2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 5ef27d009c9b94ecfbc81e4670732d903bcf8751 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 31 Mar 2024 20:58:12 -0400 Subject: [PATCH 06/21] Update to release 5.3.1 --- .gitignore | 1 + assimp-5.2.5-unbundle.patch | 338 ------------------ ....5-tests.patch => assimp-5.3.1-tests.patch | 26 +- assimp-5.3.1-unbundle.patch | 249 +++++++++++++ assimp.spec | 15 +- assimp_generate_tarball.sh | 4 +- sources | 2 +- 7 files changed, 275 insertions(+), 360 deletions(-) delete mode 100644 assimp-5.2.5-unbundle.patch rename assimp-5.2.5-tests.patch => assimp-5.3.1-tests.patch (56%) create mode 100644 assimp-5.3.1-unbundle.patch diff --git a/.gitignore b/.gitignore index ec9d09d..dd475f8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /assimp-c318d648ff73aa2e32b783709d69740ac3e8c072-free.tar.bz2 /assimp-5.0.1-free.tar.xz /assimp-5.2.5-free.tar.xz +/assimp-5.3.1-free.tar.xz diff --git a/assimp-5.2.5-unbundle.patch b/assimp-5.2.5-unbundle.patch deleted file mode 100644 index 3054e65..0000000 --- a/assimp-5.2.5-unbundle.patch +++ /dev/null @@ -1,338 +0,0 @@ ---- ./CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./CMakeLists.txt 2021-09-11 12:22:08.270359054 -0400 - MESSAGE( STATUS "Build an import-only version of Assimp." ) - ENDIF() - -+# Search for poly2tri -+FIND_LIBRARY(POLY2TRI_LIB poly2tri HINTS ${POLY2TRI_LIB_PATH}) -+FIND_FILE(POLY2TRI_H poly2tri.h PATHS ${POLY2TRI_INCLUDE_PATH}) -+IF (POLY2TRI_LIB AND POLY2TRI_H) -+ message(status "Found External poly2tri") -+ SET(HAVE_POLY2TRI true) -+ELSE(POLY2TRI_LIB AND POLY2TRI_H) -+ SET(HAVE_POLY2TRI false) -+ENDIF(POLY2TRI_LIB AND POLY2TRI_H) -+ -+# Search for clipper -+FIND_LIBRARY(CLIPPER_LIB polyclipping HINTS ${CLIPPER_LIB_PATH}) -+FIND_FILE(CLIPPER_H clipper.hpp PATHS ${CLIPPER_INCLUDE_PATH}) -+IF (CLIPPER_LIB AND CLIPPER_H) -+ message(status "Found External clipper") -+ SET(HAVE_CLIPPER true) -+ELSE(CLIPPER_LIB AND CLIPPER_H) -+ SET(HAVE_CLIPPER false) -+ENDIF(CLIPPER_LIB AND CLIPPER_H) -+ -+ - SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING - "describe the current architecture." - ) ---- ./code/AssetLib/Blender/BlenderTessellator.h.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/Blender/BlenderTessellator.h 2021-09-11 12:22:08.271359063 -0400 -@@ -144,11 +144,7 @@ namespace Assimp - - #if ASSIMP_BLEND_WITH_POLY_2_TRI - --#ifdef ASSIMP_USE_HUNTER - # include --#else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --#endif - - namespace Assimp - { ---- ./code/CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/CMakeLists.txt 2021-09-11 12:22:08.271359063 -0400 -@@ -902,12 +902,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() -- SET( Pugixml_SRCS -- ../contrib/pugixml/src/pugiconfig.hpp -- ../contrib/pugixml/src/pugixml.hpp -- ) -- INCLUDE_DIRECTORIES("../contrib/pugixml/src") -- SOURCE_GROUP( Contrib\\Pugixml FILES ${Pugixml_SRCS}) -+ find_package(pugixml REQUIRED) - ENDIF() - - # utf8 -@@ -915,7 +910,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() -- # utf8 is header-only, so Assimp doesn't need to do anything. -+ find_package(utf8cpp) - ENDIF() - - # polyclipping -@@ -923,11 +918,11 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) - ELSE() -- SET( Clipper_SRCS -- ../contrib/clipper/clipper.hpp -- ../contrib/clipper/clipper.cpp -- ) -- SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) -+ SET( Clipper_SRCS -+ ../contrib/clipper/clipper.hpp -+ ../contrib/clipper/clipper.cpp -+ ) -+ SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) - ENDIF() - - # poly2tri -@@ -935,20 +930,25 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) - ELSE() -- SET( Poly2Tri_SRCS -- ../contrib/poly2tri/poly2tri/common/shapes.cc -- ../contrib/poly2tri/poly2tri/common/shapes.h -- ../contrib/poly2tri/poly2tri/common/utils.h -- ../contrib/poly2tri/poly2tri/sweep/advancing_front.h -- ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc -- ../contrib/poly2tri/poly2tri/sweep/cdt.cc -- ../contrib/poly2tri/poly2tri/sweep/cdt.h -- ../contrib/poly2tri/poly2tri/sweep/sweep.cc -- ../contrib/poly2tri/poly2tri/sweep/sweep.h -- ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc -- ../contrib/poly2tri/poly2tri/sweep/sweep_context.h -- ) -- SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) -+ if (HAVE_POLY2TRI) -+ include_directories(${POLY2TRI_INCLUDE_PATH}) -+ set(Poly2Tri_SRCS "") -+ elseif(HAVE_POLY2TRI) -+ SET( Poly2Tri_SRCS -+ ../contrib/poly2tri/poly2tri/common/shapes.cc -+ ../contrib/poly2tri/poly2tri/common/shapes.h -+ ../contrib/poly2tri/poly2tri/common/utils.h -+ ../contrib/poly2tri/poly2tri/sweep/advancing_front.h -+ ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc -+ ../contrib/poly2tri/poly2tri/sweep/cdt.cc -+ ../contrib/poly2tri/poly2tri/sweep/cdt.h -+ ../contrib/poly2tri/poly2tri/sweep/sweep.cc -+ ../contrib/poly2tri/poly2tri/sweep/sweep.h -+ ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc -+ ../contrib/poly2tri/poly2tri/sweep/sweep_context.h -+ ) -+ SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) -+ endif(HAVE_POLY2TRI) - ENDIF() - - # minizip/unzip -@@ -956,15 +956,20 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(minizip) - find_package(minizip CONFIG REQUIRED) - ELSE() -- SET( unzip_SRCS -- ../contrib/unzip/crypt.c -- ../contrib/unzip/crypt.h -- ../contrib/unzip/ioapi.c -- ../contrib/unzip/ioapi.h -- ../contrib/unzip/unzip.c -- ../contrib/unzip/unzip.h -- ) -- SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) -+ #if (MINIZIP_FOUND) -+ # SET( unzip_SRCS "") -+ # INCLUDE_DIRECTORIES(${MINIZIP_INCLUDE_DIRS}) -+ #elseif(MINIZIP_FOUND) -+ SET( unzip_SRCS -+ ../contrib/unzip/crypt.c -+ ../contrib/unzip/crypt.h -+ ../contrib/unzip/ioapi.c -+ ../contrib/unzip/ioapi.h -+ ../contrib/unzip/unzip.c -+ ../contrib/unzip/unzip.h -+ ) -+ SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) -+ #endif(HAVE_MINIZIP) - ENDIF() - - # zip (https://github.com/kuba--/zip) -@@ -1061,6 +1066,7 @@ ENDIF () - IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) - SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) - ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) -+ INCLUDE_DIRECTORIES( "../contrib" ) - ELSE () - SET (open3dgc_SRCS "") - MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.") -@@ -1072,7 +1078,8 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") -+ find_package(RapidJSON REQUIRED) -+ include_directories(${RapidJSON_INCLUDE_DIRS}) - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) - if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1085,11 +1092,6 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(stb) - find_package(stb CONFIG REQUIRED) - ELSE() -- SET( stb_SRCS -- ../contrib/stb/stb_image.h -- ) -- INCLUDE_DIRECTORIES("../contrib") -- SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) - ENDIF() - - # VC2010 fixes -@@ -1209,7 +1211,7 @@ IF(ASSIMP_HUNTER_ENABLED) - polyclipping::polyclipping - openddlparser::openddl_parser - poly2tri::poly2tri -- minizip::minizip -+ #minizip::minizip - ZLIB::zlib - RapidJSON::rapidjson - utf8cpp -@@ -1228,6 +1230,16 @@ ELSE() - if (ASSIMP_BUILD_DRACO) - target_link_libraries(assimp ${draco_LIBRARIES}) - endif() -+ -+ TARGET_LINK_LIBRARIES(assimp pugixml) -+ -+ IF (HAVE_POLY2TRI) -+ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) -+ ENDIF() -+ -+ IF (HAVE_CLIPPER) -+ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) -+ ENDIF() - ENDIF() - - if(ASSIMP_ANDROID_JNIIOSYSTEM) ---- ./code/Common/BaseImporter.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Common/BaseImporter.cpp 2021-09-11 12:22:08.272359072 -0400 -@@ -331,11 +331,7 @@ std::string BaseImporter::GetExtension(const std::string &file) { - return false; - } - --#ifdef ASSIMP_USE_HUNTER - #include --#else --#include "../contrib/utf8cpp/source/utf8.h" --#endif - - // ------------------------------------------------------------------------------------------------ - // Convert to UTF8 data ---- ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/IFC/IFCGeometry.cpp 2021-09-11 12:22:08.272359072 -0400 -@@ -49,13 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" - --#ifdef ASSIMP_USE_HUNTER --# include --# include --#else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" --#endif -+#include -+#include <../contrib/clipper/clipper.hpp> - - #include - #include ---- ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/IFC/IFCOpenings.cpp 2021-09-11 12:22:08.273359081 -0400 -@@ -49,13 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" - --#ifdef ASSIMP_USE_HUNTER --# include --# include --#else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" --# include "../contrib/clipper/clipper.hpp" --#endif -+#include -+#include <../contrib/clipper/clipper.hpp> - - #include - #include ---- ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/STEPParser/STEPFileEncoding.cpp 2021-09-11 12:22:08.273359081 -0400 -@@ -45,11 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - */ - #include "STEPFileEncoding.h" - #include --#ifdef ASSIMP_USE_HUNTER --# include --#else --# include --#endif -+#include - - #include - ---- ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/MMD/MMDPmxParser.cpp 2021-09-11 12:22:08.273359081 -0400 -@@ -42,11 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include - #include "MMDPmxParser.h" - #include --#ifdef ASSIMP_USE_HUNTER --# include --#else --# include "../contrib/utf8cpp/source/utf8.h" --#endif -+#include - #include - - namespace pmx ---- ./code/AssetLib/SIB/SIBImporter.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/AssetLib/SIB/SIBImporter.cpp 2021-09-11 12:22:08.274359089 -0400 -@@ -56,11 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include - #include - #include --#ifdef ASSIMP_USE_HUNTER - #include --#else --#include "../contrib/utf8cpp/source/utf8.h" --#endif - #include - #include - #include ---- ./code/AssetLib/glTF2/glTF2Asset.inl.unbundle 2021-11-13 00:30:32.000000000 -0800 -+++ ./code/AssetLib/glTF2/glTF2Asset.inl 2022-11-11 11:02:25.220173286 -0800 -@@ -46,6 +46,8 @@ - #include - #include - -+#include -+ - // clang-format off - #ifdef ASSIMP_ENABLE_DRACO - ---- ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle 2021-09-11 12:47:39.249727225 -0400 -+++ ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2021-09-11 12:22:39.456631581 -0400 -@@ -23,7 +23,7 @@ - #endif // _MSC_VER - - #define STB_IMAGE_IMPLEMENTATION --#include "contrib/stb/stb_image.h" -+#include "stb_image.h" - - #ifdef _MSC_VER - #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' ---- ./test/unit/utglTF2ImportExport.cpp.unbundle 2021-11-13 00:30:32.000000000 -0800 -+++ ./test/unit/utglTF2ImportExport.cpp 2022-11-11 11:01:44.595630077 -0800 -@@ -787,7 +787,7 @@ - rapidjson::Document schemaDoc; - schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); - EXPECT_FALSE(schemaDoc.HasParseError()); -- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast(m_schemaName.size()), this)); -+ m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, this)); - } - - const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override { diff --git a/assimp-5.2.5-tests.patch b/assimp-5.3.1-tests.patch similarity index 56% rename from assimp-5.2.5-tests.patch rename to assimp-5.3.1-tests.patch index 956336c..0be1e8f 100644 --- a/assimp-5.2.5-tests.patch +++ b/assimp-5.3.1-tests.patch @@ -1,16 +1,16 @@ diff -up ./CMakeLists.txt.tests ./CMakeLists.txt ---- ./CMakeLists.txt.tests 2022-09-08 14:13:43.000000000 -0400 -+++ ./CMakeLists.txt 2023-11-23 23:51:52.739981462 -0500 -@@ -56,7 +56,7 @@ IF(ASSIMP_HUNTER_ENABLED) +--- ./CMakeLists.txt.tests 2023-09-25 10:46:51.000000000 -0400 ++++ ./CMakeLists.txt 2024-03-31 20:49:21.960500757 -0400 +@@ -55,7 +55,7 @@ IF(ASSIMP_HUNTER_ENABLED) add_definitions(-DASSIMP_USE_HUNTER) ENDIF() --PROJECT(Assimp VERSION 5.2.4) -+PROJECT(Assimp VERSION 5.2.5) +-PROJECT(Assimp VERSION 5.3.0) ++PROJECT(Assimp VERSION 5.3.1) # All supported options ############################################### -@@ -715,6 +715,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) +@@ -725,6 +725,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) ENDIF () IF ( ASSIMP_BUILD_TESTS ) @@ -19,8 +19,8 @@ diff -up ./CMakeLists.txt.tests ./CMakeLists.txt ENDIF () diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt ---- ./test/CMakeLists.txt.tests 2022-09-08 14:13:43.000000000 -0400 -+++ ./test/CMakeLists.txt 2023-11-23 23:51:52.739981462 -0500 +--- ./test/CMakeLists.txt.tests 2023-09-25 10:46:51.000000000 -0400 ++++ ./test/CMakeLists.txt 2024-03-31 20:48:33.624049363 -0400 @@ -36,6 +36,7 @@ # #---------------------------------------------------------------------- @@ -29,21 +29,21 @@ diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt INCLUDE_DIRECTORIES( ${Assimp_SOURCE_DIR}/test/unit -@@ -267,4 +268,4 @@ target_link_libraries( unit assimp ${pla +@@ -281,4 +282,4 @@ target_link_libraries( unit assimp ${pla add_subdirectory(headercheck) -add_test( unittests unit ) +gtest_discover_tests(unit) diff -up ./test/unit/utVersion.cpp.tests ./test/unit/utVersion.cpp ---- ./test/unit/utVersion.cpp.tests 2023-11-23 23:52:48.048239100 -0500 -+++ ./test/unit/utVersion.cpp 2023-11-23 23:53:04.050313640 -0500 +--- ./test/unit/utVersion.cpp.tests 2024-03-31 20:48:33.624049363 -0400 ++++ ./test/unit/utVersion.cpp 2024-03-31 20:50:08.025156444 -0400 @@ -61,7 +61,7 @@ TEST_F( utVersion, aiGetVersionMajorTest } TEST_F( utVersion, aiGetVersionPatchTest ) { -- EXPECT_EQ(aiGetVersionPatch(), 4U ); -+ EXPECT_EQ(aiGetVersionPatch(), 5U ); +- EXPECT_EQ(aiGetVersionPatch(), 0U ); ++ EXPECT_EQ(aiGetVersionPatch(), 1U ); } TEST_F( utVersion, aiGetCompileFlagsTest ) { diff --git a/assimp-5.3.1-unbundle.patch b/assimp-5.3.1-unbundle.patch new file mode 100644 index 0000000..27e6853 --- /dev/null +++ b/assimp-5.3.1-unbundle.patch @@ -0,0 +1,249 @@ +diff -up ./code/AssetLib/Blender/BlenderTessellator.h.unbundle ./code/AssetLib/Blender/BlenderTessellator.h +--- ./code/AssetLib/Blender/BlenderTessellator.h.unbundle 2024-03-31 20:36:05.293864981 -0400 ++++ ./code/AssetLib/Blender/BlenderTessellator.h 2024-03-31 20:38:26.958995165 -0400 +@@ -143,7 +143,7 @@ namespace Assimp + + #if ASSIMP_BLEND_WITH_POLY_2_TRI + +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + + namespace Assimp + { +diff -up ./code/AssetLib/glTF2/glTF2Asset.inl.unbundle ./code/AssetLib/glTF2/glTF2Asset.inl +diff -up ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle ./code/AssetLib/IFC/IFCGeometry.cpp +--- ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle 2024-03-31 20:36:05.294864983 -0400 ++++ ./code/AssetLib/IFC/IFCGeometry.cpp 2024-03-31 20:37:34.819951544 -0400 +@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + #include "contrib/clipper/clipper.hpp" + + #include +diff -up ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle ./code/AssetLib/IFC/IFCOpenings.cpp +--- ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle 2024-03-31 20:36:05.295864985 -0400 ++++ ./code/AssetLib/IFC/IFCOpenings.cpp 2024-03-31 20:38:37.290002919 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + #include "contrib/clipper/clipper.hpp" + + #include +diff -up ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle ./code/AssetLib/MMD/MMDPmxParser.cpp +--- ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./code/AssetLib/MMD/MMDPmxParser.cpp 2024-03-31 20:36:05.295864985 -0400 +@@ -42,11 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + #include "MMDPmxParser.h" + #include +-#ifdef ASSIMP_USE_HUNTER +-# include +-#else +-# include "../contrib/utf8cpp/source/utf8.h" +-#endif ++#include + #include + + namespace pmx +diff -up ./code/AssetLib/SIB/SIBImporter.cpp.unbundle ./code/AssetLib/SIB/SIBImporter.cpp +--- ./code/AssetLib/SIB/SIBImporter.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./code/AssetLib/SIB/SIBImporter.cpp 2024-03-31 20:36:05.296864986 -0400 +@@ -56,11 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + #include + #include +-#ifdef ASSIMP_USE_HUNTER + #include +-#else +-#include "../contrib/utf8cpp/source/utf8.h" +-#endif + #include + #include + #include +diff -up ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle ./code/AssetLib/STEPParser/STEPFileEncoding.cpp +--- ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./code/AssetLib/STEPParser/STEPFileEncoding.cpp 2024-03-31 20:36:05.295864985 -0400 +@@ -45,11 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + */ + #include "STEPFileEncoding.h" + #include +-#ifdef ASSIMP_USE_HUNTER +-# include +-#else +-# include +-#endif ++#include + + #include + +diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt +--- ./code/CMakeLists.txt.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./code/CMakeLists.txt 2024-03-31 20:41:45.135187104 -0400 +@@ -910,12 +910,7 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(pugixml) + find_package(pugixml CONFIG REQUIRED) + ELSE() +- SET( Pugixml_SRCS +- ../contrib/pugixml/src/pugiconfig.hpp +- ../contrib/pugixml/src/pugixml.hpp +- ) +- INCLUDE_DIRECTORIES("../contrib/pugixml/src") +- SOURCE_GROUP( Contrib\\Pugixml FILES ${Pugixml_SRCS}) ++ find_package(pugixml REQUIRED) + ENDIF() + + # utf8 +@@ -923,7 +918,7 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(utf8) + find_package(utf8cpp CONFIG REQUIRED) + ELSE() +- # utf8 is header-only, so Assimp doesn't need to do anything. ++ find_package(utf8cpp) + ENDIF() + + # polyclipping +@@ -939,10 +934,10 @@ ENDIF() + #ENDIF() + + # poly2tri +-#IF(ASSIMP_HUNTER_ENABLED) +-# hunter_add_package(poly2tri) +-# find_package(poly2tri CONFIG REQUIRED) +-#ELSE() ++IF(HAVE_POLY2TRI) ++ include_directories(${POLY2TRI_INCLUDE_PATH}) ++ set(Poly2Tri_SRCS "") ++ELSE() + SET( Poly2Tri_SRCS + ../contrib/poly2tri/poly2tri/common/shapes.cc + ../contrib/poly2tri/poly2tri/common/shapes.h +@@ -957,13 +952,13 @@ ENDIF() + ../contrib/poly2tri/poly2tri/sweep/sweep_context.h + ) + SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) +-#ENDIF() ++ENDIF() + + # minizip/unzip +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(minizip) +- find_package(minizip CONFIG REQUIRED) +-ELSE() ++#IF(ASSIMP_HUNTER_ENABLED) ++# hunter_add_package(minizip) ++# find_package(minizip CONFIG REQUIRED) ++#ELSE() + SET( unzip_SRCS + ../contrib/unzip/crypt.h + ../contrib/unzip/ioapi.c +@@ -972,7 +967,7 @@ ELSE() + ../contrib/unzip/unzip.h + ) + SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) +-ENDIF() ++#ENDIF() + + # zip (https://github.com/kuba--/zip) + separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) +@@ -1068,6 +1063,7 @@ ENDIF () + IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) + SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) + ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) ++ INCLUDE_DIRECTORIES( "../contrib" ) + ELSE () + SET (open3dgc_SRCS "") + MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.") +@@ -1079,7 +1075,8 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(RapidJSON) + find_package(RapidJSON CONFIG REQUIRED) + ELSE() +- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") ++ find_package(RapidJSON REQUIRED) ++ include_directories(${RapidJSON_INCLUDE_DIRS}) + ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) + option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) + if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) +@@ -1092,11 +1089,6 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(stb) + find_package(stb CONFIG REQUIRED) + ELSE() +- SET( stb_SRCS +- ../contrib/stb/stb_image.h +- ) +- INCLUDE_DIRECTORIES("../contrib") +- SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) + ENDIF() + + # VC2010 fixes +@@ -1269,8 +1261,7 @@ IF(ASSIMP_HUNTER_ENABLED) + PUBLIC + #polyclipping::polyclipping + openddlparser::openddl_parser +- #poly2tri::poly2tri +- minizip::minizip ++ poly2tri::poly2tri + ZLIB::zlib + RapidJSON::rapidjson + utf8cpp +@@ -1289,6 +1280,16 @@ ELSE() + if (ASSIMP_BUILD_DRACO) + target_link_libraries(assimp ${draco_LIBRARIES}) + endif() ++ ++ TARGET_LINK_LIBRARIES(assimp pugixml) ++ ++ IF (HAVE_POLY2TRI) ++ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) ++ ENDIF() ++ ++ IF (HAVE_CLIPPER) ++ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) ++ ENDIF() + ENDIF() + + if(ASSIMP_ANDROID_JNIIOSYSTEM) +diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp +--- ./code/Common/BaseImporter.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./code/Common/BaseImporter.cpp 2024-03-31 20:36:05.294864983 -0400 +@@ -357,11 +357,7 @@ std::string BaseImporter::GetExtension(c + return false; + } + +-#ifdef ASSIMP_USE_HUNTER + #include +-#else +-#include "../contrib/utf8cpp/source/utf8.h" +-#endif + + // ------------------------------------------------------------------------------------------------ + // Convert to UTF8 data +diff -up ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp +--- ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2024-03-31 20:36:05.297864988 -0400 +@@ -23,7 +23,7 @@ + #endif // _MSC_VER + + #define STB_IMAGE_IMPLEMENTATION +-#include "contrib/stb/stb_image.h" ++#include "stb_image.h" + + #ifdef _MSC_VER + #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' +diff -up ./test/unit/utglTF2ImportExport.cpp.unbundle ./test/unit/utglTF2ImportExport.cpp +--- ./test/unit/utglTF2ImportExport.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 ++++ ./test/unit/utglTF2ImportExport.cpp 2024-03-31 20:36:05.297864988 -0400 +@@ -805,7 +805,7 @@ namespace { + rapidjson::Document schemaDoc; + schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); + EXPECT_FALSE(schemaDoc.HasParseError()); +- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast(m_schemaName.size()), this)); ++ m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, this)); + } + + const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override { diff --git a/assimp.spec b/assimp.spec index aceead6..958a2a1 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,9 +1,8 @@ -%undefine __cmake_in_source_build %define soversion 5 Name: assimp -Version: 5.2.5 -Release: 4%{?dist} +Version: 5.3.1 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -23,15 +22,15 @@ Source0: %{name}-%{version}-free.tar.xz Source1: assimp_generate_tarball.sh # Un-bundle libraries that are provided by the distribution. -Patch0: %{name}-5.2.5-unbundle.patch +Patch0: %{name}-5.3.1-unbundle.patch # Add /usr/lib64 to library lookup paths for python modules Patch1: %{name}-5.1.0-pythonpath.patch # Prevent export of bundled zlibstatic library Patch2: %{name}-5.2.5-nozlib.patch # Exclude the build directory from the doxygen-generated documentation Patch3: %{name}-5.1.0-doxyfile.patch -# Enable ctest -Patch4: %{name}-5.2.5-tests.patch +# Enable ctest and correct the project version +Patch4: %{name}-5.3.1-tests.patch BuildRequires: boost-devel BuildRequires: cmake @@ -199,6 +198,10 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Sun Mar 31 2024 Rich Mattes - 5.3.1-1 +- Update to release 5.3.1 +- Resolves: rhbz#2256587 + * Mon Jan 22 2024 Fedora Release Engineering - 5.2.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index d29700c..2542a8d 100755 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,5 +1,5 @@ #!/bin/bash -RELEASE=5.2.5 +RELEASE=5.3.1 if [ ! -f assimp-$RELEASE.tar.gz ]; then wget https://github.com/assimp/assimp/archive/v$RELEASE/assimp-$RELEASE.tar.gz @@ -15,4 +15,4 @@ find ./ -name "*.dll" -exec git rm -r {} \; rm -r test/models-nonbsd cd .. -tar czf assimp-5.2.5-free.tar.xz assimp-$RELEASE +tar czf assimp-$RELEASE-free.tar.xz assimp-$RELEASE diff --git a/sources b/sources index 94eb3ce..be1a1ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (assimp-5.2.5-free.tar.xz) = 83f4b3fe97f6fb3f119748908b9bb09a5e0dec509fc70823e3974848c1e9e8d0596d73cbafd779ab956d8dc2d92047b593ca1be213db27ec65002e1d7b6f542c +SHA512 (assimp-5.3.1-free.tar.xz) = 480ef268a811bf575fe20e6514666dd854c23923a841f8caac4edde1338eda774de84d0425ba1e41897f613d16ca2fb0b7d625c51c1777d2b21a090306b6db9c From 8cd41a561830952592a76b6987f8ba5c8cc5aba4 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jun 2024 01:38:30 +0200 Subject: [PATCH 07/21] Rebuilt for Python 3.13 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 958a2a1..252304c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -198,6 +198,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Sat Jun 08 2024 Python Maint - 5.3.1-2 +- Rebuilt for Python 3.13 + * Sun Mar 31 2024 Rich Mattes - 5.3.1-1 - Update to release 5.3.1 - Resolves: rhbz#2256587 From 49901f8079a3c4b2b911aca8cbdec1422e814d7c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 17:39:51 +0000 Subject: [PATCH 08/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 252304c..99bb4d1 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -198,6 +198,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 5.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jun 08 2024 Python Maint - 5.3.1-2 - Rebuilt for Python 3.13 From b3fa9c1d57884d757f65e543c72343a06baf3f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 28 Aug 2024 08:01:17 +0200 Subject: [PATCH 09/21] convert license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- assimp.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/assimp.spec b/assimp.spec index 99bb4d1..15d4b23 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.3.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -13,7 +13,8 @@ Summary: Library to import various 3D model formats into applications # Bundled contrib/unzip is zlib # Bundled contrib/zip is unlicense # Bundled contrib/zlib is zlib -License: BSD and MIT and Boost and Unlicense and zlib +# Automatically converted from old format: BSD and MIT and Boost and Unlicense and zlib - review is highly recommended. +License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND BSL-1.0 AND Unlicense AND Zlib URL: https://github.com/assimp/assimp # Github releases include nonfree models, source tarball must be re-generated @@ -198,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Aug 28 2024 Miroslav Suchý - 5.3.1-4 +- convert license to SPDX + * Wed Jul 17 2024 Fedora Release Engineering - 5.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 3a42df86a27583011f6a6499f0e2b278f89c99c2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:48:12 +0000 Subject: [PATCH 10/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 15d4b23..61961af 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.3.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 5.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Aug 28 2024 Miroslav Suchý - 5.3.1-4 - convert license to SPDX From 80fe326abc1b83d0e060073bcee2334306b18ea4 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 15 Mar 2025 21:24:29 -0400 Subject: [PATCH 11/21] Update to release 5.4.3 Resolves: #2274012 --- .gitignore | 1 + assimp.spec | 16 ++++++++++------ assimp_generate_tarball.sh | 2 +- sources | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index dd475f8..a08b038 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /assimp-5.0.1-free.tar.xz /assimp-5.2.5-free.tar.xz /assimp-5.3.1-free.tar.xz +/assimp-5.4.3-free.tar.xz diff --git a/assimp.spec b/assimp.spec index 61961af..61f1732 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,8 +1,8 @@ %define soversion 5 Name: assimp -Version: 5.3.1 -Release: 5%{?dist} +Version: 5.4.3 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -23,15 +23,15 @@ Source0: %{name}-%{version}-free.tar.xz Source1: assimp_generate_tarball.sh # Un-bundle libraries that are provided by the distribution. -Patch0: %{name}-5.3.1-unbundle.patch +Patch0: %{name}-5.4.3-unbundle.patch # Add /usr/lib64 to library lookup paths for python modules Patch1: %{name}-5.1.0-pythonpath.patch # Prevent export of bundled zlibstatic library -Patch2: %{name}-5.2.5-nozlib.patch +Patch2: %{name}-5.4.3-nozlib.patch # Exclude the build directory from the doxygen-generated documentation Patch3: %{name}-5.1.0-doxyfile.patch -# Enable ctest and correct the project version -Patch4: %{name}-5.3.1-tests.patch +# Enable ctest +Patch4: %{name}-5.4.3-tests.patch BuildRequires: boost-devel BuildRequires: cmake @@ -199,6 +199,10 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Sat Mar 15 2025 Rich Mattes - 5.4.3-1 +- Update to release 5.4.3 +- Resolves: #2274012 + * Thu Jan 16 2025 Fedora Release Engineering - 5.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index 2542a8d..28f5c60 100755 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,5 +1,5 @@ #!/bin/bash -RELEASE=5.3.1 +RELEASE=5.4.3 if [ ! -f assimp-$RELEASE.tar.gz ]; then wget https://github.com/assimp/assimp/archive/v$RELEASE/assimp-$RELEASE.tar.gz diff --git a/sources b/sources index be1a1ca..ff02f8f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (assimp-5.3.1-free.tar.xz) = 480ef268a811bf575fe20e6514666dd854c23923a841f8caac4edde1338eda774de84d0425ba1e41897f613d16ca2fb0b7d625c51c1777d2b21a090306b6db9c +SHA512 (assimp-5.4.3-free.tar.xz) = 7843cb6687060a7a15b04a1383418ce5956f04c1d4f635d744cdbb0f7fcaa637e51c380c5fd24386e60b6a458b021f8a2fe11e4f4fd9d0400f5a97bdb2608c49 From 12cc8a4445f652e902ca76064367dfad835d10cf Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 15 Mar 2025 21:26:01 -0400 Subject: [PATCH 12/21] Add new patches --- assimp-5.2.5-nozlib.patch | 12 -- assimp-5.3.1-tests.patch | 49 -------- assimp-5.4.3-nozlib.patch | 12 ++ assimp-5.4.3-tests.patch | 29 +++++ ...undle.patch => assimp-5.4.3-unbundle.patch | 111 ++++-------------- 5 files changed, 67 insertions(+), 146 deletions(-) delete mode 100644 assimp-5.2.5-nozlib.patch delete mode 100644 assimp-5.3.1-tests.patch create mode 100644 assimp-5.4.3-nozlib.patch create mode 100644 assimp-5.4.3-tests.patch rename assimp-5.3.1-unbundle.patch => assimp-5.4.3-unbundle.patch (63%) diff --git a/assimp-5.2.5-nozlib.patch b/assimp-5.2.5-nozlib.patch deleted file mode 100644 index 8238036..0000000 --- a/assimp-5.2.5-nozlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr a/contrib/zlib/CMakeLists.txt b/contrib/zlib/CMakeLists.txt ---- a/contrib/zlib/CMakeLists.txt 2022-09-08 11:13:43.000000000 -0700 -+++ b/contrib/zlib/CMakeLists.txt 2023-01-17 15:29:47.187803181 -0800 -@@ -196,7 +196,7 @@ - set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) - endif(MINGW) - --add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -+add_library(zlibstatic OBJECT ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) - - INSTALL( TARGETS zlibstatic - EXPORT "${TARGETS_EXPORT_NAME}" diff --git a/assimp-5.3.1-tests.patch b/assimp-5.3.1-tests.patch deleted file mode 100644 index 0be1e8f..0000000 --- a/assimp-5.3.1-tests.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up ./CMakeLists.txt.tests ./CMakeLists.txt ---- ./CMakeLists.txt.tests 2023-09-25 10:46:51.000000000 -0400 -+++ ./CMakeLists.txt 2024-03-31 20:49:21.960500757 -0400 -@@ -55,7 +55,7 @@ IF(ASSIMP_HUNTER_ENABLED) - add_definitions(-DASSIMP_USE_HUNTER) - ENDIF() - --PROJECT(Assimp VERSION 5.3.0) -+PROJECT(Assimp VERSION 5.3.1) - - # All supported options ############################################### - -@@ -725,6 +725,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) - ENDIF () - - IF ( ASSIMP_BUILD_TESTS ) -+ ENABLE_TESTING() - ADD_SUBDIRECTORY( test/ ) - ENDIF () - -diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt ---- ./test/CMakeLists.txt.tests 2023-09-25 10:46:51.000000000 -0400 -+++ ./test/CMakeLists.txt 2024-03-31 20:48:33.624049363 -0400 -@@ -36,6 +36,7 @@ - # - #---------------------------------------------------------------------- - cmake_minimum_required( VERSION 3.10 ) -+include(GoogleTest) - - INCLUDE_DIRECTORIES( - ${Assimp_SOURCE_DIR}/test/unit -@@ -281,4 +282,4 @@ target_link_libraries( unit assimp ${pla - - add_subdirectory(headercheck) - --add_test( unittests unit ) -+gtest_discover_tests(unit) -diff -up ./test/unit/utVersion.cpp.tests ./test/unit/utVersion.cpp ---- ./test/unit/utVersion.cpp.tests 2024-03-31 20:48:33.624049363 -0400 -+++ ./test/unit/utVersion.cpp 2024-03-31 20:50:08.025156444 -0400 -@@ -61,7 +61,7 @@ TEST_F( utVersion, aiGetVersionMajorTest - } - - TEST_F( utVersion, aiGetVersionPatchTest ) { -- EXPECT_EQ(aiGetVersionPatch(), 0U ); -+ EXPECT_EQ(aiGetVersionPatch(), 1U ); - } - - TEST_F( utVersion, aiGetCompileFlagsTest ) { diff --git a/assimp-5.4.3-nozlib.patch b/assimp-5.4.3-nozlib.patch new file mode 100644 index 0000000..db914bb --- /dev/null +++ b/assimp-5.4.3-nozlib.patch @@ -0,0 +1,12 @@ +diff -up ./contrib/zlib/CMakeLists.txt.nozlib ./contrib/zlib/CMakeLists.txt +--- ./contrib/zlib/CMakeLists.txt.nozlib 2025-03-15 21:15:34.401498688 -0400 ++++ ./contrib/zlib/CMakeLists.txt 2025-03-15 21:16:59.423133391 -0400 +@@ -196,7 +196,7 @@ if(MINGW) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) + endif(MINGW) + +-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) ++add_library(zlibstatic OBJECT ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + + IF(ASSIMP_INSTALL) + INSTALL( TARGETS zlibstatic diff --git a/assimp-5.4.3-tests.patch b/assimp-5.4.3-tests.patch new file mode 100644 index 0000000..c7e5125 --- /dev/null +++ b/assimp-5.4.3-tests.patch @@ -0,0 +1,29 @@ +diff -up ./CMakeLists.txt.tests ./CMakeLists.txt +--- ./CMakeLists.txt.tests 2024-08-30 14:35:01.000000000 -0400 ++++ ./CMakeLists.txt 2025-03-15 21:17:37.690633353 -0400 +@@ -774,6 +774,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) + ENDIF () + + IF ( ASSIMP_BUILD_TESTS ) ++ ENABLE_TESTING() + ADD_SUBDIRECTORY( test/ ) + ENDIF () + +diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt +--- ./test/CMakeLists.txt.tests 2024-08-30 14:35:01.000000000 -0400 ++++ ./test/CMakeLists.txt 2025-03-15 21:17:37.690940621 -0400 +@@ -36,6 +36,7 @@ + # + #---------------------------------------------------------------------- + cmake_minimum_required( VERSION 3.10 ) ++include(GoogleTest) + + INCLUDE_DIRECTORIES( + ${Assimp_SOURCE_DIR}/test/unit +@@ -283,4 +284,4 @@ target_link_libraries( unit assimp ${pla + + add_subdirectory(headercheck) + +-add_test( unittests unit ) ++gtest_discover_tests(unit) +diff -up ./test/unit/utVersion.cpp.tests ./test/unit/utVersion.cpp diff --git a/assimp-5.3.1-unbundle.patch b/assimp-5.4.3-unbundle.patch similarity index 63% rename from assimp-5.3.1-unbundle.patch rename to assimp-5.4.3-unbundle.patch index 27e6853..538be8a 100644 --- a/assimp-5.3.1-unbundle.patch +++ b/assimp-5.4.3-unbundle.patch @@ -1,6 +1,6 @@ diff -up ./code/AssetLib/Blender/BlenderTessellator.h.unbundle ./code/AssetLib/Blender/BlenderTessellator.h ---- ./code/AssetLib/Blender/BlenderTessellator.h.unbundle 2024-03-31 20:36:05.293864981 -0400 -+++ ./code/AssetLib/Blender/BlenderTessellator.h 2024-03-31 20:38:26.958995165 -0400 +--- ./code/AssetLib/Blender/BlenderTessellator.h.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./code/AssetLib/Blender/BlenderTessellator.h 2025-03-15 21:12:11.625781244 -0400 @@ -143,7 +143,7 @@ namespace Assimp #if ASSIMP_BLEND_WITH_POLY_2_TRI @@ -10,10 +10,9 @@ diff -up ./code/AssetLib/Blender/BlenderTessellator.h.unbundle ./code/AssetLib/B namespace Assimp { -diff -up ./code/AssetLib/glTF2/glTF2Asset.inl.unbundle ./code/AssetLib/glTF2/glTF2Asset.inl diff -up ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle ./code/AssetLib/IFC/IFCGeometry.cpp ---- ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle 2024-03-31 20:36:05.294864983 -0400 -+++ ./code/AssetLib/IFC/IFCGeometry.cpp 2024-03-31 20:37:34.819951544 -0400 +--- ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./code/AssetLib/IFC/IFCGeometry.cpp 2025-03-15 21:12:11.625971442 -0400 @@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include "IFCUtil.h" #include "Common/PolyTools.h" @@ -24,8 +23,8 @@ diff -up ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle ./code/AssetLib/IFC/IFCGeo #include diff -up ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle ./code/AssetLib/IFC/IFCOpenings.cpp ---- ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle 2024-03-31 20:36:05.295864985 -0400 -+++ ./code/AssetLib/IFC/IFCOpenings.cpp 2024-03-31 20:38:37.290002919 -0400 +--- ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./code/AssetLib/IFC/IFCOpenings.cpp 2025-03-15 21:12:11.626145199 -0400 @@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include "IFCUtil.h" #include "Common/PolyTools.h" @@ -36,56 +35,12 @@ diff -up ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle ./code/AssetLib/IFC/IFCOpe #include diff -up ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle ./code/AssetLib/MMD/MMDPmxParser.cpp ---- ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./code/AssetLib/MMD/MMDPmxParser.cpp 2024-03-31 20:36:05.295864985 -0400 -@@ -42,11 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include - #include "MMDPmxParser.h" - #include --#ifdef ASSIMP_USE_HUNTER --# include --#else --# include "../contrib/utf8cpp/source/utf8.h" --#endif -+#include - #include - - namespace pmx diff -up ./code/AssetLib/SIB/SIBImporter.cpp.unbundle ./code/AssetLib/SIB/SIBImporter.cpp ---- ./code/AssetLib/SIB/SIBImporter.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./code/AssetLib/SIB/SIBImporter.cpp 2024-03-31 20:36:05.296864986 -0400 -@@ -56,11 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include - #include - #include --#ifdef ASSIMP_USE_HUNTER - #include --#else --#include "../contrib/utf8cpp/source/utf8.h" --#endif - #include - #include - #include diff -up ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle ./code/AssetLib/STEPParser/STEPFileEncoding.cpp ---- ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./code/AssetLib/STEPParser/STEPFileEncoding.cpp 2024-03-31 20:36:05.295864985 -0400 -@@ -45,11 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - */ - #include "STEPFileEncoding.h" - #include --#ifdef ASSIMP_USE_HUNTER --# include --#else --# include --#endif -+#include - - #include - diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ---- ./code/CMakeLists.txt.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./code/CMakeLists.txt 2024-03-31 20:41:45.135187104 -0400 -@@ -910,12 +910,7 @@ IF(ASSIMP_HUNTER_ENABLED) +--- ./code/CMakeLists.txt.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./code/CMakeLists.txt 2025-03-15 21:14:28.763995892 -0400 +@@ -1054,12 +1054,7 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(pugixml) find_package(pugixml CONFIG REQUIRED) ELSE() @@ -99,16 +54,16 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ENDIF() # utf8 -@@ -923,7 +918,7 @@ IF(ASSIMP_HUNTER_ENABLED) +@@ -1067,7 +1062,7 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(utf8) find_package(utf8cpp CONFIG REQUIRED) ELSE() -- # utf8 is header-only, so Assimp doesn't need to do anything. -+ find_package(utf8cpp) +- INCLUDE_DIRECTORIES("../contrib/utf8cpp/source") ++ find_package(utf8cpp CONFIG REQUIRED) ENDIF() # polyclipping -@@ -939,10 +934,10 @@ ENDIF() +@@ -1083,10 +1078,10 @@ ENDIF() #ENDIF() # poly2tri @@ -123,7 +78,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt SET( Poly2Tri_SRCS ../contrib/poly2tri/poly2tri/common/shapes.cc ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -957,13 +952,13 @@ ENDIF() +@@ -1101,13 +1096,13 @@ ENDIF() ../contrib/poly2tri/poly2tri/sweep/sweep_context.h ) SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) @@ -142,7 +97,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt SET( unzip_SRCS ../contrib/unzip/crypt.h ../contrib/unzip/ioapi.c -@@ -972,7 +967,7 @@ ELSE() +@@ -1116,7 +1111,7 @@ ELSE() ../contrib/unzip/unzip.h ) SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) @@ -151,7 +106,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt # zip (https://github.com/kuba--/zip) separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) -@@ -1068,6 +1063,7 @@ ENDIF () +@@ -1212,6 +1207,7 @@ ENDIF () IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) @@ -159,7 +114,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ELSE () SET (open3dgc_SRCS "") MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.") -@@ -1079,7 +1075,8 @@ IF(ASSIMP_HUNTER_ENABLED) +@@ -1223,7 +1219,8 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(RapidJSON) find_package(RapidJSON CONFIG REQUIRED) ELSE() @@ -169,7 +124,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1092,11 +1089,6 @@ IF(ASSIMP_HUNTER_ENABLED) +@@ -1236,11 +1233,6 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(stb) find_package(stb CONFIG REQUIRED) ELSE() @@ -181,7 +136,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ENDIF() # VC2010 fixes -@@ -1269,8 +1261,7 @@ IF(ASSIMP_HUNTER_ENABLED) +@@ -1419,8 +1411,7 @@ IF(ASSIMP_HUNTER_ENABLED) PUBLIC #polyclipping::polyclipping openddlparser::openddl_parser @@ -191,7 +146,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ZLIB::zlib RapidJSON::rapidjson utf8cpp -@@ -1289,6 +1280,16 @@ ELSE() +@@ -1439,6 +1430,16 @@ ELSE() if (ASSIMP_BUILD_DRACO) target_link_libraries(assimp ${draco_LIBRARIES}) endif() @@ -209,24 +164,10 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt if(ASSIMP_ANDROID_JNIIOSYSTEM) diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp ---- ./code/Common/BaseImporter.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./code/Common/BaseImporter.cpp 2024-03-31 20:36:05.294864983 -0400 -@@ -357,11 +357,7 @@ std::string BaseImporter::GetExtension(c - return false; - } - --#ifdef ASSIMP_USE_HUNTER - #include --#else --#include "../contrib/utf8cpp/source/utf8.h" --#endif - - // ------------------------------------------------------------------------------------------------ - // Convert to UTF8 data diff -up ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp ---- ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2024-03-31 20:36:05.297864988 -0400 -@@ -23,7 +23,7 @@ +--- ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-03-15 21:12:11.627116368 -0400 +@@ -24,7 +24,7 @@ #endif // _MSC_VER #define STB_IMAGE_IMPLEMENTATION @@ -236,9 +177,9 @@ diff -up ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.c #ifdef _MSC_VER #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' diff -up ./test/unit/utglTF2ImportExport.cpp.unbundle ./test/unit/utglTF2ImportExport.cpp ---- ./test/unit/utglTF2ImportExport.cpp.unbundle 2023-09-25 10:46:51.000000000 -0400 -+++ ./test/unit/utglTF2ImportExport.cpp 2024-03-31 20:36:05.297864988 -0400 -@@ -805,7 +805,7 @@ namespace { +--- ./test/unit/utglTF2ImportExport.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 ++++ ./test/unit/utglTF2ImportExport.cpp 2025-03-15 21:12:11.627354486 -0400 +@@ -943,7 +943,7 @@ namespace { rapidjson::Document schemaDoc; schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); EXPECT_FALSE(schemaDoc.HasParseError()); From e99d3401b5fa20b188fa5469b8e72404d9bbf640 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 14:28:26 +0200 Subject: [PATCH 13/21] Rebuilt for Python 3.14 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 61f1732..2f11992 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.4.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Tue Jun 03 2025 Python Maint - 5.4.3-2 +- Rebuilt for Python 3.14 + * Sat Mar 15 2025 Rich Mattes - 5.4.3-1 - Update to release 5.4.3 - Resolves: #2274012 From 4aa7296a0a07173aa667192269e12ef00b853176 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 17:21:27 +0000 Subject: [PATCH 14/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 2f11992..bb6069d 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 5.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Jun 03 2025 Python Maint - 5.4.3-2 - Rebuilt for Python 3.14 From c9a5f7310c099e4990ba6bae767a03ebd4159411 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:38:44 +0200 Subject: [PATCH 15/21] Rebuilt for Python 3.14.0rc2 bytecode --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index bb6069d..e25b5ab 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 5.4.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -199,6 +199,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Fri Aug 15 2025 Python Maint - 5.4.3-4 +- Rebuilt for Python 3.14.0rc2 bytecode + * Wed Jul 23 2025 Fedora Release Engineering - 5.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 4469c3c65bbbeba25c28c95a41344579ce691a18 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Mon, 18 Aug 2025 11:06:53 +0200 Subject: [PATCH 16/21] Update to 6.0.2 --- .gitignore | 1 + assimp-5.1.0-doxyfile.patch | 13 - assimp-5.4.3-tests.patch | 29 --- assimp-5.4.3-unbundle.patch | 190 -------------- assimp-docs.patch | 37 +++ ...-5.4.3-nozlib.patch => assimp-nozlib.patch | 6 +- ...ythonpath.patch => assimp-pythonpath.patch | 10 +- assimp-tests.patch | 28 ++ assimp-unbundle.patch | 245 ++++++++++++++++++ assimp.spec | 128 ++++----- assimp_generate_tarball.sh | 7 +- sources | 2 +- 12 files changed, 377 insertions(+), 319 deletions(-) delete mode 100644 assimp-5.1.0-doxyfile.patch delete mode 100644 assimp-5.4.3-tests.patch delete mode 100644 assimp-5.4.3-unbundle.patch create mode 100644 assimp-docs.patch rename assimp-5.4.3-nozlib.patch => assimp-nozlib.patch (56%) rename assimp-5.1.0-pythonpath.patch => assimp-pythonpath.patch (57%) create mode 100644 assimp-tests.patch create mode 100644 assimp-unbundle.patch diff --git a/.gitignore b/.gitignore index a08b038..5471744 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /assimp-5.2.5-free.tar.xz /assimp-5.3.1-free.tar.xz /assimp-5.4.3-free.tar.xz +/assimp-6.0.2-free.tar.xz diff --git a/assimp-5.1.0-doxyfile.patch b/assimp-5.1.0-doxyfile.patch deleted file mode 100644 index 9190bc3..0000000 --- a/assimp-5.1.0-doxyfile.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up ./doc/Doxyfile.in.doxyfile ./doc/Doxyfile.in ---- ./doc/Doxyfile.in.doxyfile 2020-01-12 06:56:40.000000000 -0500 -+++ ./doc/Doxyfile.in 2021-02-27 18:12:22.953572564 -0500 -@@ -703,7 +702,8 @@ RECURSIVE = YES - # Note that relative paths are relative to the directory from which doxygen is - # run. - --EXCLUDE = contrib/* -+EXCLUDE = contrib/* \ -+ @PROJECT_BINARY_DIR@ - - # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or - # directories that are symbolic links (a Unix file system feature) are excluded diff --git a/assimp-5.4.3-tests.patch b/assimp-5.4.3-tests.patch deleted file mode 100644 index c7e5125..0000000 --- a/assimp-5.4.3-tests.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up ./CMakeLists.txt.tests ./CMakeLists.txt ---- ./CMakeLists.txt.tests 2024-08-30 14:35:01.000000000 -0400 -+++ ./CMakeLists.txt 2025-03-15 21:17:37.690633353 -0400 -@@ -774,6 +774,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) - ENDIF () - - IF ( ASSIMP_BUILD_TESTS ) -+ ENABLE_TESTING() - ADD_SUBDIRECTORY( test/ ) - ENDIF () - -diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt ---- ./test/CMakeLists.txt.tests 2024-08-30 14:35:01.000000000 -0400 -+++ ./test/CMakeLists.txt 2025-03-15 21:17:37.690940621 -0400 -@@ -36,6 +36,7 @@ - # - #---------------------------------------------------------------------- - cmake_minimum_required( VERSION 3.10 ) -+include(GoogleTest) - - INCLUDE_DIRECTORIES( - ${Assimp_SOURCE_DIR}/test/unit -@@ -283,4 +284,4 @@ target_link_libraries( unit assimp ${pla - - add_subdirectory(headercheck) - --add_test( unittests unit ) -+gtest_discover_tests(unit) -diff -up ./test/unit/utVersion.cpp.tests ./test/unit/utVersion.cpp diff --git a/assimp-5.4.3-unbundle.patch b/assimp-5.4.3-unbundle.patch deleted file mode 100644 index 538be8a..0000000 --- a/assimp-5.4.3-unbundle.patch +++ /dev/null @@ -1,190 +0,0 @@ -diff -up ./code/AssetLib/Blender/BlenderTessellator.h.unbundle ./code/AssetLib/Blender/BlenderTessellator.h ---- ./code/AssetLib/Blender/BlenderTessellator.h.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./code/AssetLib/Blender/BlenderTessellator.h 2025-03-15 21:12:11.625781244 -0400 -@@ -143,7 +143,7 @@ namespace Assimp - - #if ASSIMP_BLEND_WITH_POLY_2_TRI - --#include "contrib/poly2tri/poly2tri/poly2tri.h" -+#include - - namespace Assimp - { -diff -up ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle ./code/AssetLib/IFC/IFCGeometry.cpp ---- ./code/AssetLib/IFC/IFCGeometry.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./code/AssetLib/IFC/IFCGeometry.cpp 2025-03-15 21:12:11.625971442 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "IFCUtil.h" - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" --#include "contrib/poly2tri/poly2tri/poly2tri.h" -+#include - #include "contrib/clipper/clipper.hpp" - - #include -diff -up ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle ./code/AssetLib/IFC/IFCOpenings.cpp ---- ./code/AssetLib/IFC/IFCOpenings.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./code/AssetLib/IFC/IFCOpenings.cpp 2025-03-15 21:12:11.626145199 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "IFCUtil.h" - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" --#include "contrib/poly2tri/poly2tri/poly2tri.h" -+#include - #include "contrib/clipper/clipper.hpp" - - #include -diff -up ./code/AssetLib/MMD/MMDPmxParser.cpp.unbundle ./code/AssetLib/MMD/MMDPmxParser.cpp -diff -up ./code/AssetLib/SIB/SIBImporter.cpp.unbundle ./code/AssetLib/SIB/SIBImporter.cpp -diff -up ./code/AssetLib/STEPParser/STEPFileEncoding.cpp.unbundle ./code/AssetLib/STEPParser/STEPFileEncoding.cpp -diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ---- ./code/CMakeLists.txt.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./code/CMakeLists.txt 2025-03-15 21:14:28.763995892 -0400 -@@ -1054,12 +1054,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() -- SET( Pugixml_SRCS -- ../contrib/pugixml/src/pugiconfig.hpp -- ../contrib/pugixml/src/pugixml.hpp -- ) -- INCLUDE_DIRECTORIES("../contrib/pugixml/src") -- SOURCE_GROUP( Contrib\\Pugixml FILES ${Pugixml_SRCS}) -+ find_package(pugixml REQUIRED) - ENDIF() - - # utf8 -@@ -1067,7 +1062,7 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/utf8cpp/source") -+ find_package(utf8cpp CONFIG REQUIRED) - ENDIF() - - # polyclipping -@@ -1083,10 +1078,10 @@ ENDIF() - #ENDIF() - - # poly2tri --#IF(ASSIMP_HUNTER_ENABLED) --# hunter_add_package(poly2tri) --# find_package(poly2tri CONFIG REQUIRED) --#ELSE() -+IF(HAVE_POLY2TRI) -+ include_directories(${POLY2TRI_INCLUDE_PATH}) -+ set(Poly2Tri_SRCS "") -+ELSE() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -1101,13 +1096,13 @@ ENDIF() - ../contrib/poly2tri/poly2tri/sweep/sweep_context.h - ) - SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) --#ENDIF() -+ENDIF() - - # minizip/unzip --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(minizip) -- find_package(minizip CONFIG REQUIRED) --ELSE() -+#IF(ASSIMP_HUNTER_ENABLED) -+# hunter_add_package(minizip) -+# find_package(minizip CONFIG REQUIRED) -+#ELSE() - SET( unzip_SRCS - ../contrib/unzip/crypt.h - ../contrib/unzip/ioapi.c -@@ -1116,7 +1111,7 @@ ELSE() - ../contrib/unzip/unzip.h - ) - SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) --ENDIF() -+#ENDIF() - - # zip (https://github.com/kuba--/zip) - separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) -@@ -1212,6 +1207,7 @@ ENDIF () - IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) - SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) - ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) -+ INCLUDE_DIRECTORIES( "../contrib" ) - ELSE () - SET (open3dgc_SRCS "") - MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.") -@@ -1223,7 +1219,8 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) - ELSE() -- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") -+ find_package(RapidJSON REQUIRED) -+ include_directories(${RapidJSON_INCLUDE_DIRS}) - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) - if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) -@@ -1236,11 +1233,6 @@ IF(ASSIMP_HUNTER_ENABLED) - hunter_add_package(stb) - find_package(stb CONFIG REQUIRED) - ELSE() -- SET( stb_SRCS -- ../contrib/stb/stb_image.h -- ) -- INCLUDE_DIRECTORIES("../contrib") -- SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) - ENDIF() - - # VC2010 fixes -@@ -1419,8 +1411,7 @@ IF(ASSIMP_HUNTER_ENABLED) - PUBLIC - #polyclipping::polyclipping - openddlparser::openddl_parser -- #poly2tri::poly2tri -- minizip::minizip -+ poly2tri::poly2tri - ZLIB::zlib - RapidJSON::rapidjson - utf8cpp -@@ -1439,6 +1430,16 @@ ELSE() - if (ASSIMP_BUILD_DRACO) - target_link_libraries(assimp ${draco_LIBRARIES}) - endif() -+ -+ TARGET_LINK_LIBRARIES(assimp pugixml) -+ -+ IF (HAVE_POLY2TRI) -+ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) -+ ENDIF() -+ -+ IF (HAVE_CLIPPER) -+ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) -+ ENDIF() - ENDIF() - - if(ASSIMP_ANDROID_JNIIOSYSTEM) -diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp -diff -up ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp ---- ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-03-15 21:12:11.627116368 -0400 -@@ -24,7 +24,7 @@ - #endif // _MSC_VER - - #define STB_IMAGE_IMPLEMENTATION --#include "contrib/stb/stb_image.h" -+#include "stb_image.h" - - #ifdef _MSC_VER - #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' -diff -up ./test/unit/utglTF2ImportExport.cpp.unbundle ./test/unit/utglTF2ImportExport.cpp ---- ./test/unit/utglTF2ImportExport.cpp.unbundle 2024-08-30 14:35:01.000000000 -0400 -+++ ./test/unit/utglTF2ImportExport.cpp 2025-03-15 21:12:11.627354486 -0400 -@@ -943,7 +943,7 @@ namespace { - rapidjson::Document schemaDoc; - schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); - EXPECT_FALSE(schemaDoc.HasParseError()); -- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast(m_schemaName.size()), this)); -+ m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, this)); - } - - const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override { diff --git a/assimp-docs.patch b/assimp-docs.patch new file mode 100644 index 0000000..5d13c1e --- /dev/null +++ b/assimp-docs.patch @@ -0,0 +1,37 @@ +diff -rupN --no-dereference assimp-6.0.2/doc/CMakeLists.txt assimp-6.0.2-new/doc/CMakeLists.txt +--- assimp-6.0.2/doc/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/doc/CMakeLists.txt 2025-08-17 10:36:53.475374100 +0200 +@@ -33,9 +33,9 @@ if( DEFINED CMAKE_INSTALL_DOCDIR ) + DESTINATION ${CMAKE_INSTALL_DOCDIR} + ) + install(FILES +- ${CMAKE_CURRENT_SOURCE_DIR}/AssimpDoc_Html/AnimationOverview.png +- ${CMAKE_CURRENT_SOURCE_DIR}/AssimpDoc_Html/AnimationOverview.svg +- ${CMAKE_CURRENT_SOURCE_DIR}/AssimpDoc_Html/dragonsplash.png ++ ${CMAKE_CURRENT_SOURCE_DIR}/architecture/AnimationOverview.png ++ ${CMAKE_CURRENT_SOURCE_DIR}/architecture/AnimationOverview.svg ++ ${CMAKE_CURRENT_SOURCE_DIR}/images/dragonsplash.png + DESTINATION ${CMAKE_INSTALL_DOCDIR}/${HTML_OUTPUT} + ) + endif() +diff -rupN --no-dereference assimp-6.0.2/doc/Doxyfile.in assimp-6.0.2-new/doc/Doxyfile.in +--- assimp-6.0.2/doc/Doxyfile.in 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/doc/Doxyfile.in 2025-08-17 10:36:53.474954432 +0200 +@@ -952,7 +952,7 @@ RECURSIVE = NO + # Note that relative paths are relative to the directory from which doxygen is + # run. + +-EXCLUDE = ++EXCLUDE = @PROJECT_BINARY_DIR@ + + # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or + # directories that are symbolic links (a Unix file system feature) are excluded +@@ -1221,7 +1221,7 @@ GENERATE_HTML = YES + # The default directory is: html. + # This tag requires that the tag GENERATE_HTML is set to YES. + +-HTML_OUTPUT = html ++HTML_OUTPUT = AssimpDoc_Html + + # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each + # generated HTML page (for example: .htm, .php, .asp). diff --git a/assimp-5.4.3-nozlib.patch b/assimp-nozlib.patch similarity index 56% rename from assimp-5.4.3-nozlib.patch rename to assimp-nozlib.patch index db914bb..8a69587 100644 --- a/assimp-5.4.3-nozlib.patch +++ b/assimp-nozlib.patch @@ -1,6 +1,6 @@ -diff -up ./contrib/zlib/CMakeLists.txt.nozlib ./contrib/zlib/CMakeLists.txt ---- ./contrib/zlib/CMakeLists.txt.nozlib 2025-03-15 21:15:34.401498688 -0400 -+++ ./contrib/zlib/CMakeLists.txt 2025-03-15 21:16:59.423133391 -0400 +diff -rupN --no-dereference assimp-6.0.2/contrib/zlib/CMakeLists.txt assimp-6.0.2-new/contrib/zlib/CMakeLists.txt +--- assimp-6.0.2/contrib/zlib/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/contrib/zlib/CMakeLists.txt 2025-08-17 10:36:53.187611066 +0200 @@ -196,7 +196,7 @@ if(MINGW) set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) endif(MINGW) diff --git a/assimp-5.1.0-pythonpath.patch b/assimp-pythonpath.patch similarity index 57% rename from assimp-5.1.0-pythonpath.patch rename to assimp-pythonpath.patch index 7e19ab7..1a613ed 100644 --- a/assimp-5.1.0-pythonpath.patch +++ b/assimp-pythonpath.patch @@ -1,7 +1,7 @@ -diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/helper.py ---- ./port/PyAssimp/pyassimp/helper.py.pythonpath 2021-02-27 18:03:01.858146645 -0500 -+++ ./port/PyAssimp/pyassimp/helper.py 2021-02-27 18:04:18.595341644 -0500 -@@ -25,6 +25,7 @@ additional_dirs, ext_whitelist = [],[] +diff -rupN --no-dereference assimp-6.0.2/port/PyAssimp/pyassimp/helper.py assimp-6.0.2-new/port/PyAssimp/pyassimp/helper.py +--- assimp-6.0.2/port/PyAssimp/pyassimp/helper.py 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/port/PyAssimp/pyassimp/helper.py 2025-08-17 10:36:52.891631207 +0200 +@@ -29,6 +29,7 @@ additional_dirs, ext_whitelist = [],[] # depending on the platform we're running on. if os.name=='posix': additional_dirs.append('./') @@ -9,7 +9,7 @@ diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/ additional_dirs.append('/usr/lib/') additional_dirs.append('/usr/lib/x86_64-linux-gnu/') additional_dirs.append('/usr/lib/aarch64-linux-gnu/') -@@ -46,6 +47,7 @@ if os.name=='posix': +@@ -54,6 +55,7 @@ if os.name=='posix': # currently there's always a symlink called # libassimp.so in /usr/local/lib. ext_whitelist.append('.so') diff --git a/assimp-tests.patch b/assimp-tests.patch new file mode 100644 index 0000000..d5ae99a --- /dev/null +++ b/assimp-tests.patch @@ -0,0 +1,28 @@ +diff -rupN --no-dereference assimp-6.0.2/CMakeLists.txt assimp-6.0.2-new/CMakeLists.txt +--- assimp-6.0.2/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/CMakeLists.txt 2025-08-17 10:36:53.765126531 +0200 +@@ -813,6 +813,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) + ENDIF () + + IF ( ASSIMP_BUILD_TESTS ) ++ ENABLE_TESTING() + ADD_SUBDIRECTORY( test/ ) + ENDIF () + +diff -rupN --no-dereference assimp-6.0.2/test/CMakeLists.txt assimp-6.0.2-new/test/CMakeLists.txt +--- assimp-6.0.2/test/CMakeLists.txt 2025-08-17 10:36:52.887323815 +0200 ++++ assimp-6.0.2-new/test/CMakeLists.txt 2025-08-17 10:36:53.765489323 +0200 +@@ -36,6 +36,7 @@ + # + #---------------------------------------------------------------------- + cmake_minimum_required( VERSION 3.10 ) ++include(GoogleTest) + + INCLUDE_DIRECTORIES( + ${Assimp_SOURCE_DIR}/test/unit +@@ -267,4 +268,4 @@ target_link_libraries( unit assimp ${pla + + add_subdirectory(headercheck) + +-add_test( unittests unit ) ++gtest_discover_tests(unit) diff --git a/assimp-unbundle.patch b/assimp-unbundle.patch new file mode 100644 index 0000000..e457211 --- /dev/null +++ b/assimp-unbundle.patch @@ -0,0 +1,245 @@ +diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h +--- assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h 2025-08-17 10:36:52.572086537 +0200 +@@ -143,7 +143,7 @@ namespace Assimp + + #if ASSIMP_BLEND_WITH_POLY_2_TRI + +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + + namespace Assimp + { +diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp +--- assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp 2025-08-17 10:36:52.573297264 +0200 +@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + #include "contrib/clipper/clipper.hpp" + + #include +diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp +--- assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp 2025-08-17 10:36:52.573637370 +0200 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + #include "contrib/clipper/clipper.hpp" + + #include +diff -rupN --no-dereference assimp-6.0.2/code/CMakeLists.txt assimp-6.0.2-new/code/CMakeLists.txt +--- assimp-6.0.2/code/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/CMakeLists.txt 2025-08-17 10:36:52.574015510 +0200 +@@ -1120,13 +1120,7 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(pugixml) + find_package(pugixml CONFIG REQUIRED) + ELSEIF(NOT TARGET pugixml::pugixml) +- SET( Pugixml_SRCS +- ../contrib/pugixml/src/pugiconfig.hpp +- ../contrib/pugixml/src/pugixml.cpp +- ../contrib/pugixml/src/pugixml.hpp +- ) +- INCLUDE_DIRECTORIES("../contrib/pugixml/src") +- SOURCE_GROUP( Contrib\\Pugixml FILES ${Pugixml_SRCS}) ++ find_package(pugixml REQUIRED) + ENDIF() + + # utf8 +@@ -1134,7 +1128,7 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(utf8) + find_package(utf8cpp CONFIG REQUIRED) + ELSE() +- INCLUDE_DIRECTORIES("../contrib/utf8cpp/source") ++ find_package(utf8cpp CONFIG REQUIRED) + ENDIF() + + # polyclipping +@@ -1150,10 +1144,10 @@ ENDIF() + #ENDIF() + + # poly2tri +-#IF(ASSIMP_HUNTER_ENABLED) +-# hunter_add_package(poly2tri) +-# find_package(poly2tri CONFIG REQUIRED) +-#ELSE() ++IF(HAVE_POLY2TRI) ++ include_directories(${POLY2TRI_INCLUDE_PATH}) ++ set(Poly2Tri_SRCS "") ++ELSE() + SET( Poly2Tri_SRCS + ../contrib/poly2tri/poly2tri/common/shapes.cc + ../contrib/poly2tri/poly2tri/common/shapes.h +@@ -1168,13 +1162,13 @@ ENDIF() + ../contrib/poly2tri/poly2tri/sweep/sweep_context.h + ) + SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) +-#ENDIF() ++ENDIF() + + # minizip/unzip +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(minizip) +- find_package(minizip CONFIG REQUIRED) +-ELSE() ++#IF(ASSIMP_HUNTER_ENABLED) ++# hunter_add_package(minizip) ++# find_package(minizip CONFIG REQUIRED) ++#ELSE() + SET( unzip_SRCS + ../contrib/unzip/crypt.h + ../contrib/unzip/ioapi.c +@@ -1183,7 +1177,7 @@ ELSE() + ../contrib/unzip/unzip.h + ) + SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) +-ENDIF() ++#ENDIF() + + # zip (https://github.com/kuba--/zip) + separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) +@@ -1279,6 +1273,7 @@ ENDIF () + IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) + SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) + ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) ++ INCLUDE_DIRECTORIES( "../contrib" ) + ELSE () + SET (open3dgc_SRCS "") + MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.") +@@ -1290,7 +1285,8 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(RapidJSON) + find_package(RapidJSON CONFIG REQUIRED) + ELSE() +- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") ++ find_package(RapidJSON REQUIRED) ++ include_directories(${RapidJSON_INCLUDE_DIRS}) + ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) + option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) + if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) +@@ -1303,11 +1299,6 @@ IF(ASSIMP_HUNTER_ENABLED) + hunter_add_package(stb) + find_package(stb CONFIG REQUIRED) + ELSE() +- SET( stb_SRCS +- ../contrib/stb/stb_image.h +- ) +- INCLUDE_DIRECTORIES("../contrib") +- SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS}) + ENDIF() + + # VC2010 fixes +@@ -1489,7 +1480,6 @@ IF(ASSIMP_HUNTER_ENABLED) + TARGET_LINK_LIBRARIES(assimp + PUBLIC + openddlparser::openddl_parser +- minizip::minizip + ZLIB::zlib + RapidJSON::rapidjson + utf8cpp +@@ -1511,6 +1501,16 @@ ELSE() + if(TARGET pugixml::pugixml) + target_link_libraries(assimp pugixml::pugixml) + endif() ++ ++ TARGET_LINK_LIBRARIES(assimp pugixml) ++ ++ IF (HAVE_POLY2TRI) ++ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) ++ ENDIF() ++ ++ IF (HAVE_CLIPPER) ++ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) ++ ENDIF() + ENDIF() + + if(ASSIMP_ANDROID_JNIIOSYSTEM) +diff -rupN --no-dereference assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp +--- assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp 2025-08-17 10:36:52.574382611 +0200 +@@ -62,7 +62,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "PostProcessing/TriangulateProcess.h" + #include "PostProcessing/ProcessHelper.h" + #include "Common/PolyTools.h" +-#include "contrib/earcut-hpp/earcut.hpp" ++#include + + #include + #include +diff -rupN --no-dereference assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp +--- assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-08-17 10:36:52.574685962 +0200 +@@ -24,7 +24,7 @@ + #endif // _MSC_VER + + #define STB_IMAGE_IMPLEMENTATION +-#include "contrib/stb/stb_image.h" ++#include "stb_image.h" + + #ifdef _MSC_VER + #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' +diff -rupN --no-dereference assimp-6.0.2/test/CMakeLists.txt assimp-6.0.2-new/test/CMakeLists.txt +--- assimp-6.0.2/test/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/test/CMakeLists.txt 2025-08-17 10:36:52.575035682 +0200 +@@ -43,14 +43,6 @@ INCLUDE_DIRECTORIES( + ${Assimp_SOURCE_DIR}/code + ) + +-if(NOT ASSIMP_HUNTER_ENABLED) +- INCLUDE_DIRECTORIES( +- ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/include +- ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/ +- ${Assimp_SOURCE_DIR}/contrib/pugixml/src +- ) +-endif() +- + if (MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING") + endif() +@@ -234,26 +226,11 @@ add_executable( unit + ${POST_PROCESSES} + ) + +-if(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(GTest) +- find_package(GTest CONFIG REQUIRED) +- target_link_libraries(unit GTest::gtest_main GTest::gmock) +-else() +- target_sources(unit PUBLIC ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/src/gtest-all.cc) +-endif() ++find_package(GTest CONFIG REQUIRED) ++target_link_libraries(unit GTest::gtest_main GTest::gmock) + + # RapidJSON +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(RapidJSON) +- find_package(RapidJSON CONFIG REQUIRED) +-ELSE() +- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") +- ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) +- option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON ) +- if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR) +- ADD_DEFINITIONS( -DRAPIDJSON_NOMEMBERITERATORCLASS ) +- endif() +-ENDIF() ++find_package(RapidJSON CONFIG REQUIRED) + + IF (ASSIMP_BUILD_DRACO) + ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO ) +diff -rupN --no-dereference assimp-6.0.2/test/unit/utglTF2ImportExport.cpp assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp +--- assimp-6.0.2/test/unit/utglTF2ImportExport.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp 2025-08-17 10:36:52.575324504 +0200 +@@ -986,7 +986,7 @@ namespace { + rapidjson::Document schemaDoc; + schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); + EXPECT_FALSE(schemaDoc.HasParseError()); +- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast(m_schemaName.size()), this)); ++ m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, 0, 0, this)); + } + + const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override { diff --git a/assimp.spec b/assimp.spec index e25b5ab..2beacc4 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,8 +1,8 @@ -%define soversion 5 +%define soversion 6 Name: assimp -Version: 5.4.3 -Release: 4%{?dist} +Version: 6.0.2 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -13,8 +13,7 @@ Summary: Library to import various 3D model formats into applications # Bundled contrib/unzip is zlib # Bundled contrib/zip is unlicense # Bundled contrib/zlib is zlib -# Automatically converted from old format: BSD and MIT and Boost and Unlicense and zlib - review is highly recommended. -License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND BSL-1.0 AND Unlicense AND Zlib +License: BSD-3-Clause AND MIT AND BSL-1.0 AND Unlicense AND Zlib URL: https://github.com/assimp/assimp # Github releases include nonfree models, source tarball must be re-generated @@ -22,21 +21,23 @@ URL: https://github.com/assimp/assimp Source0: %{name}-%{version}-free.tar.xz Source1: assimp_generate_tarball.sh -# Un-bundle libraries that are provided by the distribution. -Patch0: %{name}-5.4.3-unbundle.patch +# Un-bundle poly2tri, pugixml, utf8cpp, RapidJSON, clipper +Patch0: %{name}-unbundle.patch # Add /usr/lib64 to library lookup paths for python modules -Patch1: %{name}-5.1.0-pythonpath.patch +Patch1: %{name}-pythonpath.patch # Prevent export of bundled zlibstatic library -Patch2: %{name}-5.4.3-nozlib.patch +Patch2: %{name}-nozlib.patch # Exclude the build directory from the doxygen-generated documentation -Patch3: %{name}-5.1.0-doxyfile.patch +# Fix HTML_OUTPUT dir in doxyfile +# Fix installing images from doc/architecture +Patch3: %{name}-docs.patch # Enable ctest -Patch4: %{name}-5.4.3-tests.patch +Patch4: %{name}-tests.patch BuildRequires: boost-devel BuildRequires: cmake -BuildRequires: dos2unix BuildRequires: doxygen +BuildRequires: earcut-hpp-devel BuildRequires: gcc-c++ BuildRequires: gtest-devel BuildRequires: make @@ -44,28 +45,12 @@ BuildRequires: pkgconfig(python3) BuildRequires: poly2tri-devel BuildRequires: pugixml-devel BuildRequires: python3-devel +BuildRequires: zlib-devel # Need to BR -static packages for header-only libraries for tracking, per # guidelines BuildRequires: rapidjson-devel BuildRequires: rapidjson-static -# Enforce the the minimum EVR to contain fixes for all of: -# CVE-2021-28021 -# CVE-2021-42715 -# CVE-2021-42716 -# CVE-2022-28041 -# CVE-2023-43898 -# CVE-2023-45661 -# CVE-2023-45662 -# CVE-2023-45663 -# CVE-2023-45664 -# CVE-2023-45666 -# CVE-2023-45667 -%if 0%{?el7} || 0%{?el8} -%global min_stb_image 2.28-0.39.20231011gitbeebb24 -%else -%global min_stb_image 2.28^20231011gitbeebb24-12 -%endif -BuildRequires: stb_image-devel >= %{min_stb_image} +BuildRequires: stb_image-devel BuildRequires: stb_image-static BuildRequires: utf8cpp-devel BuildRequires: utf8cpp-static @@ -77,7 +62,7 @@ Provides: bundled(open3dgc) Provides: bundled(openddl-parser) Provides: bundled(unzip) Provides: bundled(minzip) -Provides: bundled(zlib) + %description Assimp, the Open Asset Import Library, is a free library to import @@ -86,6 +71,7 @@ to provide a full asset conversion pipeline for use in game engines and real-time rendering systems, but is not limited to these applications. + %package devel Summary: Header files and libraries for assimp Requires: %{name}%{?_isa} = %{version}-%{release} @@ -97,18 +83,15 @@ This package contains the header files and libraries for assimp. If you would like to develop programs using assimp, you will need to install assimp-devel. -%if 0%{?fedora} || 0%{?rhel} > 7 + %package -n python3-%{name} Summary: Python 3 bindings for assimp BuildArch: noarch Requires: %{name} = %{version}-%{release} -Requires: python3 -Provides: %{name}-python3 = %{version}-%{release} -Obsoletes: %{name}-python3 < 3.1.1 %description -n python3-%{name} This package contains the PyAssimp3 python bindings -%endif + %package doc Summary: Assimp documentation @@ -117,62 +100,51 @@ BuildArch: noarch %description doc %{summary}. -%prep -%setup -q -# Get rid of bundled libs so we can't accidently build against them -rm -r contrib/android-cmake -rm -r contrib/draco -rm -r contrib/poly2tri -rm -r contrib/pugixml -rm -r contrib/rapidjson -rm -r contrib/stb -rm -r contrib/utf8cpp -%patch 0 -p1 -b .unbundle -%patch 1 -p1 -b .pythonpath -%patch 2 -p1 -b .nozlib -%patch 3 -p1 -b .doxyfile -%patch 4 -p0 -b .tests +%prep +%autosetup -p1 -n %{name}-%{version} +# Get rid of bundled libs so we can't accidently build against them, except: +# - clipper: Unpackaged +# - Open3DGC: Unpackaged +# - openddlparser: Unpackaged +# - tinyusdz: Unpackaged +# - unzip: Modified minizip +# - zip: Modified minizip +find contrib/ -maxdepth 1 -mindepth 1 \ + | grep -Ev '(clipper|Open3DGC|openddlparser|tinyusdz|unzip|zip)' \ + | xargs rm -r mv contrib/openddlparser/LICENSE contrib/openddlparser/LICENSE.openddlparser + %build -%global optflags %(echo %{optflags} -Wno-error=dangling-reference) %cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DASSIMP_LIB_INSTALL_DIR=%{_lib} \ - -DASSIMP_WARNINGS_AS_ERRORS=OFF \ %ifarch s390x ppc64 -DAI_BUILD_BIG_ENDIAN=TRUE \ %endif - -DASSIMP_BUILD_ASSIMP_TOOLS=TRUE \ - -DASSIMP_BUILD_DOCS=OFF \ - -DASSIMP_BUILD_DRACO=OFF \ - -DHTML_OUTPUT=%{name}-%{version} \ - -DCMAKE_INSTALL_DOCDIR=%{_docdir} \ + -DASSIMP_WARNINGS_AS_ERRORS=OFF \ + -DASSIMP_BUILD_ASSIMP_TOOLS=ON \ + -DASSIMP_BUILD_DOCS=ON \ + -DASSIMP_IGNORE_GIT_HASH=ON \ -DHAVE_POLY2TRI=ON \ -DPOLY2TRI_INCLUDE_PATH=%{_includedir}/poly2tri \ -DPOLY2TRI_LIB=poly2tri \ - -DASSIMP_BUILD_ZLIB=ON + -DCMAKE_INSTALL_DOCDIR=%{_defaultdocdir}/%{name} -# To use system polyclipping if assimp ever becomes compatible: -# -DCLIPPER_INCLUDE_PATH=%{_includedir}/polyclipping %cmake_build -# Fix file encoding -dos2unix Readme.md LICENSE CREDITS port/PyAssimp/README.md -iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.conv && mv -f CREDITS.conv CREDITS %install %cmake_install mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ -rm -f %{buildroot}%{_libdir}/libzlibstatic.a -# Exclude tests that rely on nonbsd models + %check +# Exclude tests that rely on nonbsd models %ctest --exclude-regex "utMD5Importer.importBoarMan|utMD5Importer.importBob|utMD2Importer.importDolphin|utMD2Importer.importFlag|utMD2Importer.importHorse|utQ3BSPImportExport.importerTest|utBlenderImporter.importBob|utBlenderImporter.importFleurOptonl|utPMXImporter.importTest|utXImporter.importDwarf" || : + %files %license LICENSE %license contrib/clipper/License.txt @@ -180,25 +152,27 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %license contrib/zip/UNLICENSE %doc Readme.md CREDITS %{_bindir}/assimp -%{_libdir}/*.so.%{version} -%{_libdir}/*.so.%{soversion} +%{_libdir}/libassimp.so.%{version} +%{_libdir}/libassimp.so.%{soversion} %files devel -%{_includedir}/assimp -%{_libdir}/*.so -%{_libdir}/pkgconfig/*.pc -%{_libdir}/cmake/* +%{_includedir}/assimp/ +%{_libdir}/libassimp.so +%{_libdir}/pkgconfig/assimp.pc +%{_libdir}/cmake/assimp-*/ %files doc %{_docdir}/* -%if 0%{?fedora} || 0%{?rhel} > 7 %files -n python3-%{name} %doc port/PyAssimp/README.md -%{python3_sitelib}/pyassimp -%endif +%{python3_sitelib}/pyassimp/ + %changelog +* Fri Aug 15 2025 Sandro Mani - 6.0.2-1 +- Update to 6.0.2 + * Fri Aug 15 2025 Python Maint - 5.4.3-4 - Rebuilt for Python 3.14.0rc2 bytecode diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index 28f5c60..8e880f3 100755 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,5 +1,10 @@ #!/bin/bash -RELEASE=5.4.3 +if [ $# -lt 1 ]; then + echo "Usage: $0 version" + exit 1 +fi + +RELEASE=$1 if [ ! -f assimp-$RELEASE.tar.gz ]; then wget https://github.com/assimp/assimp/archive/v$RELEASE/assimp-$RELEASE.tar.gz diff --git a/sources b/sources index ff02f8f..0d92271 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (assimp-5.4.3-free.tar.xz) = 7843cb6687060a7a15b04a1383418ce5956f04c1d4f635d744cdbb0f7fcaa637e51c380c5fd24386e60b6a458b021f8a2fe11e4f4fd9d0400f5a97bdb2608c49 +SHA512 (assimp-6.0.2-free.tar.xz) = c2895d1185d13fdbd25499e6d916d960f124892de7363e9e91db3ed1daef554ebea462e37cbfafbe5be548e5a962f18fc9f213f836579d97e725c17aae58149b From 068be93c1cca9dcc7fb9e6af0efb0ddfef6b82e7 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Mon, 18 Aug 2025 20:33:28 +0200 Subject: [PATCH 17/21] Fix pugixml::pugixml dependency ending up in link interface of assimp::assimp --- assimp-unbundle.patch | 25 ++++++++++++++----------- assimp.spec | 5 ++++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/assimp-unbundle.patch b/assimp-unbundle.patch index e457211..125551d 100644 --- a/assimp-unbundle.patch +++ b/assimp-unbundle.patch @@ -1,6 +1,6 @@ diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h --- assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h 2025-08-17 10:36:52.572086537 +0200 ++++ assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h 2025-08-18 20:15:00.250159883 +0200 @@ -143,7 +143,7 @@ namespace Assimp #if ASSIMP_BLEND_WITH_POLY_2_TRI @@ -12,7 +12,7 @@ diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Blender/BlenderTessellato { diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp --- assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp 2025-08-17 10:36:52.573297264 +0200 ++++ assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp 2025-08-18 20:15:00.250503229 +0200 @@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include "IFCUtil.h" #include "Common/PolyTools.h" @@ -24,7 +24,7 @@ diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp assim #include diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp --- assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp 2025-08-17 10:36:52.573637370 +0200 ++++ assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp 2025-08-18 20:15:00.250876754 +0200 @@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include "IFCUtil.h" #include "Common/PolyTools.h" @@ -36,7 +36,7 @@ diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp assim #include diff -rupN --no-dereference assimp-6.0.2/code/CMakeLists.txt assimp-6.0.2-new/code/CMakeLists.txt --- assimp-6.0.2/code/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/code/CMakeLists.txt 2025-08-17 10:36:52.574015510 +0200 ++++ assimp-6.0.2-new/code/CMakeLists.txt 2025-08-18 20:15:00.254124936 +0200 @@ -1120,13 +1120,7 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(pugixml) find_package(pugixml CONFIG REQUIRED) @@ -142,10 +142,13 @@ diff -rupN --no-dereference assimp-6.0.2/code/CMakeLists.txt assimp-6.0.2-new/co ZLIB::zlib RapidJSON::rapidjson utf8cpp -@@ -1511,6 +1501,16 @@ ELSE() - if(TARGET pugixml::pugixml) - target_link_libraries(assimp pugixml::pugixml) +@@ -1508,9 +1498,16 @@ ELSE() + if (ASSIMP_BUILD_DRACO) + target_link_libraries(assimp ${draco_LIBRARIES}) endif() +- if(TARGET pugixml::pugixml) +- target_link_libraries(assimp pugixml::pugixml) +- endif() + + TARGET_LINK_LIBRARIES(assimp pugixml) + @@ -161,7 +164,7 @@ diff -rupN --no-dereference assimp-6.0.2/code/CMakeLists.txt assimp-6.0.2-new/co if(ASSIMP_ANDROID_JNIIOSYSTEM) diff -rupN --no-dereference assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp --- assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp 2025-08-17 10:36:52.574382611 +0200 ++++ assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp 2025-08-18 20:15:00.251686318 +0200 @@ -62,7 +62,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include "PostProcessing/TriangulateProcess.h" #include "PostProcessing/ProcessHelper.h" @@ -173,7 +176,7 @@ diff -rupN --no-dereference assimp-6.0.2/code/PostProcessing/TriangulateProcess. #include diff -rupN --no-dereference assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp --- assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-08-17 10:36:52.574685962 +0200 ++++ assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-08-18 20:15:00.252020642 +0200 @@ -24,7 +24,7 @@ #endif // _MSC_VER @@ -185,7 +188,7 @@ diff -rupN --no-dereference assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleText #pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter' diff -rupN --no-dereference assimp-6.0.2/test/CMakeLists.txt assimp-6.0.2-new/test/CMakeLists.txt --- assimp-6.0.2/test/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/test/CMakeLists.txt 2025-08-17 10:36:52.575035682 +0200 ++++ assimp-6.0.2-new/test/CMakeLists.txt 2025-08-18 20:15:00.253409037 +0200 @@ -43,14 +43,6 @@ INCLUDE_DIRECTORIES( ${Assimp_SOURCE_DIR}/code ) @@ -233,7 +236,7 @@ diff -rupN --no-dereference assimp-6.0.2/test/CMakeLists.txt assimp-6.0.2-new/te ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO ) diff -rupN --no-dereference assimp-6.0.2/test/unit/utglTF2ImportExport.cpp assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp --- assimp-6.0.2/test/unit/utglTF2ImportExport.cpp 2025-06-08 21:50:39.000000000 +0200 -+++ assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp 2025-08-17 10:36:52.575324504 +0200 ++++ assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp 2025-08-18 20:15:00.253778700 +0200 @@ -986,7 +986,7 @@ namespace { rapidjson::Document schemaDoc; schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})=="); diff --git a/assimp.spec b/assimp.spec index 2beacc4..c29c23a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 6.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -170,6 +170,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %changelog +* Mon Aug 18 2025 Sandro Mani - 6.0.2-2 +- Fix pugixml::pugixml dependency ending up in link interface of assimp::assimp + * Fri Aug 15 2025 Sandro Mani - 6.0.2-1 - Update to 6.0.2 From 3a13f18407e0f49ee408306eee0903ba97c796a4 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:09:52 +0200 Subject: [PATCH 18/21] Rebuilt for Python 3.14.0rc3 bytecode --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index c29c23a..9424c0a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 6.0.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -170,6 +170,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %changelog +* Fri Sep 19 2025 Python Maint - 6.0.2-3 +- Rebuilt for Python 3.14.0rc3 bytecode + * Mon Aug 18 2025 Sandro Mani - 6.0.2-2 - Fix pugixml::pugixml dependency ending up in link interface of assimp::assimp From 5cacab3fd79d9cc2c6df46b7a7eb9e696d7ae7e9 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Sun, 14 Dec 2025 20:03:32 +0100 Subject: [PATCH 19/21] Backport fix for CVE-2025-11277 --- ...918f7148fbcd3d05cc6573dae7859975a895.patch | 24 +++++++++++++++++++ assimp.spec | 8 ++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 0978918f7148fbcd3d05cc6573dae7859975a895.patch diff --git a/0978918f7148fbcd3d05cc6573dae7859975a895.patch b/0978918f7148fbcd3d05cc6573dae7859975a895.patch new file mode 100644 index 0000000..b5c1569 --- /dev/null +++ b/0978918f7148fbcd3d05cc6573dae7859975a895.patch @@ -0,0 +1,24 @@ +diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Q3D/Q3DLoader.cpp assimp-6.0.2-new/code/AssetLib/Q3D/Q3DLoader.cpp +--- assimp-6.0.2/code/AssetLib/Q3D/Q3DLoader.cpp 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/code/AssetLib/Q3D/Q3DLoader.cpp 2025-12-14 20:02:55.733930684 +0100 +@@ -55,6 +55,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + #include + ++#include ++ + namespace Assimp { + + static constexpr aiImporterDesc desc = { +@@ -309,6 +311,11 @@ void Q3DImporter::InternReadFile(const s + throw DeadlyImportError("Quick3D: Invalid texture. Width or height is zero"); + } + ++ const unsigned int uint_max = std::numeric_limits::max(); ++ if (tex->mWidth > (uint_max / tex->mHeight)) { ++ throw DeadlyImportError("Quick3D: Texture dimensions are too large, resulting in overflow."); ++ } ++ + unsigned int mul = tex->mWidth * tex->mHeight; + aiTexel *begin = tex->pcData = new aiTexel[mul]; + aiTexel *const end = &begin[mul - 1] + 1; diff --git a/assimp.spec b/assimp.spec index 9424c0a..8bfde61 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 6.0.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -33,6 +33,9 @@ Patch2: %{name}-nozlib.patch Patch3: %{name}-docs.patch # Enable ctest Patch4: %{name}-tests.patch +# Backport fix for CVE-2025-11277 +Patch5: https://github.com/assimp/assimp/commit/0978918f7148fbcd3d05cc6573dae7859975a895.patch + BuildRequires: boost-devel BuildRequires: cmake @@ -170,6 +173,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %changelog +* Sun Dec 14 2025 Sandro Mani - 6.0.2-4 +- Backport fix for CVE-2025-11277 + * Fri Sep 19 2025 Python Maint - 6.0.2-3 - Rebuilt for Python 3.14.0rc3 bytecode From d70b66d8fedbc44fa619ac04ea737cf2ee32def2 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Sat, 27 Dec 2025 19:11:41 +0100 Subject: [PATCH 20/21] PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174) --- assimp.spec | 7 ++++- ...d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch diff --git a/assimp.spec b/assimp.spec index 8bfde61..6594665 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 6.0.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -35,6 +35,8 @@ Patch3: %{name}-docs.patch Patch4: %{name}-tests.patch # Backport fix for CVE-2025-11277 Patch5: https://github.com/assimp/assimp/commit/0978918f7148fbcd3d05cc6573dae7859975a895.patch +# PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174) +Patch6: https://github.com/assimp/assimp/commit/dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch BuildRequires: boost-devel @@ -173,6 +175,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %changelog +* Sat Dec 27 2025 Sandro Mani - 6.0.2-5 +- PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174) + * Sun Dec 14 2025 Sandro Mani - 6.0.2-4 - Backport fix for CVE-2025-11277 diff --git a/dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch b/dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch new file mode 100644 index 0000000..c29e9fb --- /dev/null +++ b/dd98d4aea3d9d2b3544540ea44eeb15c3616dbb7.patch @@ -0,0 +1,30 @@ +diff -rupN --no-dereference assimp-6.0.2/port/PyAssimp/pyassimp/postprocess.py assimp-6.0.2-new/port/PyAssimp/pyassimp/postprocess.py +--- assimp-6.0.2/port/PyAssimp/pyassimp/postprocess.py 2025-06-08 21:50:39.000000000 +0200 ++++ assimp-6.0.2-new/port/PyAssimp/pyassimp/postprocess.py 2025-12-27 19:11:08.846657557 +0100 +@@ -36,13 +36,21 @@ aiProcess_JoinIdenticalVertices = 0x2 + # + aiProcess_MakeLeftHanded = 0x4 + +-##
Triangulates all faces of all meshes. ++##
Triangulates all faces of all meshes. + # + # By default the imported mesh data might contain faces with more than 3 +-# indices. For rendering you'll usually want all faces to be triangles. +-# This post processing stepaiProcess_ForceGenNormals +-##
Removes some parts of the data structure (animations, materials, +-# light sources, cameras, textures, vertex components). ++# indices. For rendering you'll usually want all faces to be triangles. ++# This post processing step splits up faces with more than 3 indices into ++# triangles. Line and point primitives are *not* modified! If you want ++# 'triangles only' with no other kinds of primitives, try the following ++# solution: ++# - Specify both #aiProcess_Triangulate and #aiProcess_SortByPType ++# - Ignore all point and line meshes when you process assimp's output ++# ++aiProcess_Triangulate = 0x8 ++ ++#
Removes some parts of the data structure (animations, materials, ++# light sources, cameras, textures, vertex components). + # + # The components to be removed are specified in a separate + # configuration option, #AI_CONFIG_PP_RVC_FLAGS. This is quite useful From 9f9f1c36f208f5e69dd03c032b99ad6a261d5880 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 04:03:06 +0000 Subject: [PATCH 21/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 6594665..c5adec9 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,7 @@ Name: assimp Version: 6.0.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -175,6 +175,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 6.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Sat Dec 27 2025 Sandro Mani - 6.0.2-5 - PyAssimp: Re-add 'aiProcess_Triangulate' (#2423174)