From 8482203cf0857697d1cbfa2301b2005bc0620271 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Mon, 2 Oct 2017 15:12:22 -0700 Subject: [PATCH 01/66] Cleanup spec file conditionals --- assimp.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/assimp.spec b/assimp.spec index e8b1943..4b0db48 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -46,7 +46,7 @@ BuildRequires: pkgconfig(minizip) #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 BuildRequires: pkgconfig(python2) -%if 0%{?fedora} > 23 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(ILUT) BuildRequires: pkgconfig(python3) %endif @@ -82,7 +82,7 @@ Obsoletes: %{name}-python < 3.1.1 %description -n python2-%{name} This package contains the PyAssimp python bindings -%if 0%{?fedora} > 23 +%if 0%{?fedora} || 0%{?rhel} > 7 %package -n python3-%{name} Summary: Python 3 bindings for assimp Group: Development/Libraries @@ -151,7 +151,7 @@ rm -rf %{buildroot} make -C build install DESTDIR=%{buildroot} mkdir -p %{buildroot}%{python2_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python2_sitelib}/pyassimp/ -%if 0%{?fedora} > 23 +%if 0%{?fedora} || 0%{?rhel} > 7 mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ %endif @@ -179,13 +179,16 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %doc port/PyAssimp/README.md %{python_sitelib}/pyassimp -%if 0%{?fedora} > 23 +%if 0%{?fedora} || 0%{?rhel} > 7 %files -n python3-%{name} %doc port/PyAssimp/README.md %{python3_sitelib}/pyassimp %endif %changelog +* Mon Oct 02 2017 Troy Dawson - 3.3.1-13 +- Cleanup spec file conditionals + * Sun Aug 06 2017 Björn Esser - 3.3.1-12 - Rebuilt for AutoReq cmake-filesystem From 9f5dcf048d7a9f4d4e4ceb5e643dbbc7a300db34 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 03:06:14 +0000 Subject: [PATCH 02/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 4b0db48..27f64ba 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -186,6 +186,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 3.3.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Mon Oct 02 2017 Troy Dawson - 3.3.1-13 - Cleanup spec file conditionals From 6e3109cbafbb937f9ce87916847afc846736bddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 2 Jul 2018 21:26:27 +0200 Subject: [PATCH 03/66] Rebuilt for Python 3.7 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 27f64ba..8ea0a7c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -186,6 +186,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Mon Jul 02 2018 Miro Hrončok - 3.3.1-15 +- Rebuilt for Python 3.7 + * Wed Feb 07 2018 Fedora Release Engineering - 3.3.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 3e62a91b4c01eedad5d2ba234c79128ebde05c8a Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:42 +0200 Subject: [PATCH 04/66] add BuildRequires: gcc-c++ Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- assimp.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/assimp.spec b/assimp.spec index 8ea0a7c..00b9b9b 100644 --- a/assimp.spec +++ b/assimp.spec @@ -31,6 +31,7 @@ Patch101: 0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch # against system versions of the libraries (not yet submitted upstream) Patch102: 0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch +BuildRequires: gcc-c++ BuildRequires: boost-devel BuildRequires: cmake BuildRequires: dos2unix From d52aa2192434c9f0b706ad63848ac30755d59bbc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 20:40:18 +0000 Subject: [PATCH 05/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 00b9b9b..b70da64 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -187,6 +187,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 3.3.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon Jul 02 2018 Miro Hrončok - 3.3.1-15 - Rebuilt for Python 3.7 From 56fdc2c37ddd9002f656cf923a6dbd26bf7f029c Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Thu, 19 Jul 2018 13:54:33 -0400 Subject: [PATCH 06/66] Add python requirements --- assimp.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assimp.spec b/assimp.spec index b70da64..6abf9da 100644 --- a/assimp.spec +++ b/assimp.spec @@ -47,9 +47,11 @@ BuildRequires: pkgconfig(minizip) #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 BuildRequires: pkgconfig(python2) +BuildRequires: python2 %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(ILUT) BuildRequires: pkgconfig(python3) +BuildRequires: python3 %endif Provides: bundled(openddl-parser) From aefa6cfa8d9ecc12ec1a5ea295de852f3c3d5b48 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Thu, 19 Jul 2018 14:29:43 -0400 Subject: [PATCH 07/66] Update python macros --- assimp.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assimp.spec b/assimp.spec index 6abf9da..4e1af58 100644 --- a/assimp.spec +++ b/assimp.spec @@ -47,11 +47,11 @@ BuildRequires: pkgconfig(minizip) #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 BuildRequires: pkgconfig(python2) -BuildRequires: python2 +BuildRequires: python2-rpm-macros %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(ILUT) BuildRequires: pkgconfig(python3) -BuildRequires: python3 +BuildRequires: python3-rpm-macros %endif Provides: bundled(openddl-parser) @@ -180,7 +180,7 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %files -n python2-%{name} %doc port/PyAssimp/README.md -%{python_sitelib}/pyassimp +%{python2_sitelib}/pyassimp %if 0%{?fedora} || 0%{?rhel} > 7 %files -n python3-%{name} From fb414da238043457e608a698dd9c3235920c853a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Novotn=C3=BD?= Date: Tue, 28 Aug 2018 11:31:11 +0200 Subject: [PATCH 08/66] Update dependency to minizip-compat(-devel) Related: rhbz#1609830, rhbz#1615381 --- assimp.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/assimp.spec b/assimp.spec index 4e1af58..2b54b81 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -42,7 +42,7 @@ BuildRequires: poly2tri-devel BuildRequires: gtest-devel BuildRequires: pkgconfig(zzip-zlib-config) BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(minizip) +BuildRequires: minizip-compat-devel # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 @@ -189,6 +189,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Tue Aug 28 2018 Patrik Novotný - 3.3.1-17 +- update requires to minizip-compat(-devel), rhbz#1609830, rhbz#1615381 + * Thu Jul 12 2018 Fedora Release Engineering - 3.3.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From ddec09061304780a2ba27ffb3c21cdc83c8de83e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 14 Jan 2019 15:38:00 +0100 Subject: [PATCH 09/66] Subpackage python2-assimp has been removed --- assimp.spec | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/assimp.spec b/assimp.spec index 2b54b81..4542b1a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. @@ -46,13 +46,9 @@ BuildRequires: minizip-compat-devel # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 -BuildRequires: pkgconfig(python2) -BuildRequires: python2-rpm-macros -%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(ILUT) BuildRequires: pkgconfig(python3) -BuildRequires: python3-rpm-macros -%endif +BuildRequires: python3-devel Provides: bundled(openddl-parser) @@ -73,18 +69,6 @@ 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. -%package -n python2-%{name} -Summary: Python bindings for assimp -Group: Development/Libraries -BuildArch: noarch -Requires: %{name} = %{version}-%{release} -Requires: python2 -Provides: %{name}-python = %{version}-%{release} -Obsoletes: %{name}-python < 3.1.1 - -%description -n python2-%{name} -This package contains the PyAssimp python bindings - %if 0%{?fedora} || 0%{?rhel} > 7 %package -n python3-%{name} Summary: Python 3 bindings for assimp @@ -152,12 +136,8 @@ iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.conv && mv -f CREDITS.conv CREDITS %install rm -rf %{buildroot} make -C build install DESTDIR=%{buildroot} -mkdir -p %{buildroot}%{python2_sitelib}/pyassimp/ -install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python2_sitelib}/pyassimp/ -%if 0%{?fedora} || 0%{?rhel} > 7 mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ -%endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -178,10 +158,6 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %files doc %{_docdir}/* -%files -n python2-%{name} -%doc port/PyAssimp/README.md -%{python2_sitelib}/pyassimp - %if 0%{?fedora} || 0%{?rhel} > 7 %files -n python3-%{name} %doc port/PyAssimp/README.md @@ -189,6 +165,10 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Mon Jan 14 2019 Miro Hrončok - 3.3.1-18 +- Subpackage python2-assimp has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + * Tue Aug 28 2018 Patrik Novotný - 3.3.1-17 - update requires to minizip-compat(-devel), rhbz#1609830, rhbz#1615381 From 7d43d0a5fc0d1e84c85e8bad8a2e7aa095da923a Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 22 Jan 2019 18:38:32 +0100 Subject: [PATCH 10/66] Remove obsolete ldconfig scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- assimp.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assimp.spec b/assimp.spec index 4542b1a..e2389ce 100644 --- a/assimp.spec +++ b/assimp.spec @@ -139,8 +139,7 @@ make -C build install DESTDIR=%{buildroot} mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files From 1f1b718371165c18509aeac1c1801934952d2ca8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:39 +0100 Subject: [PATCH 11/66] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- assimp.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/assimp.spec b/assimp.spec index e2389ce..f2230d2 100644 --- a/assimp.spec +++ b/assimp.spec @@ -2,7 +2,6 @@ Name: assimp Version: 3.3.1 Release: 18%{?dist} Summary: Library to import various 3D model formats into applications -Group: Development/Libraries # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT URL: http://assimp.sourceforge.net @@ -61,7 +60,6 @@ to these applications. %package devel Summary: Header files and libraries for assimp -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -72,7 +70,6 @@ you will need to install assimp-devel. %if 0%{?fedora} || 0%{?rhel} > 7 %package -n python3-%{name} Summary: Python 3 bindings for assimp -Group: Development/Libraries BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: python3 From 79a1733fe7037df0a8017d4d8f32b7e73548c302 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 13:59:01 +0000 Subject: [PATCH 12/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index f2230d2..71f24dd 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 18%{?dist} +Release: 19%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 3.3.1-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Jan 14 2019 Miro Hrončok - 3.3.1-18 - Subpackage python2-assimp has been removed See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal From 3f799c9906310e40ecd31a53f922cec2d968349b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 18:37:41 +0000 Subject: [PATCH 13/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 71f24dd..26b8cf3 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 19%{?dist} +Release: 20%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 3.3.1-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 3.3.1-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From a1149c24bf5eb04371bfd548795f49d35b564427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:01:26 +0200 Subject: [PATCH 14/66] Rebuilt for Python 3.8 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 26b8cf3..ae8270c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 20%{?dist} +Release: 21%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Mon Aug 19 2019 Miro Hrončok - 3.3.1-21 +- Rebuilt for Python 3.8 + * Wed Jul 24 2019 Fedora Release Engineering - 3.3.1-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From b6946fb35402a6b6ce6842620a173d3ad9b29d6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Oct 2019 13:50:33 +0200 Subject: [PATCH 15/66] Rebuilt for Python 3.8.0rc1 (#1748018) --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index ae8270c..33a99c3 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 21%{?dist} +Release: 22%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Thu Oct 03 2019 Miro Hrončok - 3.3.1-22 +- Rebuilt for Python 3.8.0rc1 (#1748018) + * Mon Aug 19 2019 Miro Hrončok - 3.3.1-21 - Rebuilt for Python 3.8 From 5c23ca982dffa05dd8c61b5e316946e9d8f6554c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 12:17:22 +0000 Subject: [PATCH 16/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 33a99c3..8f56173 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 22%{?dist} +Release: 23%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 3.3.1-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Oct 03 2019 Miro Hrončok - 3.3.1-22 - Rebuilt for Python 3.8.0rc1 (#1748018) From 4322cd006aa10212e0dd90d56bc82a12e8b41059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 02:40:50 +0200 Subject: [PATCH 17/66] Rebuilt for Python 3.9 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 8f56173..4cda6d6 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 23%{?dist} +Release: 24%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Tue May 26 2020 Miro Hrončok - 3.3.1-24 +- Rebuilt for Python 3.9 + * Tue Jan 28 2020 Fedora Release Engineering - 3.3.1-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From e88e96e5d113774f30be9e4dc8107e5696f14475 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 12:35:06 +0000 Subject: [PATCH 18/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 4cda6d6..cc0286a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 24%{?dist} +Release: 25%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 3.3.1-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue May 26 2020 Miro Hrončok - 3.3.1-24 - Rebuilt for Python 3.9 From 21b458346271dfacae01f2e59883e5f2e461eafb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:04:07 +0000 Subject: [PATCH 19/66] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index cc0286a..de705fc 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,6 +1,6 @@ Name: assimp Version: 3.3.1 -Release: 25%{?dist} +Release: 26%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -161,6 +161,10 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 3.3.1-26 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 3.3.1-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 463ff348a4d1c0749780b11026205b5d7358dd36 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 8 Aug 2020 17:28:02 -0400 Subject: [PATCH 20/66] Fix CMake macro FTBFS (rhbz#1863231) --- assimp.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/assimp.spec b/assimp.spec index de705fc..aace5e1 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,3 +1,4 @@ +%undefine __cmake_in_source_build Name: assimp Version: 3.3.1 Release: 26%{?dist} @@ -107,9 +108,8 @@ rm -r contrib/poly2tri %patch102 -p1 -b .systemirrxml %build -mkdir build -pushd build -%cmake .. \ +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DASSIMP_LIB_INSTALL_DIR=%{_libdir} \ -DASSIMP_BIN_INSTALL_DIR=%{_bindir} \ -DASSIMP_INCLUDE_INSTALL_DIR=%{_includedir} \ @@ -121,18 +121,17 @@ pushd build -DCMAKE_INSTALL_DOCDIR=%{_docdir} \ -DPOLY2TRI_INCLUDE_PATH=%{_includedir}/poly2tri \ -DSYSTEM_IRRXML=ON -popd # To use system polyclipping if assimp ever becomes compatible: # -DCLIPPER_INCLUDE_PATH=%{_includedir}/polyclipping -make %{?_smp_mflags} -C build + +%cmake_build # Fix file encoding dos2unix README LICENSE CREDITS port/PyAssimp/README.md iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.conv && mv -f CREDITS.conv CREDITS %install -rm -rf %{buildroot} -make -C build install DESTDIR=%{buildroot} +%cmake_install mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ From 028704e09888c6542752c5634281038c5de5491c Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 8 Aug 2020 17:52:14 -0400 Subject: [PATCH 21/66] Add patch to exclude build dir from doxygen --- assimp-3.3.1-cmakemacros.patch | 20 ++++++++++++++++++++ assimp.spec | 3 +++ 2 files changed, 23 insertions(+) create mode 100644 assimp-3.3.1-cmakemacros.patch diff --git a/assimp-3.3.1-cmakemacros.patch b/assimp-3.3.1-cmakemacros.patch new file mode 100644 index 0000000..7c6e17e --- /dev/null +++ b/assimp-3.3.1-cmakemacros.patch @@ -0,0 +1,20 @@ +diff -up ./doc/Doxyfile.in.cmakemacros ./doc/Doxyfile.in +--- ./doc/Doxyfile.in.cmakemacros 2020-08-08 17:47:39.902816214 -0400 ++++ ./doc/Doxyfile.in 2020-08-08 17:48:22.465554872 -0400 +@@ -664,7 +664,6 @@ WARN_LOGFILE = + + INPUT = @doxy_main_page@ \ + @PROJECT_SOURCE_DIR@ \ +- @PROJECT_BINARY_DIR@ \ + @PROJECT_SOURCE_DIR@/include/ \ + @PROJECT_SOURCE_DIR@/doc/dox.h \ + @PROJECT_SOURCE_DIR@/code/BaseImporter.h +@@ -725,7 +724,7 @@ RECURSIVE = YES + # 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 diff --git a/assimp.spec b/assimp.spec index aace5e1..5c369cf 100644 --- a/assimp.spec +++ b/assimp.spec @@ -22,6 +22,8 @@ Patch2: 0001-Assimp-cmake-provider-fix.patch # fix FTBFS on bigendian platform s390x/ppc64 Patch3: assimp-3.3.1-namespace-bigendian.patch Patch10: assimp-3.3.1-install-pkgconfig.patch +Patch11: assimp-3.3.1-cmakemacros.patch + #Upstream backports # Collada morph animation Patch100: 0001-Morph-animation-support-for-collada.patch @@ -106,6 +108,7 @@ rm -r contrib/poly2tri %patch100 -p1 -b .docfix %patch101 -p1 -b .qt3d %patch102 -p1 -b .systemirrxml +%patch11 -p0 -b .cmakemacros %build %cmake \ From 42edbb53f5bcce81d625da7826c3585b8a69f89a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 18 Aug 2020 15:42:13 -0600 Subject: [PATCH 22/66] Fix minor C++17 issues --- assimp-gcc11.patch | 12 ++++++++++++ assimp.spec | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 assimp-gcc11.patch diff --git a/assimp-gcc11.patch b/assimp-gcc11.patch new file mode 100644 index 0000000..2dfc8ad --- /dev/null +++ b/assimp-gcc11.patch @@ -0,0 +1,12 @@ +diff -Nrup a/code/D3MFImporter.cpp b/code/D3MFImporter.cpp +--- a/code/D3MFImporter.cpp 2020-08-18 15:36:02.127659541 -0600 ++++ b/code/D3MFImporter.cpp 2020-08-18 15:35:45.153696935 -0600 +@@ -227,7 +227,7 @@ private: + aiVector3D vertex; + vertex.x = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::x.c_str()), nullptr); + vertex.y = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::y.c_str()), nullptr); +- vertex.z = ai_strtof>(xmlReader->getAttributeValue(D3MF::XmlTag::z.c_str()), nullptr); ++ vertex.z = ai_strtof!=(xmlReader->getAttributeValue(D3MF::XmlTag::z.c_str()), nullptr); + + return vertex; + } diff --git a/assimp.spec b/assimp.spec index 5c369cf..9c63c0a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 3.3.1 -Release: 26%{?dist} +Release: 27%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -23,6 +23,7 @@ Patch2: 0001-Assimp-cmake-provider-fix.patch Patch3: assimp-3.3.1-namespace-bigendian.patch Patch10: assimp-3.3.1-install-pkgconfig.patch Patch11: assimp-3.3.1-cmakemacros.patch +Patch12: assimp-gcc11.patch #Upstream backports # Collada morph animation @@ -109,6 +110,7 @@ rm -r contrib/poly2tri %patch101 -p1 -b .qt3d %patch102 -p1 -b .systemirrxml %patch11 -p0 -b .cmakemacros +%patch12 -p1 -b .gcc11 %build %cmake \ @@ -163,6 +165,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Tue Aug 18 2020 Jeff Law - 3.3.1-27 +- Fix minor C++17 issues + * Sat Aug 01 2020 Fedora Release Engineering - 3.3.1-26 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 37df57e17a20c044f27569e718158ea4763bc9e0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 00:37:03 +0000 Subject: [PATCH 23/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 9c63c0a..9eb803a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 3.3.1 -Release: 27%{?dist} +Release: 28%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -165,6 +165,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 3.3.1-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Aug 18 2020 Jeff Law - 3.3.1-27 - Fix minor C++17 issues From 04fd9a117060bec1ef8714170548894310421e0a Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 8 Aug 2020 17:14:42 -0400 Subject: [PATCH 24/66] Update to release 5.0 --- ...to-decide-use-for-IrrXML-external-or.patch | 286 ------ 0001-Assimp-cmake-provider-fix.patch | 39 - ...een-properly-used-from-cmake-build-a.patch | 221 ---- ...-Morph-animation-support-for-collada.patch | 966 ------------------ assimp-3.3.1-namespace-bigendian.patch | 12 - assimp-3.3.1-unbundle.patch | 201 ---- assimp-5.0.1-assimpversion.patch | 12 + ...acros.patch => assimp-5.0.1-doxyfile.patch | 13 +- assimp-5.0.1-irrxml.patch | 46 + ...nfig.patch => assimp-5.0.1-pkgconfig.patch | 9 +- ...ath.patch => assimp-5.0.1-pythonpath.patch | 36 +- assimp-5.0.1-unbundle.patch | 281 +++++ assimp-gcc11.patch | 12 - assimp.spec | 133 +-- assimp_generate_tarball.sh | 21 +- 15 files changed, 454 insertions(+), 1834 deletions(-) delete mode 100644 0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch delete mode 100644 0001-Assimp-cmake-provider-fix.patch delete mode 100644 0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch delete mode 100644 0001-Morph-animation-support-for-collada.patch delete mode 100644 assimp-3.3.1-namespace-bigendian.patch delete mode 100644 assimp-3.3.1-unbundle.patch create mode 100644 assimp-5.0.1-assimpversion.patch rename assimp-3.3.1-cmakemacros.patch => assimp-5.0.1-doxyfile.patch (64%) create mode 100644 assimp-5.0.1-irrxml.patch rename assimp-3.3.1-install-pkgconfig.patch => assimp-5.0.1-pkgconfig.patch (54%) rename assimp-3.2.0-pythonpath.patch => assimp-5.0.1-pythonpath.patch (63%) create mode 100644 assimp-5.0.1-unbundle.patch delete mode 100644 assimp-gcc11.patch diff --git a/0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch b/0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch deleted file mode 100644 index c3d7a9b..0000000 --- a/0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch +++ /dev/null @@ -1,286 +0,0 @@ -From a52bb1d9b030ee888ab44b8ad9a2a2b8ebb909a3 Mon Sep 17 00:00:00 2001 -From: Helio Chissini de Castro -Date: Thu, 27 Apr 2017 17:19:51 +0200 -Subject: [PATCH] - Apply mechanism to decide use for IrrXML external or - internal - -Several distributions usually decide for shared external libraries -instead of an usual embedded, for security reasons, duplicatiion issues. -This change enable the possibility to set SYSTEM_IRRXML=ON for detect -and build against a system installed irrxml. -By default, the internal copy is compiled. - -Changes on build: -- Added a FindIrrXML cmake module. -- Moved the source recipe for proper CMakeLists inside contrib directory -- Includes aren't path based anymore, using the provided INCLUDE_DIR -- Compiler option are grouped in a singled entry on main CMakeLists ---- - CMakeLists.txt | 88 +++++++++++++++++++++++++++++++++++------- - cmake-modules/FindIrrXML.cmake | 17 ++++++++ - code/CMakeLists.txt | 20 +++------- - code/irrXMLWrapper.h | 6 +-- - contrib/CMakeLists.txt | 4 ++ - contrib/irrXML/CMakeLists.txt | 13 +++++++ - 6 files changed, 116 insertions(+), 32 deletions(-) - create mode 100644 cmake-modules/FindIrrXML.cmake - create mode 100644 contrib/CMakeLists.txt - create mode 100644 contrib/irrXML/CMakeLists.txt - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6989510..c2b3faa 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,7 +39,65 @@ SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required - cmake_minimum_required( VERSION 2.8 ) - PROJECT( Assimp ) - --OPTION(BUILD_SHARED_LIBS "Build package with shared libraries." ON) -+# All supported options ############################################### -+OPTION( BUILD_SHARED_LIBS -+ "Build package with shared libraries." -+ ON -+) -+OPTION( ASSIMP_DOUBLE_PRECISION -+ "Set to ON to enable double precision processing" -+ OFF -+) -+OPTION( ASSIMP_OPT_BUILD_PACKAGES -+ "Set to ON to generate CPack configuration files and packaging targets" -+ OFF -+) -+OPTION( ASSIMP_ANDROID_JNIIOSYSTEM -+ "Android JNI IOSystem support is active" -+ OFF -+) -+OPTION( ASSIMP_NO_EXPORT -+ "Disable Assimp's export functionality." -+ OFF -+) -+OPTION( ASSIMP_BUILD_ZLIB -+ "Build your own zlib" -+ OFF -+) -+option( ASSIMP_BUILD_ASSIMP_TOOLS -+ "If the supplementary tools for Assimp are built in addition to the library." -+ ON -+) -+option ( ASSIMP_BUILD_SAMPLES -+ "If the official samples are built as well (needs Glut)." -+ OFF -+) -+OPTION ( ASSIMP_BUILD_TESTS -+ "If the test suite for Assimp is built in addition to the library." -+ ON -+) -+OPTION ( ASSIMP_COVERALLS -+ "Eańable this to measure test coverage." -+ OFF -+) -+ -+option ( SYSTEM_IRRXML -+ "Use system installed Irrlicht/IrrXML library." -+ OFF -+) -+ -+#OPTION ( BUILD_DOCS -+# "Build documentation using Doxygen." -+# OFF -+#) -+ -+IF(MSVC) -+ set (CMAKE_PREFIX_PATH "D:\\libs\\devil") -+ OPTION( ASSIMP_INSTALL_PDB -+ "Install MSVC debug files." -+ ON -+ ) -+ENDIF(MSVC) - - IF(NOT BUILD_SHARED_LIBS) - SET(LINK_SEARCH_START_STATIC TRUE) -@@ -116,17 +174,17 @@ IF( UNIX ) - include(GNUInstallDirs) - ENDIF( UNIX ) - --IF((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW) -- IF (BUILD_SHARED_LIBS AND CMAKE_SIZEOF_VOID_P EQUAL 8) # -fPIC is only required for shared libs on 64 bit -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -- ENDIF() -+# Grouped compiler settings -+IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW) - # hide all not-exported symbols -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -std=c++0x" ) -+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -fPIC -Wall -std=c++0x" ) -+ SET(LIBSTDC++_LIBRARIES -lstdc++) -+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC" ) - ELSEIF(MSVC) - # enable multi-core compilation with MSVC - add_compile_options(/MP) --ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" ) -+ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fvisibility=hidden -fPIC -Wall -Wno-long-long -pedantic -std=c++11" ) - ELSEIF( CMAKE_COMPILER_IS_MINGW ) - SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" ) - ENDIF() -@@ -176,14 +233,14 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" "${C - - FIND_PACKAGE( DirectX ) - --OPTION ( ASSIMP_NO_EXPORT -- "Disable Assimp's export functionality." -- OFF --) -+#IF( BUILD_DOCS ) -+# add_subdirectory(doc) -+#ENDIF( BUILD_DOCS ) - --IF( CMAKE_COMPILER_IS_GNUCXX ) -- SET(LIBSTDC++_LIBRARIES -lstdc++) --ENDIF( CMAKE_COMPILER_IS_GNUCXX ) -+# Look for system installed irrXML -+IF ( SYSTEM_IRRXML ) -+ find_package( IrrXML REQUIRED ) -+ENDIF( SYSTEM_IRRXML ) - - # Search for external dependencies, and build them from source if not found - # Search for zlib -@@ -287,6 +344,7 @@ ELSE (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER ) - ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - -+ADD_SUBDIRECTORY(contrib) - - ADD_SUBDIRECTORY( code/ ) - option ( ASSIMP_BUILD_ASSIMP_TOOLS -diff --git a/cmake-modules/FindIrrXML.cmake b/cmake-modules/FindIrrXML.cmake -new file mode 100644 -index 0000000..5434e0b ---- /dev/null -+++ b/cmake-modules/FindIrrXML.cmake -@@ -0,0 +1,17 @@ -+# Find IrrXMl from irrlicht project -+# -+# Find LibIrrXML headers and library -+# -+# IRRXML_FOUND - IrrXML found -+# IRRXML_INCLUDE_DIR - Headers location -+# IRRXML_LIBRARY - IrrXML main library -+ -+find_path(IRRXML_INCLUDE_DIR irrXML.h -+ PATH_SUFFIXES include/irrlicht include/irrxml) -+find_library(IRRXML_LIBRARY IrrXML) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(IrrXML REQUIRED_VARS IRRXML_INCLUDE_DIR IRRXML_LIBRARY) -+ -+ -+mark_as_advanced(IRRXML_INCLUDE_DIR IRRXML_LIBRARY) -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 35ecf50..52073d1 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -542,6 +542,9 @@ SET( PostProcessing_SRCS - ) - SOURCE_GROUP( PostProcessing FILES ${PostProcessing_SRCS}) - -+SET( IrrXML_SRCS irrXMLWrapper.h ) -+SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS}) -+ - ADD_ASSIMP_IMPORTER( Q3D - Q3DLoader.cpp - Q3DLoader.h -@@ -637,18 +640,6 @@ SET( Extra_SRCS - ) - SOURCE_GROUP( Extra FILES ${Extra_SRCS}) - --SET( IrrXML_SRCS -- irrXMLWrapper.h -- ../contrib/irrXML/CXMLReaderImpl.h -- ../contrib/irrXML/heapsort.h -- ../contrib/irrXML/irrArray.h -- ../contrib/irrXML/irrString.h -- ../contrib/irrXML/irrTypes.h -- ../contrib/irrXML/irrXML.cpp -- ../contrib/irrXML/irrXML.h --) --SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS}) -- - SET( ConvertUTF_SRCS - ../contrib/ConvertUTF/ConvertUTF.h - ../contrib/ConvertUTF/ConvertUTF.c -@@ -756,7 +747,8 @@ SET( assimp_src - ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - - INCLUDE_DIRECTORIES( -- ../contrib/openddlparser/include -+ ${IRRXML_INCLUDE_DIR} -+ ../contrib/openddlparser/include - ) - - IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) -@@ -766,7 +758,7 @@ ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) - - ADD_LIBRARY( assimp ${assimp_src} ) - --TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ) -+TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} ) - - if(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM) - set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI) -diff --git a/code/irrXMLWrapper.h b/code/irrXMLWrapper.h -index 41e4188..9d96456 100644 ---- a/code/irrXMLWrapper.h -+++ b/code/irrXMLWrapper.h -@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #define INCLUDED_AI_IRRXML_WRAPPER - - // some long includes .... --#include "./../contrib/irrXML/irrXML.h" -+#include - #include "./../include/assimp/IOStream.hpp" - #include "BaseImporter.h" - #include -@@ -128,8 +128,8 @@ public: - - // ---------------------------------------------------------------------------------- - //! Returns size of file in bytes -- virtual int getSize() { -- return (int)data.size(); -+ virtual long getSize() const { -+ return (long)data.size(); - } - - private: -diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt -new file mode 100644 -index 0000000..362f165 ---- /dev/null -+++ b/contrib/CMakeLists.txt -@@ -0,0 +1,4 @@ -+# Compile internal irrXML only if system is not requested -+if( NOT SYSTEM_IRRXML ) -+ add_subdirectory(irrXML) -+endif( NOT SYSTEM_IRRXML ) -diff --git a/contrib/irrXML/CMakeLists.txt b/contrib/irrXML/CMakeLists.txt -new file mode 100644 -index 0000000..82ede3a ---- /dev/null -+++ b/contrib/irrXML/CMakeLists.txt -@@ -0,0 +1,13 @@ -+set( IrrXML_SRCS -+ CXMLReaderImpl.h -+ heapsort.h -+ irrArray.h -+ irrString.h -+ irrTypes.h -+ irrXML.cpp -+ irrXML.h -+) -+ -+add_library(IrrXML STATIC ${IrrXML_SRCS}) -+set(IRRXML_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE INTERNAL "IrrXML_Include" ) -+set(IRRXML_LIBRARY "IrrXML" CACHE INTERNAL "IrrXML" ) --- -2.9.3 - diff --git a/0001-Assimp-cmake-provider-fix.patch b/0001-Assimp-cmake-provider-fix.patch deleted file mode 100644 index e3567a1..0000000 --- a/0001-Assimp-cmake-provider-fix.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 584a0923a3c78304974eb05930fbb908edbc8c8c Mon Sep 17 00:00:00 2001 -From: Helio Chissini de Castro -Date: Tue, 18 Apr 2017 19:21:30 +0200 -Subject: [PATCH] Assimp cmake provider fix - ---- - assimp-config.cmake.in | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/assimp-config.cmake.in b/assimp-config.cmake.in -index e06cc10..9224b9b 100644 ---- a/assimp-config.cmake.in -+++ b/assimp-config.cmake.in -@@ -10,10 +10,7 @@ - # ASSIMP_LIBRARY_DIRS - link directories - # ASSIMP_LIBRARIES - libraries to link plugins with - # ASSIMP_Boost_VERSION - the boost version assimp was compiled with --get_filename_component(_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) --get_filename_component(_PREFIX "${_PREFIX}" PATH) --get_filename_component(_PREFIX "${_PREFIX}" PATH) --get_filename_component(ASSIMP_ROOT_DIR "${_PREFIX}" PATH) -+set(ASSIMP_ROOT_DIR "@CMAKE_INSTALL_PREFIX@") - - if( MSVC ) - # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix -@@ -45,8 +42,8 @@ if( WIN32 ) - set( ASSIMP_CXX_FLAGS " -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") - endif() - set( ASSIMP_LINK_FLAGS "" ) --set( ASSIMP_LIBRARY_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_LIB_INSTALL_DIR@") --set( ASSIMP_INCLUDE_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_INCLUDE_INSTALL_DIR@") -+set( ASSIMP_LIBRARY_DIRS "@ASSIMP_LIB_INSTALL_DIR@") -+set( ASSIMP_INCLUDE_DIRS "@ASSIMP_INCLUDE_INSTALL_DIR@") - set( ASSIMP_LIBRARIES assimp${ASSIMP_LIBRARY_SUFFIX}) - set( ASSIMP_LIBRARIES ${ASSIMP_LIBRARIES}@CMAKE_DEBUG_POSTFIX@) - --- -2.9.3 - diff --git a/0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch b/0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch deleted file mode 100644 index dd009bf..0000000 --- a/0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch +++ /dev/null @@ -1,221 +0,0 @@ -From c63f886c9d12b88fc65afcd379bb086984dd44c2 Mon Sep 17 00:00:00 2001 -From: Helio Chissini de Castro -Date: Tue, 18 Apr 2017 14:51:17 +0200 -Subject: [PATCH] Enable doxygen been properly used from cmake build and - install. - -Current documentation lacks a proper directory handling and switch for -Unix like systems. -The option BUILD_DOCS are added as disable by default, even so the -Doxyfile file is generated for a manual build. - -Option HTML_OUTPUT are made cached to be properly replaced, as usually -done by some Linux distributions - -Microsoft CHM option is enabled if MSVC is detected. ---- - CMakeLists.txt | 11 ++++++++++ - doc/CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++++++++ - doc/{Doxyfile => Doxyfile.in} | 46 ++++++++++-------------------------------- - 3 files changed, 69 insertions(+), 35 deletions(-) - create mode 100644 doc/CMakeLists.txt - rename doc/{Doxyfile => Doxyfile.in} (98%) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8455bb8..6989510 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,6 +40,7 @@ cmake_minimum_required( VERSION 2.8 ) - PROJECT( Assimp ) - - OPTION(BUILD_SHARED_LIBS "Build package with shared libraries." ON) -+ - IF(NOT BUILD_SHARED_LIBS) - SET(LINK_SEARCH_START_STATIC TRUE) - ENDIF(NOT BUILD_SHARED_LIBS) -@@ -58,6 +59,12 @@ SET(ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used f - add_definitions( -DOPENDDL_NO_USE_CPP11 ) - set_property( GLOBAL PROPERTY CXX_STANDARD 11 ) - -+OPTION ( BUILD_DOCS -+ "Build documentation using Doxygen." -+ OFF -+) -+add_subdirectory(doc) -+ - # Get the current working branch - EXECUTE_PROCESS( - COMMAND git rev-parse --abbrev-ref HEAD -@@ -105,6 +112,10 @@ IF( CMAKE_COMPILER_IS_MINGW ) - ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER ) - ENDIF() - -+IF( UNIX ) -+ include(GNUInstallDirs) -+ENDIF( UNIX ) -+ - IF((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW) - IF (BUILD_SHARED_LIBS AND CMAKE_SIZEOF_VOID_P EQUAL 8) # -fPIC is only required for shared libs on 64 bit - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -new file mode 100644 -index 0000000..0ad04cf ---- /dev/null -+++ b/doc/CMakeLists.txt -@@ -0,0 +1,51 @@ -+# Only test for Doxygent if BUILD_DOCS are ON -+# We will configure Doxygen output anyway in case -+# of manual generation -+if( BUILD_DOCS ) -+ find_package( Doxygen REQUIRED ) -+endif( BUILD_DOCS ) -+ -+set( HTML_OUTPUT "AssimpDoc_Html" CACHE STRING "Output directory for generated HTML documentation. Defaults to AssimpDoc_Html." ) -+ -+# Enable Microsoft CHM help style only on Windows -+set( MICROSOFT_HELP_WORKSHOP "NO") -+if( MSVC ) -+ set( MICROSOFT_HELP_WORKSHOP "YES" ) -+endif( MSVC ) -+ -+configure_file( -+ ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in -+ ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile -+ @ONLY -+) -+ -+add_custom_target( -+ docs ALL -+ DEPENDS docs.done -+) -+ -+add_custom_command( -+ OUTPUT docs.done -+ COMMAND ${DOXYGEN_EXECUTABLE} -+ COMMAND ${CMAKE_COMMAND} -E touch docs.done -+ COMMENT "Generating assimp documentation" -+ VERBATIM -+ ) -+ -+IF( UNIX ) -+ include(GNUInstallDirs) -+ENDIF( UNIX ) -+ -+if( DEFINED CMAKE_INSTALL_DOCDIR ) -+ install( -+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${HTML_OUTPUT} -+ 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 -+ DESTINATION ${CMAKE_INSTALL_DOCDIR}/${HTML_OUTPUT} -+ ) -+endif( DEFINED CMAKE_INSTALL_DOCDIR ) -+ -diff --git a/doc/Doxyfile b/doc/Doxyfile.in -similarity index 98% -rename from doc/Doxyfile -rename to doc/Doxyfile.in -index 64dd5d2..ebb6b72 100644 ---- a/doc/Doxyfile -+++ b/doc/Doxyfile.in -@@ -140,7 +140,8 @@ FULL_PATH_NAMES = NO - # relative paths, which will be relative from the directory where doxygen is - # started. - --STRIP_FROM_PATH = -+STRIP_FROM_PATH = @PROJECT_SOURCE_DIR@ \ -+ @PROJECT_BINARY_DIR@ - - # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of - # the path mentioned in the documentation of a class, which tells -@@ -339,22 +340,6 @@ INLINE_SIMPLE_STRUCTS = NO - - TYPEDEF_HIDES_STRUCT = YES - --# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to --# determine which symbols to keep in memory and which to flush to disk. --# When the cache is full, less often used symbols will be written to disk. --# For small to medium size projects (<1000 input files) the default value is --# probably good enough. For larger projects a too small cache size can cause --# doxygen to be busy swapping symbols to and from disk most of the time --# causing a significant performance penalty. --# If the system has enough physical memory increasing the cache will improve the --# performance by keeping more symbols in memory. Note that the value works on --# a logarithmic scale so increasing the size by one will roughly double the --# memory usage. The cache size is given by this formula: --# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, --# corresponding to a cache size of 2^16 = 65536 symbols. -- --SYMBOL_CACHE_SIZE = 0 -- - # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be - # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given - # their name and scope. Since this can be an expensive process and often the -@@ -677,9 +662,12 @@ WARN_LOGFILE = - # directories like "/usr/src/myproject". Separate the files or directories - # with spaces. - --INPUT = ../include/ \ -- ../doc/dox.h \ -- ../code/BaseImporter.h -+INPUT = @doxy_main_page@ \ -+ @PROJECT_SOURCE_DIR@ \ -+ @PROJECT_BINARY_DIR@ \ -+ @PROJECT_SOURCE_DIR@/include/ \ -+ @PROJECT_SOURCE_DIR@/doc/dox.h \ -+ @PROJECT_SOURCE_DIR@/code/BaseImporter.h - - # This tag can be used to specify the character encoding of the source files - # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -@@ -919,7 +907,7 @@ GENERATE_HTML = YES - # If a relative path is entered the value of OUTPUT_DIRECTORY will be - # put in front of it. If left blank `html' will be used as the default path. - --HTML_OUTPUT = AssimpDoc_Html -+HTML_OUTPUT = @HTML_OUTPUT@ - - # The HTML_FILE_EXTENSION tag can be used to specify the file extension for - # each generated HTML page (for example: .htm,.php,.asp). If it is left blank -@@ -953,7 +941,7 @@ HTML_FOOTER = - # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this - # tag will in the future become obsolete. - --HTML_STYLESHEET = style.css -+# HTML_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/style.css - - # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional - # user-defined cascading style sheet that is included after the standard -@@ -1064,7 +1052,7 @@ DOCSET_PUBLISHER_NAME = Publisher - # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) - # of the generated HTML documentation. - --GENERATE_HTMLHELP = YES -+GENERATE_HTMLHELP = @MICROSOFT_HELP_WORKSHOP@ - - # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can - # be used to specify the file name of the resulting .chm file. You -@@ -1504,18 +1492,6 @@ GENERATE_XML = NO - - XML_OUTPUT = xml - --# The XML_SCHEMA tag can be used to specify an XML schema, --# which can be used by a validating XML parser to check the --# syntax of the XML files. -- --XML_SCHEMA = -- --# The XML_DTD tag can be used to specify an XML DTD, --# which can be used by a validating XML parser to check the --# syntax of the XML files. -- --XML_DTD = -- - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will - # dump the program listings (including syntax highlighting - # and cross-referencing information) to the XML output. Note that --- -2.9.3 - diff --git a/0001-Morph-animation-support-for-collada.patch b/0001-Morph-animation-support-for-collada.patch deleted file mode 100644 index c955d5c..0000000 --- a/0001-Morph-animation-support-for-collada.patch +++ /dev/null @@ -1,966 +0,0 @@ -From 42e353f2a672baed485c03acf30529c77092ece9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= -Date: Thu, 12 Jan 2017 13:41:32 +0200 -Subject: [PATCH] Morph animation support for collada - ---- - code/CMakeLists.txt | 2 + - code/ColladaHelper.h | 31 +++++ - code/ColladaLoader.cpp | 310 ++++++++++++++++++++++++++++++++++++++++++------ - code/ColladaLoader.h | 5 + - code/ColladaParser.cpp | 48 +++++++- - code/CreateAnimMesh.cpp | 92 ++++++++++++++ - code/CreateAnimMesh.h | 56 +++++++++ - include/assimp/anim.h | 95 +++++++++++++-- - include/assimp/mesh.h | 36 +++++- - 9 files changed, 623 insertions(+), 52 deletions(-) - create mode 100644 code/CreateAnimMesh.cpp - create mode 100644 code/CreateAnimMesh.h - -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 35ecf50..e0747d6 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -171,6 +171,8 @@ SET( Common_SRCS - Bitmap.h - XMLTools.h - Version.cpp -+ CreateAnimMesh.h -+ CreateAnimMesh.cpp - ) - SOURCE_GROUP(Common FILES ${Common_SRCS}) - -diff --git a/code/ColladaHelper.h b/code/ColladaHelper.h -index 5a51642..5ff4904 100644 ---- a/code/ColladaHelper.h -+++ b/code/ColladaHelper.h -@@ -89,6 +89,21 @@ enum InputType - IT_Bitangent - }; - -+/** Supported controller types */ -+enum ControllerType -+{ -+ Skin, -+ Morph -+}; -+ -+/** Supported morph methods */ -+enum MorphMethod -+{ -+ Normalized, -+ Relative -+}; -+ -+ - /** Contains all data for one of the different transformation types */ - struct Transform - { -@@ -380,6 +395,12 @@ enum PrimitiveType - /** A skeleton controller to deform a mesh with the use of joints */ - struct Controller - { -+ // controller type -+ ControllerType mType; -+ -+ // Morphing method if type is Morph -+ MorphMethod mMethod; -+ - // the URL of the mesh deformed by the controller. - std::string mMeshId; - -@@ -402,6 +423,9 @@ struct Controller - - // JointIndex-WeightIndex pairs for all vertices - std::vector< std::pair > mWeights; -+ -+ std::string mMorphTarget; -+ std::string mMorphWeight; - }; - - /** A collada material. Pretty much the only member is a reference to an effect. */ -@@ -577,6 +601,12 @@ struct AnimationChannel - std::string mSourceTimes; - /** Source URL of the value values. Collada calls them "output". */ - std::string mSourceValues; -+ /** Source URL of the IN_TANGENT semantic values. */ -+ std::string mInTanValues; -+ /** Source URL of the OUT_TANGENT semantic values. */ -+ std::string mOutTanValues; -+ /** Source URL of the INTERPOLATION semantic values. */ -+ std::string mInterpolationValues; - }; - - /** An animation. Container for 0-x animation channels or 0-x animations */ -@@ -645,6 +675,7 @@ struct Animation - struct ChannelEntry - { - const Collada::AnimationChannel* mChannel; ///> the source channel -+ std::string mTargetId; - std::string mTransformId; // the ID of the transformation step of the node which is influenced - size_t mTransformIndex; // Index into the node's transform chain to apply the channel to - size_t mSubElement; // starting index inside the transform data -diff --git a/code/ColladaLoader.cpp b/code/ColladaLoader.cpp -index 6cc0f85..a3b6d6e 100644 ---- a/code/ColladaLoader.cpp -+++ b/code/ColladaLoader.cpp -@@ -55,6 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "ParsingUtils.h" - #include "SkeletonMeshBuilder.h" - #include "Defines.h" -+#include "CreateAnimMesh.h" - - #include "time.h" - #include "math.h" -@@ -148,6 +149,7 @@ void ColladaLoader::InternReadFile( const std::string& pFile, aiScene* pScene, I - mMeshIndexByID.clear(); - mMaterialIndexByName.clear(); - mMeshes.clear(); -+ mTargetMeshes.clear(); - newMats.clear(); - mLights.clear(); - mCameras.clear(); -@@ -562,6 +564,21 @@ void ColladaLoader::BuildMeshesForNode( const ColladaParser& pParser, const Coll - } - - // ------------------------------------------------------------------------------------------------ -+// Find mesh from either meshes or morph target meshes -+aiMesh *ColladaLoader::findMesh(std::string meshid) -+{ -+ for (unsigned int i = 0; i < mMeshes.size(); i++) -+ if (std::string(mMeshes[i]->mName.data) == meshid) -+ return mMeshes[i]; -+ -+ for (unsigned int i = 0; i < mTargetMeshes.size(); i++) -+ if (std::string(mTargetMeshes[i]->mName.data) == meshid) -+ return mTargetMeshes[i]; -+ -+ return NULL; -+} -+ -+// ------------------------------------------------------------------------------------------------ - // Creates a mesh for the given ColladaMesh face subset and returns the newly created mesh - aiMesh* ColladaLoader::CreateMesh( const ColladaParser& pParser, const Collada::Mesh* pSrcMesh, const Collada::SubMesh& pSubMesh, - const Collada::Controller* pSrcController, size_t pStartVertex, size_t pStartFace) -@@ -646,8 +663,70 @@ aiMesh* ColladaLoader::CreateMesh( const ColladaParser& pParser, const Collada:: - face.mIndices[b] = vertex++; - } - -+ // create morph target meshes if any -+ std::vector targetMeshes; -+ std::vector targetWeights; -+ Collada::MorphMethod method; -+ -+ for(std::map::const_iterator it = pParser.mControllerLibrary.begin(); -+ it != pParser.mControllerLibrary.end(); it++) -+ { -+ const Collada::Controller &c = it->second; -+ const Collada::Mesh* baseMesh = pParser.ResolveLibraryReference( pParser.mMeshLibrary, c.mMeshId); -+ -+ if (c.mType == Collada::Morph && baseMesh->mName == pSrcMesh->mName) -+ { -+ const Collada::Accessor& targetAccessor = pParser.ResolveLibraryReference( pParser.mAccessorLibrary, c.mMorphTarget); -+ const Collada::Accessor& weightAccessor = pParser.ResolveLibraryReference( pParser.mAccessorLibrary, c.mMorphWeight); -+ const Collada::Data& targetData = pParser.ResolveLibraryReference( pParser.mDataLibrary, targetAccessor.mSource); -+ const Collada::Data& weightData = pParser.ResolveLibraryReference( pParser.mDataLibrary, weightAccessor.mSource); -+ -+ // take method -+ method = c.mMethod; -+ -+ if (!targetData.mIsStringArray) -+ throw DeadlyImportError( "target data must contain id. "); -+ if (weightData.mIsStringArray) -+ throw DeadlyImportError( "target weight data must not be textual "); -+ -+ for (unsigned int i = 0; i < targetData.mStrings.size(); ++i) -+ { -+ const Collada::Mesh* targetMesh = pParser.ResolveLibraryReference(pParser.mMeshLibrary, targetData.mStrings.at(i)); -+ -+ aiMesh *aimesh = findMesh(targetMesh->mName); -+ if (!aimesh) -+ { -+ if (targetMesh->mSubMeshes.size() > 1) -+ throw DeadlyImportError( "Morhing target mesh must be a single"); -+ aimesh = CreateMesh(pParser, targetMesh, targetMesh->mSubMeshes.at(0), NULL, 0, 0); -+ mTargetMeshes.push_back(aimesh); -+ } -+ targetMeshes.push_back(aimesh); -+ } -+ for (unsigned int i = 0; i < weightData.mValues.size(); ++i) -+ targetWeights.push_back(weightData.mValues.at(i)); -+ } -+ } -+ if (targetMeshes.size() > 0 && targetWeights.size() == targetMeshes.size()) -+ { -+ std::vector animMeshes; -+ for (unsigned int i = 0; i < targetMeshes.size(); i++) -+ { -+ aiAnimMesh *animMesh = aiCreateAnimMesh(targetMeshes.at(i)); -+ animMesh->mWeight = targetWeights[i]; -+ animMeshes.push_back(animMesh); -+ } -+ dstMesh->mMethod = (method == Collada::Relative) -+ ? aiMorphingMethod_MORPH_RELATIVE -+ : aiMorphingMethod_MORPH_NORMALIZED; -+ dstMesh->mAnimMeshes = new aiAnimMesh*[animMeshes.size()]; -+ dstMesh->mNumAnimMeshes = animMeshes.size(); -+ for (unsigned int i = 0; i < animMeshes.size(); i++) -+ dstMesh->mAnimMeshes[i] = animMeshes.at(i); -+ } -+ - // create bones if given -- if( pSrcController) -+ if( pSrcController && pSrcController->mType == Collada::Skin) - { - // refuse if the vertex count does not match - // if( pSrcController->mWeightCounts.size() != dstMesh->mNumVertices) -@@ -946,6 +1025,68 @@ void ColladaLoader::StoreAnimations( aiScene* pScene, const ColladaParser& pPars - CreateAnimation( pScene, pParser, pSrcAnim, animName); - } - -+struct MorphTimeValues -+{ -+ float mTime; -+ struct key -+ { -+ float mWeight; -+ unsigned int mValue; -+ }; -+ std::vector mKeys; -+}; -+ -+void insertMorphTimeValue(std::vector &values, float time, float weight, unsigned int value) -+{ -+ MorphTimeValues::key k; -+ k.mValue = value; -+ k.mWeight = weight; -+ if (values.size() == 0 || time < values[0].mTime) -+ { -+ MorphTimeValues val; -+ val.mTime = time; -+ val.mKeys.push_back(k); -+ values.insert(values.begin(), val); -+ return; -+ } -+ if (time > values.back().mTime) -+ { -+ MorphTimeValues val; -+ val.mTime = time; -+ val.mKeys.push_back(k); -+ values.insert(values.end(), val); -+ return; -+ } -+ for (unsigned int i = 0; i < values.size(); i++) -+ { -+ if (std::abs(time - values[i].mTime) < 1e-6f) -+ { -+ values[i].mKeys.push_back(k); -+ return; -+ } else if (time > values[i].mTime && time < values[i+1].mTime) -+ { -+ MorphTimeValues val; -+ val.mTime = time; -+ val.mKeys.push_back(k); -+ values.insert(values.begin() + i, val); -+ return; -+ } -+ } -+ // should not get here -+} -+ -+float getWeightAtKey(const std::vector &values, int key, unsigned int value) -+{ -+ for (unsigned int i = 0; i < values[key].mKeys.size(); i++) -+ { -+ if (values[key].mKeys[i].mValue == value) -+ return values[key].mKeys[i].mWeight; -+ } -+ // no value at key found, try to interpolate if present at other keys. if not, return zero -+ // TODO: interpolation -+ return 0.0f; -+} -+ - // ------------------------------------------------------------------------------------------------ - // Constructs the animation for the given source anim - void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pParser, const Collada::Animation* pSrcAnim, const std::string& pName) -@@ -955,6 +1096,8 @@ void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pPars - CollectNodes( pScene->mRootNode, nodes); - - std::vector anims; -+ std::vector morphAnims; -+ - for( std::vector::const_iterator nit = nodes.begin(); nit != nodes.end(); ++nit) - { - // find all the collada anim channels which refer to the current node -@@ -978,7 +1121,20 @@ void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pPars - // find the slash that separates the node name - there should be only one - std::string::size_type slashPos = srcChannel.mTarget.find( '/'); - if( slashPos == std::string::npos) -+ { -+ std::string::size_type targetPos = srcChannel.mTarget.find(srcNode->mID); -+ if (targetPos == std::string::npos) -+ continue; -+ -+ // not node transform, but something else. store as unknown animation channel for now -+ entry.mChannel = &(*cit); -+ entry.mTargetId = srcChannel.mTarget.substr(targetPos + pSrcAnim->mName.length(), -+ srcChannel.mTarget.length() - targetPos - pSrcAnim->mName.length()); -+ if (entry.mTargetId.front() == '-') -+ entry.mTargetId = entry.mTargetId.substr(1); -+ entries.push_back(entry); - continue; -+ } - if( srcChannel.mTarget.find( '/', slashPos+1) != std::string::npos) - continue; - std::string targetID = srcChannel.mTarget.substr( 0, slashPos); -@@ -1058,8 +1214,14 @@ void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pPars - if( srcNode->mTransforms[a].mID == entry.mTransformId) - entry.mTransformIndex = a; - -- if( entry.mTransformIndex == SIZE_MAX) { -- continue; -+ if( entry.mTransformIndex == SIZE_MAX) -+ { -+ if (entry.mTransformId.find("morph-weights") != std::string::npos) -+ { -+ entry.mTargetId = entry.mTransformId; -+ entry.mTransformId = ""; -+ } else -+ continue; - } - - entry.mChannel = &(*cit); -@@ -1203,49 +1365,125 @@ void ColladaLoader::CreateAnimation( aiScene* pScene, const ColladaParser& pPars - // ai_assert( resultTrafos.size() > 0); - - // build an animation channel for the given node out of these trafo keys -- if( !resultTrafos.empty() ) -- { -- aiNodeAnim* dstAnim = new aiNodeAnim; -- dstAnim->mNodeName = nodeName; -- dstAnim->mNumPositionKeys = resultTrafos.size(); -- dstAnim->mNumRotationKeys= resultTrafos.size(); -- dstAnim->mNumScalingKeys = resultTrafos.size(); -- dstAnim->mPositionKeys = new aiVectorKey[resultTrafos.size()]; -- dstAnim->mRotationKeys = new aiQuatKey[resultTrafos.size()]; -- dstAnim->mScalingKeys = new aiVectorKey[resultTrafos.size()]; -- -- for( size_t a = 0; a < resultTrafos.size(); ++a) -- { -- aiMatrix4x4 mat = resultTrafos[a]; -- double time = double( mat.d4); // remember? time is stored in mat.d4 -- mat.d4 = 1.0f; -- -- dstAnim->mPositionKeys[a].mTime = time; -- dstAnim->mRotationKeys[a].mTime = time; -- dstAnim->mScalingKeys[a].mTime = time; -- mat.Decompose( dstAnim->mScalingKeys[a].mValue, dstAnim->mRotationKeys[a].mValue, dstAnim->mPositionKeys[a].mValue); -- } -+ if( !resultTrafos.empty() ) -+ { -+ aiNodeAnim* dstAnim = new aiNodeAnim; -+ dstAnim->mNodeName = nodeName; -+ dstAnim->mNumPositionKeys = resultTrafos.size(); -+ dstAnim->mNumRotationKeys= resultTrafos.size(); -+ dstAnim->mNumScalingKeys = resultTrafos.size(); -+ dstAnim->mPositionKeys = new aiVectorKey[resultTrafos.size()]; -+ dstAnim->mRotationKeys = new aiQuatKey[resultTrafos.size()]; -+ dstAnim->mScalingKeys = new aiVectorKey[resultTrafos.size()]; -+ -+ for( size_t a = 0; a < resultTrafos.size(); ++a) -+ { -+ aiMatrix4x4 mat = resultTrafos[a]; -+ double time = double( mat.d4); // remember? time is stored in mat.d4 -+ mat.d4 = 1.0f; -+ -+ dstAnim->mPositionKeys[a].mTime = time; -+ dstAnim->mRotationKeys[a].mTime = time; -+ dstAnim->mScalingKeys[a].mTime = time; -+ mat.Decompose( dstAnim->mScalingKeys[a].mValue, dstAnim->mRotationKeys[a].mValue, dstAnim->mPositionKeys[a].mValue); -+ } - -- anims.push_back( dstAnim); -- } else -- { -- DefaultLogger::get()->warn( "Collada loader: found empty animation channel, ignored. Please check your exporter."); -- } -+ anims.push_back( dstAnim); -+ } else -+ { -+ DefaultLogger::get()->warn( "Collada loader: found empty animation channel, ignored. Please check your exporter."); -+ } -+ -+ if( !entries.empty() && entries.front().mTimeAccessor->mCount > 0 ) -+ { -+ std::vector morphChannels; -+ for( std::vector::iterator it = entries.begin(); it != entries.end(); ++it) -+ { -+ Collada::ChannelEntry& e = *it; -+ -+ // skip non-transform types -+ if (e.mTargetId.empty()) -+ continue; -+ -+ if (e.mTargetId.find("morph-weights") != std::string::npos) -+ morphChannels.push_back(e); -+ } -+ if (morphChannels.size() > 0) -+ { -+ // either 1) morph weight animation count should contain morph target count channels -+ // or 2) one channel with morph target count arrays -+ // assume first -+ -+ aiMeshMorphAnim *morphAnim = new aiMeshMorphAnim; -+ morphAnim->mName.Set(nodeName); -+ -+ std::vector morphTimeValues; -+ -+ int morphAnimChannelIndex = 0; -+ for( std::vector::iterator it = morphChannels.begin(); it != morphChannels.end(); ++it) -+ { -+ Collada::ChannelEntry& e = *it; -+ std::string::size_type apos = e.mTargetId.find('('); -+ std::string::size_type bpos = e.mTargetId.find(')'); -+ if (apos == std::string::npos || bpos == std::string::npos) -+ // unknown way to specify weight -> ignore this animation -+ continue; -+ -+ // weight target can be in format Weight_M_N, Weight_N, WeightN, or some other way -+ // we ignore the name and just assume the channels are in the right order -+ for (unsigned int i = 0; i < e.mTimeData->mValues.size(); i++) -+ insertMorphTimeValue(morphTimeValues, e.mTimeData->mValues.at(i), e.mValueData->mValues.at(i), morphAnimChannelIndex); -+ -+ ++morphAnimChannelIndex; -+ } -+ -+ morphAnim->mNumKeys = morphTimeValues.size(); -+ morphAnim->mKeys = new aiMeshMorphKey[morphAnim->mNumKeys]; -+ for (unsigned int key = 0; key < morphAnim->mNumKeys; key++) -+ { -+ morphAnim->mKeys[key].mNumValuesAndWeights = morphChannels.size(); -+ morphAnim->mKeys[key].mValues = new unsigned int [morphChannels.size()]; -+ morphAnim->mKeys[key].mWeights = new double [morphChannels.size()]; -+ -+ morphAnim->mKeys[key].mTime = morphTimeValues[key].mTime; -+ for (unsigned int valueIndex = 0; valueIndex < morphChannels.size(); valueIndex++) -+ { -+ morphAnim->mKeys[key].mValues[valueIndex] = valueIndex; -+ morphAnim->mKeys[key].mWeights[valueIndex] = getWeightAtKey(morphTimeValues, key, valueIndex); -+ } -+ } -+ -+ morphAnims.push_back(morphAnim); -+ } -+ } - } - -- if( !anims.empty()) -+ if( !anims.empty() || !morphAnims.empty()) - { - aiAnimation* anim = new aiAnimation; - anim->mName.Set( pName); - anim->mNumChannels = anims.size(); -- anim->mChannels = new aiNodeAnim*[anims.size()]; -- std::copy( anims.begin(), anims.end(), anim->mChannels); -+ if (anim->mNumChannels > 0) -+ { -+ anim->mChannels = new aiNodeAnim*[anims.size()]; -+ std::copy( anims.begin(), anims.end(), anim->mChannels); -+ } -+ anim->mNumMorphMeshChannels = morphAnims.size(); -+ if (anim->mNumMorphMeshChannels > 0) -+ { -+ anim->mMorphMeshChannels = new aiMeshMorphAnim*[anim->mNumMorphMeshChannels]; -+ std::copy( morphAnims.begin(), morphAnims.end(), anim->mMorphMeshChannels); -+ } - anim->mDuration = 0.0f; - for( size_t a = 0; a < anims.size(); ++a) - { -- anim->mDuration = std::max( anim->mDuration, anims[a]->mPositionKeys[anims[a]->mNumPositionKeys-1].mTime); -- anim->mDuration = std::max( anim->mDuration, anims[a]->mRotationKeys[anims[a]->mNumRotationKeys-1].mTime); -- anim->mDuration = std::max( anim->mDuration, anims[a]->mScalingKeys[anims[a]->mNumScalingKeys-1].mTime); -+ anim->mDuration = std::max( anim->mDuration, anims[a]->mPositionKeys[anims[a]->mNumPositionKeys-1].mTime); -+ anim->mDuration = std::max( anim->mDuration, anims[a]->mRotationKeys[anims[a]->mNumRotationKeys-1].mTime); -+ anim->mDuration = std::max( anim->mDuration, anims[a]->mScalingKeys[anims[a]->mNumScalingKeys-1].mTime); -+ } -+ for (size_t a = 0; a < morphAnims.size(); ++a) -+ { -+ anim->mDuration = std::max(anim->mDuration, morphAnims[a]->mKeys[morphAnims[a]->mNumKeys-1].mTime); - } - anim->mTicksPerSecond = 1; - mAnims.push_back( anim); -diff --git a/code/ColladaLoader.h b/code/ColladaLoader.h -index 313608c..fc26532 100644 ---- a/code/ColladaLoader.h -+++ b/code/ColladaLoader.h -@@ -117,6 +117,8 @@ protected: - /** Builds meshes for the given node and references them */ - void BuildMeshesForNode( const ColladaParser& pParser, const Collada::Node* pNode, - aiNode* pTarget); -+ -+ aiMesh *findMesh(std::string meshid); - - /** Creates a mesh for the given ColladaMesh face subset and returns the newly created mesh */ - aiMesh* CreateMesh( const ColladaParser& pParser, const Collada::Mesh* pSrcMesh, const Collada::SubMesh& pSubMesh, -@@ -223,6 +225,9 @@ protected: - - /** Accumulated meshes for the target scene */ - std::vector mMeshes; -+ -+ /** Accumulated morph target meshes */ -+ std::vector mTargetMeshes; - - /** Temporary material list */ - std::vector > newMats; -diff --git a/code/ColladaParser.cpp b/code/ColladaParser.cpp -index 527e2ed..ce87476 100644 ---- a/code/ColladaParser.cpp -+++ b/code/ColladaParser.cpp -@@ -586,6 +586,12 @@ void ColladaParser::ReadAnimationSampler( Collada::AnimationChannel& pChannel) - pChannel.mSourceTimes = source; - else if( strcmp( semantic, "OUTPUT") == 0) - pChannel.mSourceValues = source; -+ else if( strcmp( semantic, "IN_TANGENT") == 0) -+ pChannel.mInTanValues = source; -+ else if( strcmp( semantic, "OUT_TANGENT") == 0) -+ pChannel.mOutTanValues = source; -+ else if( strcmp( semantic, "INTERPOLATION") == 0) -+ pChannel.mInterpolationValues = source; - - if( !mReader->isEmptyElement()) - SkipElement(); -@@ -648,6 +654,9 @@ void ColladaParser::ReadControllerLibrary() - // Reads a controller into the given mesh structure - void ColladaParser::ReadController( Collada::Controller& pController) - { -+ // initial values -+ pController.mType = Skin; -+ pController.mMethod = Normalized; - while( mReader->read()) - { - if( mReader->getNodeType() == irr::io::EXN_ELEMENT) -@@ -655,8 +664,15 @@ void ColladaParser::ReadController( Collada::Controller& pController) - // two types of controllers: "skin" and "morph". Only the first one is relevant, we skip the other - if( IsElement( "morph")) - { -- // should skip everything inside, so there's no danger of catching elements inbetween -- SkipElement(); -+ pController.mType = Morph; -+ int baseIndex = GetAttribute("source"); -+ pController.mMeshId = mReader->getAttributeValue(baseIndex) + 1; -+ int methodIndex = GetAttribute("method"); -+ if (methodIndex > 0) { -+ const char *method = mReader->getAttributeValue(methodIndex); -+ if (strcmp(method, "RELATIVE") == 0) -+ pController.mMethod = Relative; -+ } - } - else if( IsElement( "skin")) - { -@@ -694,6 +710,32 @@ void ColladaParser::ReadController( Collada::Controller& pController) - { - ReadControllerWeights( pController); - } -+ else if ( IsElement( "targets" )) -+ { -+ while (mReader->read()) { -+ if( mReader->getNodeType() == irr::io::EXN_ELEMENT) { -+ if ( IsElement( "input")) { -+ int semanticsIndex = GetAttribute("semantic"); -+ int sourceIndex = GetAttribute("source"); -+ -+ const char *semantics = mReader->getAttributeValue(semanticsIndex); -+ const char *source = mReader->getAttributeValue(sourceIndex); -+ if (strcmp(semantics, "MORPH_TARGET") == 0) { -+ pController.mMorphTarget = source + 1; -+ } -+ else if (strcmp(semantics, "MORPH_WEIGHT") == 0) -+ { -+ pController.mMorphWeight = source + 1; -+ } -+ } -+ } else if( mReader->getNodeType() == irr::io::EXN_ELEMENT_END) { -+ if( strcmp( mReader->getNodeName(), "targets") == 0) -+ break; -+ else -+ ThrowException( "Expected end of element."); -+ } -+ } -+ } - else - { - // ignore the rest -@@ -704,7 +746,7 @@ void ColladaParser::ReadController( Collada::Controller& pController) - { - if( strcmp( mReader->getNodeName(), "controller") == 0) - break; -- else if( strcmp( mReader->getNodeName(), "skin") != 0) -+ else if( strcmp( mReader->getNodeName(), "skin") != 0 && strcmp( mReader->getNodeName(), "morph") != 0) - ThrowException( "Expected end of element."); - } - } -diff --git a/code/CreateAnimMesh.cpp b/code/CreateAnimMesh.cpp -new file mode 100644 -index 0000000..094a414 ---- /dev/null -+++ b/code/CreateAnimMesh.cpp -@@ -0,0 +1,92 @@ -+/* -+--------------------------------------------------------------------------- -+Open Asset Import Library (assimp) -+--------------------------------------------------------------------------- -+ -+Copyright (C) 2016 The Qt Company Ltd. -+Copyright (c) 2006-2012, assimp team -+ -+All rights reserved. -+ -+Redistribution and use of this software in source and binary forms, -+with or without modification, are permitted provided that the following -+conditions are met: -+ -+* Redistributions of source code must retain the above -+copyright notice, this list of conditions and the -+following disclaimer. -+ -+* Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the -+following disclaimer in the documentation and/or other -+materials provided with the distribution. -+ -+* Neither the name of the assimp team, nor the names of its -+contributors may be used to endorse or promote products -+derived from this software without specific prior -+written permission of the assimp team. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+--------------------------------------------------------------------------- -+*/ -+ -+#include "CreateAnimMesh.h" -+ -+namespace Assimp { -+ -+aiAnimMesh *aiCreateAnimMesh(const aiMesh *mesh) -+{ -+ aiAnimMesh *animesh = new aiAnimMesh; -+ animesh->mVertices = NULL; -+ animesh->mNormals = NULL; -+ animesh->mTangents = NULL; -+ animesh->mBitangents = NULL; -+ animesh->mNumVertices = mesh->mNumVertices; -+ if (mesh->mVertices) { -+ animesh->mVertices = new aiVector3D[animesh->mNumVertices]; -+ std::memcpy(animesh->mVertices, mesh->mVertices, mesh->mNumVertices * sizeof(aiVector3D)); -+ } -+ if (mesh->mNormals) { -+ animesh->mNormals = new aiVector3D[animesh->mNumVertices]; -+ std::memcpy(animesh->mNormals, mesh->mNormals, mesh->mNumVertices * sizeof(aiVector3D)); -+ } -+ if (mesh->mTangents) { -+ animesh->mTangents = new aiVector3D[animesh->mNumVertices]; -+ std::memcpy(animesh->mTangents, mesh->mTangents, mesh->mNumVertices * sizeof(aiVector3D)); -+ } -+ if (mesh->mBitangents) { -+ animesh->mBitangents = new aiVector3D[animesh->mNumVertices]; -+ std::memcpy(animesh->mBitangents, mesh->mBitangents, mesh->mNumVertices * sizeof(aiVector3D)); -+ } -+ -+ for (int i = 0; i < AI_MAX_NUMBER_OF_COLOR_SETS; ++i) { -+ if (mesh->mColors[i]) { -+ animesh->mColors[i] = new aiColor4D[animesh->mNumVertices]; -+ std::memcpy(animesh->mColors[i], mesh->mColors[i], mesh->mNumVertices * sizeof(aiColor4D)); -+ } else { -+ animesh->mColors[i] = NULL; -+ } -+ } -+ -+ for (int i = 0; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++i) { -+ if (mesh->mTextureCoords[i]) { -+ animesh->mTextureCoords[i] = new aiVector3D[animesh->mNumVertices]; -+ std::memcpy(animesh->mTextureCoords[i], mesh->mTextureCoords[i], mesh->mNumVertices * sizeof(aiVector3D)); -+ } else { -+ animesh->mTextureCoords[i] = NULL; -+ } -+ } -+ return animesh; -+} -+ -+} // end of namespace Assimp -diff --git a/code/CreateAnimMesh.h b/code/CreateAnimMesh.h -new file mode 100644 -index 0000000..c5ceb40 ---- /dev/null -+++ b/code/CreateAnimMesh.h -@@ -0,0 +1,56 @@ -+/* -+Open Asset Import Library (assimp) -+---------------------------------------------------------------------- -+ -+Copyright (c) 2006-2016, assimp team -+All rights reserved. -+ -+Redistribution and use of this software in source and binary forms, -+with or without modification, are permitted provided that the -+following conditions are met: -+ -+* Redistributions of source code must retain the above -+ copyright notice, this list of conditions and the -+ following disclaimer. -+ -+* Redistributions in binary form must reproduce the above -+ copyright notice, this list of conditions and the -+ following disclaimer in the documentation and/or other -+ materials provided with the distribution. -+ -+* Neither the name of the assimp team, nor the names of its -+ contributors may be used to endorse or promote products -+ derived from this software without specific prior -+ written permission of the assimp team. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+---------------------------------------------------------------------- -+*/ -+ -+/** @file CreateAnimMesh.h -+ * Create AnimMesh from Mesh -+ */ -+#ifndef INCLUDED_AI_CREATE_ANIM_MESH_H -+#define INCLUDED_AI_CREATE_ANIM_MESH_H -+ -+#include -+ -+namespace Assimp { -+ -+/** Create aiAnimMesh from aiMesh. */ -+aiAnimMesh *aiCreateAnimMesh(const aiMesh *mesh); -+ -+} // end of namespace Assimp -+#endif // INCLUDED_AI_CREATE_ANIM_MESH_H -+ -diff --git a/include/assimp/anim.h b/include/assimp/anim.h -index af59417..7b4dff8 100644 ---- a/include/assimp/anim.h -+++ b/include/assimp/anim.h -@@ -182,6 +182,39 @@ struct aiMeshKey - }; - - // --------------------------------------------------------------------------- -+/** Binds a morph anim mesh to a specific point in time. */ -+struct aiMeshMorphKey -+{ -+ /** The time of this key */ -+ double mTime; -+ -+ /** The values and weights at the time of this key */ -+ unsigned int *mValues; -+ double *mWeights; -+ -+ /** The number of values and weights */ -+ unsigned int mNumValuesAndWeights; -+#ifdef __cplusplus -+ aiMeshMorphKey() -+ : mTime(0.0) -+ , mValues(NULL) -+ , mWeights(NULL) -+ , mNumValuesAndWeights(0) -+ { -+ -+ } -+ -+ ~aiMeshMorphKey() -+ { -+ if (mNumValuesAndWeights && mValues && mWeights) { -+ delete [] mValues; -+ delete [] mWeights; -+ } -+ } -+#endif -+}; -+ -+// --------------------------------------------------------------------------- - /** Defines how an animation channel behaves outside the defined time - * range. This corresponds to aiNodeAnim::mPreState and - * aiNodeAnim::mPostState.*/ -@@ -335,7 +368,38 @@ struct aiMeshAnim - }; - - // --------------------------------------------------------------------------- --/** An animation consists of keyframe data for a number of nodes. For -+/** Describes a morphing animation of a given mesh. */ -+struct aiMeshMorphAnim -+{ -+ /** Name of the mesh to be animated. An empty string is not allowed, -+ * animated meshes need to be named (not necessarily uniquely, -+ * the name can basically serve as wildcard to select a group -+ * of meshes with similar animation setup)*/ -+ C_STRUCT aiString mName; -+ -+ /** Size of the #mKeys array. Must be 1, at least. */ -+ unsigned int mNumKeys; -+ -+ /** Key frames of the animation. May not be NULL. */ -+ C_STRUCT aiMeshMorphKey* mKeys; -+ -+#ifdef __cplusplus -+ -+ aiMeshMorphAnim() -+ : mNumKeys() -+ , mKeys() -+ {} -+ -+ ~aiMeshMorphAnim() -+ { -+ delete[] mKeys; -+ } -+ -+#endif -+}; -+ -+// --------------------------------------------------------------------------- -+/** An animation consists of key-frame data for a number of nodes. For - * each node affected by the animation a separate series of data is given.*/ - struct aiAnimation - { -@@ -367,15 +431,25 @@ struct aiAnimation - * The array is mNumMeshChannels in size. */ - C_STRUCT aiMeshAnim** mMeshChannels; - -+ /** The number of mesh animation channels. Each channel affects -+ * a single mesh and defines morphing animation. */ -+ unsigned int mNumMorphMeshChannels; -+ -+ /** The morph mesh animation channels. Each channel affects a single mesh. -+ * The array is mNumMorphMeshChannels in size. */ -+ C_STRUCT aiMeshMorphAnim **mMorphMeshChannels; -+ - #ifdef __cplusplus - aiAnimation() -- : mDuration(-1.) -- , mTicksPerSecond() -- , mNumChannels() -- , mChannels() -- , mNumMeshChannels() -- , mMeshChannels() -- { -+ : mDuration(-1.) -+ , mTicksPerSecond(0.) -+ , mNumChannels(0) -+ , mChannels(NULL) -+ , mNumMeshChannels(0) -+ , mMeshChannels(NULL) -+ , mNumMorphMeshChannels(0) -+ , mMorphMeshChannels(NULL) { -+ // empty - } - - ~aiAnimation() -@@ -395,6 +469,11 @@ struct aiAnimation - - delete [] mMeshChannels; - } -+ if (mNumMorphMeshChannels && mMorphMeshChannels) { -+ for( unsigned int a = 0; a < mNumMorphMeshChannels; a++) { -+ delete mMorphMeshChannels[a]; -+ } -+ } - } - #endif // __cplusplus - }; -diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h -index a76a2d7..2ebc14d 100644 ---- a/include/assimp/mesh.h -+++ b/include/assimp/mesh.h -@@ -377,6 +377,9 @@ struct aiAnimMesh - */ - unsigned int mNumVertices; - -+/** Weight of the AnimMesh. */ -+ float mWeight; -+ - #ifdef __cplusplus - - aiAnimMesh() -@@ -445,6 +448,27 @@ struct aiAnimMesh - #endif - }; - -+// --------------------------------------------------------------------------- -+/** @brief Enumerates the methods of mesh morphing supported by Assimp. -+ */ -+enum aiMorphingMethod -+{ -+ /** Interpolation between morph targets */ -+ aiMorphingMethod_VERTEX_BLEND = 0x1, -+ -+ /** Normalized morphing between morph targets */ -+ aiMorphingMethod_MORPH_NORMALIZED = 0x2, -+ -+ /** Relative morphing between morph targets */ -+ aiMorphingMethod_MORPH_RELATIVE = 0x3, -+ -+ /** This value is not used. It is just here to force the -+ * compiler to map this enum to a 32 Bit integer. -+ */ -+#ifndef SWIG -+ _aiMorphingMethod_Force32Bit = INT_MAX -+#endif -+}; //! enum aiMorphingMethod - - // --------------------------------------------------------------------------- - /** @brief A mesh represents a geometry or model with a single material. -@@ -599,15 +623,18 @@ struct aiMesh - C_STRUCT aiString mName; - - -- /** NOT CURRENTLY IN USE. The number of attachment meshes */ -+ /** The number of attachment meshes. Note! Currently only works with Collada loader. */ - unsigned int mNumAnimMeshes; - -- /** NOT CURRENTLY IN USE. Attachment meshes for this mesh, for vertex-based animation. -+ /** Attachment meshes for this mesh, for vertex-based animation. - * Attachment meshes carry replacement data for some of the -- * mesh'es vertex components (usually positions, normals). */ -+ * mesh'es vertex components (usually positions, normals). -+ * Note! Currently only works with Collada loader.*/ - C_STRUCT aiAnimMesh** mAnimMeshes; - -- -+ /** Method of morphing when animeshes are specified. */ -+ unsigned int mMethod; -+ - #ifdef __cplusplus - - //! Default constructor. Initializes all members to 0 -@@ -732,7 +759,6 @@ struct aiMesh - #endif // __cplusplus - }; - -- - #ifdef __cplusplus - } - #endif //! extern "C" --- -2.9.3 - diff --git a/assimp-3.3.1-namespace-bigendian.patch b/assimp-3.3.1-namespace-bigendian.patch deleted file mode 100644 index 28b5d89..0000000 --- a/assimp-3.3.1-namespace-bigendian.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up assimp-3.3.1/code/ByteSwapper.h.than assimp-3.3.1/code/ByteSwapper.h -diff -up assimp-3.3.1/code/glTFAsset.inl.than assimp-3.3.1/code/glTFAsset.inl ---- assimp-3.3.1/code/glTFAsset.inl.than 2017-05-05 17:28:29.754976483 -0400 -+++ assimp-3.3.1/code/glTFAsset.inl 2017-05-05 17:28:52.995404721 -0400 -@@ -40,6 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "StringUtils.h" - -+using namespace Assimp; - namespace glTF { - - namespace { diff --git a/assimp-3.3.1-unbundle.patch b/assimp-3.3.1-unbundle.patch deleted file mode 100644 index c28474b..0000000 --- a/assimp-3.3.1-unbundle.patch +++ /dev/null @@ -1,201 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8455bb8..c8e0d88 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -211,6 +211,26 @@ IF ( ASSIMP_NO_EXPORT ) - MESSAGE( STATUS "Build an import-only version of Assimp." ) - ENDIF( ASSIMP_NO_EXPORT ) - -+# 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." - ) -diff --git a/code/BlenderTessellator.h b/code/BlenderTessellator.h -index 530bd2c..a6c9d9e 100644 ---- a/code/BlenderTessellator.h -+++ b/code/BlenderTessellator.h -@@ -142,7 +142,7 @@ namespace Assimp - - #if ASSIMP_BLEND_WITH_POLY_2_TRI - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" -+#include "poly2tri/poly2tri.h" - - namespace Assimp - { -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 35ecf50..d549c89 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -655,12 +655,15 @@ SET( ConvertUTF_SRCS - ) - SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS}) - -+if (NOT HAVE_CLIPPER) - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp - ) - SOURCE_GROUP( Clipper FILES ${Clipper_SRCS}) -- -+else (NOT HAVE_CLIPPER) -+SET( Clipper_SRCS "") -+endif(NOT HAVE_CLIPPER) - - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc -@@ -743,8 +746,6 @@ SET( assimp_src - # Third-party libraries - ${IrrXML_SRCS} - ${ConvertUTF_SRCS} -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} - ${Clipper_SRCS} - ${openddl_parser_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: -@@ -753,6 +754,8 @@ SET( assimp_src - ${COMPILER_HEADERS} - - ) -+ -+ - ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - - INCLUDE_DIRECTORIES( -@@ -821,6 +824,19 @@ else (UNZIP_FOUND) - INCLUDE_DIRECTORIES("../") - endif (UNZIP_FOUND) - -+if (HAVE_POLY2TRI) -+ INCLUDE_DIRECTORIES(${POLY2TRI_INCLUDE_PATH}) -+ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) -+endif(HAVE_POLY2TRI) -+ -+if (HAVE_CLIPPER) -+ INCLUDE_DIRECTORIES(${CLIPPER_INCLUDE_PATH}) -+ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) -+else (HAVE_CLIPPER) -+ INCLUDE_DIRECTORIES(../contrib/clipper) -+endif(HAVE_CLIPPER) -+ -+ - INSTALL( TARGETS assimp - LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -diff --git a/code/D3MFImporter.cpp b/code/D3MFImporter.cpp -index 1a97168..7377eb4 100644 ---- a/code/D3MFImporter.cpp -+++ b/code/D3MFImporter.cpp -@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include "irrXMLWrapper.h" - #include "StringComparison.h" - #include "StringUtils.h" -diff --git a/code/D3MFOpcPackage.cpp b/code/D3MFOpcPackage.cpp -index 7cc1dd5..2b007db 100644 ---- a/code/D3MFOpcPackage.cpp -+++ b/code/D3MFOpcPackage.cpp -@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "D3MFOpcPackage.h" - #include "Exceptional.h" - --#include -+#include - #include - #include - #include -diff --git a/code/IFCGeometry.cpp b/code/IFCGeometry.cpp -index 5a2e4a0..0926498 100644 ---- a/code/IFCGeometry.cpp -+++ b/code/IFCGeometry.cpp -@@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "PolyTools.h" - #include "ProcessHelper.h" - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" --#include "../contrib/clipper/clipper.hpp" -+#include "poly2tri/poly2tri.h" -+#include "clipper.hpp" - #include - - #include -diff --git a/code/IFCLoader.cpp b/code/IFCLoader.cpp -index 34977f5..bc655c0 100644 ---- a/code/IFCLoader.cpp -+++ b/code/IFCLoader.cpp -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - - #ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC --# include -+# include - #endif - - #include "IFCLoader.h" -diff --git a/code/IFCOpenings.cpp b/code/IFCOpenings.cpp -index 51ea143..f0915fb 100644 ---- a/code/IFCOpenings.cpp -+++ b/code/IFCOpenings.cpp -@@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "PolyTools.h" - #include "ProcessHelper.h" - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" --#include "../contrib/clipper/clipper.hpp" -+#include "poly2tri/poly2tri.h" -+#include "clipper.hpp" - - #include - -diff --git a/code/Q3BSPZipArchive.h b/code/Q3BSPZipArchive.h -index e46a11b..da93e5c 100644 ---- a/code/Q3BSPZipArchive.h -+++ b/code/Q3BSPZipArchive.h -@@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifndef AI_Q3BSP_ZIPARCHIVE_H_INC - #define AI_Q3BSP_ZIPARCHIVE_H_INC - --#include -+#include - #include - #include - #include -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index df0139d..8b26f22 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -37,7 +37,8 @@ - #---------------------------------------------------------------------- - cmake_minimum_required( VERSION 2.6 ) - --INCLUDE( AddGTest ) -+# Search for Google Test -+FIND_PACKAGE(GTest) - - INCLUDE_DIRECTORIES( - ${Assimp_SOURCE_DIR}/include -diff --git a/tools/assimp_cmd/CMakeLists.txt b/tools/assimp_cmd/CMakeLists.txt -index f8af93a..3f9a902 100644 diff --git a/assimp-5.0.1-assimpversion.patch b/assimp-5.0.1-assimpversion.patch new file mode 100644 index 0000000..6409bb1 --- /dev/null +++ b/assimp-5.0.1-assimpversion.patch @@ -0,0 +1,12 @@ +diff -up ./CMakeLists.txt.assimpversion ./CMakeLists.txt +--- ./CMakeLists.txt.assimpversion 2020-06-23 20:40:43.160107355 -0400 ++++ ./CMakeLists.txt 2020-06-23 20:41:03.435259223 -0400 +@@ -51,7 +51,7 @@ IF(HUNTER_ENABLED) + add_definitions(-DASSIMP_USE_HUNTER) + ENDIF(HUNTER_ENABLED) + +-PROJECT( Assimp VERSION 5.0.0 ) ++PROJECT( Assimp VERSION 5.0.1 ) + + # All supported options ############################################### + diff --git a/assimp-3.3.1-cmakemacros.patch b/assimp-5.0.1-doxyfile.patch similarity index 64% rename from assimp-3.3.1-cmakemacros.patch rename to assimp-5.0.1-doxyfile.patch index 7c6e17e..7690a64 100644 --- a/assimp-3.3.1-cmakemacros.patch +++ b/assimp-5.0.1-doxyfile.patch @@ -1,6 +1,6 @@ -diff -up ./doc/Doxyfile.in.cmakemacros ./doc/Doxyfile.in ---- ./doc/Doxyfile.in.cmakemacros 2020-08-08 17:47:39.902816214 -0400 -+++ ./doc/Doxyfile.in 2020-08-08 17:48:22.465554872 -0400 +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 @@ -664,7 +664,6 @@ WARN_LOGFILE = INPUT = @doxy_main_page@ \ @@ -9,12 +9,13 @@ diff -up ./doc/Doxyfile.in.cmakemacros ./doc/Doxyfile.in @PROJECT_SOURCE_DIR@/include/ \ @PROJECT_SOURCE_DIR@/doc/dox.h \ @PROJECT_SOURCE_DIR@/code/BaseImporter.h -@@ -725,7 +724,7 @@ RECURSIVE = YES +@@ -725,7 +724,8 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. --EXCLUDE = -+EXCLUDE = @PROJECT_BINARY_DIR@ +-EXCLUDE = irrXML.h ++EXCLUDE = irrXML.h \ ++ @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.0.1-irrxml.patch b/assimp-5.0.1-irrxml.patch new file mode 100644 index 0000000..59bc73f --- /dev/null +++ b/assimp-5.0.1-irrxml.patch @@ -0,0 +1,46 @@ +diff -up ./code/X3D/FIReader.cpp.irrxml ./code/X3D/FIReader.cpp +--- ./code/X3D/FIReader.cpp.irrxml 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/X3D/FIReader.cpp 2021-02-27 15:49:55.138400544 -0500 +@@ -60,11 +60,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 + #include +@@ -654,7 +650,7 @@ public: + return currentNodeType; + } + +- virtual int getAttributeCount() const /*override*/ { ++ virtual unsigned int getAttributeCount() const /*override*/ { + return static_cast(attributes.size()); + } + +@@ -1733,7 +1729,7 @@ public: + return reader->getNodeType(); + } + +- virtual int getAttributeCount() const /*override*/ { ++ virtual unsigned int getAttributeCount() const /*override*/ { + return reader->getAttributeCount(); + } + +diff -up ./include/assimp/irrXMLWrapper.h.irrxml ./include/assimp/irrXMLWrapper.h +--- ./include/assimp/irrXMLWrapper.h.irrxml 2020-01-12 06:56:40.000000000 -0500 ++++ ./include/assimp/irrXMLWrapper.h 2021-02-27 15:46:23.410557453 -0500 +@@ -133,7 +133,7 @@ public: + + // ---------------------------------------------------------------------------------- + //! Returns size of file in bytes +- virtual int getSize() { ++ virtual long getSize() const { + return (int)data.size(); + } + diff --git a/assimp-3.3.1-install-pkgconfig.patch b/assimp-5.0.1-pkgconfig.patch similarity index 54% rename from assimp-3.3.1-install-pkgconfig.patch rename to assimp-5.0.1-pkgconfig.patch index 6a45f68..9291eaf 100644 --- a/assimp-3.3.1-install-pkgconfig.patch +++ b/assimp-5.0.1-pkgconfig.patch @@ -1,10 +1,11 @@ ---- assimp-3.3.1/assimp.pc.in.fedora 2017-05-18 07:19:36.251314963 +0200 -+++ assimp-3.3.1/assimp.pc.in 2017-05-18 07:20:26.038525493 +0200 +diff -up ./assimp.pc.in.pkgconfig ./assimp.pc.in +--- ./assimp.pc.in.pkgconfig 2021-02-27 18:08:34.032990798 -0500 ++++ ./assimp.pc.in 2021-02-27 18:09:21.019110197 -0500 @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ --exec_prefix=@CMAKE_INSTALL_PREFIX@/@ASSIMP_BIN_INSTALL_DIR@ +-exec_prefix=@CMAKE_INSTALL_PREFIX@/ -libdir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_LIB_INSTALL_DIR@ --includedir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_INCLUDE_INSTALL_DIR@/assimp +-includedir=@CMAKE_INSTALL_PREFIX@/../include/@ASSIMP_INCLUDE_INSTALL_DIR@ +exec_prefix=@ASSIMP_BIN_INSTALL_DIR@ +libdir=@ASSIMP_LIB_INSTALL_DIR@ +includedir=@ASSIMP_INCLUDE_INSTALL_DIR@/assimp diff --git a/assimp-3.2.0-pythonpath.patch b/assimp-5.0.1-pythonpath.patch similarity index 63% rename from assimp-3.2.0-pythonpath.patch rename to assimp-5.0.1-pythonpath.patch index 0ef9d95..4daf7d0 100644 --- a/assimp-3.2.0-pythonpath.patch +++ b/assimp-5.0.1-pythonpath.patch @@ -1,19 +1,19 @@ diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/helper.py ---- ./port/PyAssimp/pyassimp/helper.py.pythonpath 2016-05-21 19:54:37.152745935 -0400 -+++ ./port/PyAssimp/pyassimp/helper.py 2016-05-21 19:57:28.578516453 -0400 -@@ -22,6 +22,7 @@ additional_dirs, ext_whitelist = [],[] - # depending on the platform we're running on. - if os.name=='posix': - additional_dirs.append('./') -+ additional_dirs.append('/usr/lib64/') - additional_dirs.append('/usr/lib/') - additional_dirs.append('/usr/local/lib/') - -@@ -29,6 +30,7 @@ if os.name=='posix': - # currently there's always a symlink called - # libassimp.so in /usr/local/lib. - ext_whitelist.append('.so') -+ ext_whitelist.append('.3') - # libassimp.dylib in /usr/local/lib - ext_whitelist.append('.dylib') - +--- ./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 = [],[] + # depending on the platform we're running on. + if os.name=='posix': + additional_dirs.append('./') ++ additional_dirs.append('/usr/lib64/') + additional_dirs.append('/usr/lib/') + additional_dirs.append('/usr/lib/x86_64-linux-gnu/') + additional_dirs.append('/usr/local/lib/') +@@ -44,6 +45,7 @@ if os.name=='posix': + # currently there's always a symlink called + # libassimp.so in /usr/local/lib. + ext_whitelist.append('.so') ++ ext_whitelist.append('.3') + # libassimp.dylib in /usr/local/lib + ext_whitelist.append('.dylib') + diff --git a/assimp-5.0.1-unbundle.patch b/assimp-5.0.1-unbundle.patch new file mode 100644 index 0000000..8db4aff --- /dev/null +++ b/assimp-5.0.1-unbundle.patch @@ -0,0 +1,281 @@ +diff -up ./CMakeLists.txt.unbundle ./CMakeLists.txt +--- ./CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./CMakeLists.txt 2021-02-27 15:46:23.408557445 -0500 +@@ -485,6 +485,27 @@ IF ( ASSIMP_NO_EXPORT ) + MESSAGE( STATUS "Build an import-only version of Assimp." ) + ENDIF( ASSIMP_NO_EXPORT ) + ++# 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." + ) +diff -up ./code/Blender/BlenderTessellator.h.unbundle ./code/Blender/BlenderTessellator.h +--- ./code/Blender/BlenderTessellator.h.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/Blender/BlenderTessellator.h 2021-02-27 15:46:23.408557445 -0500 +@@ -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 + { +diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt +--- ./code/CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/CMakeLists.txt 2021-02-27 15:46:23.408557445 -0500 +@@ -874,7 +874,7 @@ IF(HUNTER_ENABLED) + hunter_add_package(utf8) + find_package(utf8 CONFIG REQUIRED) + ELSE(HUNTER_ENABLED) +- # utf8 is header-only, so Assimp doesn't need to do anything. ++ find_package(utf8cpp REQUIRED) + ENDIF(HUNTER_ENABLED) + + # polyclipping +@@ -882,11 +882,11 @@ IF(HUNTER_ENABLED) + hunter_add_package(polyclipping) + find_package(polyclipping CONFIG REQUIRED) + ELSE(HUNTER_ENABLED) +- 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(HUNTER_ENABLED) + + # poly2tri +@@ -894,20 +894,25 @@ IF(HUNTER_ENABLED) + hunter_add_package(poly2tri) + find_package(poly2tri CONFIG REQUIRED) + ELSE(HUNTER_ENABLED) +- 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(HUNTER_ENABLED) + + # minizip/unzip +@@ -915,14 +920,19 @@ IF(HUNTER_ENABLED) + hunter_add_package(minizip) + find_package(minizip CONFIG REQUIRED) + ELSE(HUNTER_ENABLED) +- SET( unzip_SRCS +- ../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.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(HUNTER_ENABLED) + + # zip (https://github.com/kuba--/zip) +@@ -1025,8 +1035,9 @@ IF(HUNTER_ENABLED) + hunter_add_package(RapidJSON) + find_package(RapidJSON CONFIG REQUIRED) + ELSE(HUNTER_ENABLED) +- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" ) +- INCLUDE_DIRECTORIES( "../contrib" ) ++ find_package(RapidJSON REQUIRED) ++ include_directories(${RapidJSON_INCLUDE_DIRS}) ++ include_directories("../contrib") + ENDIF(HUNTER_ENABLED) + + # VC2010 fixes +@@ -1118,7 +1129,7 @@ IF(HUNTER_ENABLED) + irrXML::irrXML + openddlparser::openddl_parser + poly2tri::poly2tri +- minizip::minizip ++ #minizip::minizip + ZLIB::zlib + RapidJSON::rapidjson + utf8::utf8 +@@ -1126,6 +1137,13 @@ IF(HUNTER_ENABLED) + ) + ELSE(HUNTER_ENABLED) + TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} ) ++ IF (HAVE_POLY2TRI) ++ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) ++ ENDIF(HAVE_POLY2TRI) ++ ++ IF (HAVE_CLIPPER) ++ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) ++ ENDIF (HAVE_CLIPPER) + ENDIF(HUNTER_ENABLED) + + if(ASSIMP_ANDROID_JNIIOSYSTEM) +diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp +--- ./code/Common/BaseImporter.cpp.unbundle 2021-02-27 15:47:27.432812387 -0500 ++++ ./code/Common/BaseImporter.cpp 2021-02-27 15:47:58.526936201 -0500 +@@ -341,11 +341,7 @@ std::string BaseImporter::GetExtension( + return false; + } + +-#ifdef ASSIMP_USE_HUNTER +-# include +-#else +-# include "../contrib/utf8cpp/source/utf8.h" +-#endif ++# include + + // ------------------------------------------------------------------------------------------------ + // Convert to UTF8 data +diff -up ./code/Importer/IFC/IFCGeometry.cpp.unbundle ./code/Importer/IFC/IFCGeometry.cpp +--- ./code/Importer/IFC/IFCGeometry.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/Importer/IFC/IFCGeometry.cpp 2021-02-27 15:46:23.408557445 -0500 +@@ -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 +diff -up ./code/Importer/IFC/IFCOpenings.cpp.unbundle ./code/Importer/IFC/IFCOpenings.cpp +--- ./code/Importer/IFC/IFCOpenings.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/Importer/IFC/IFCOpenings.cpp 2021-02-27 15:46:23.409557449 -0500 +@@ -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 + +diff -up ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle ./code/Importer/STEPParser/STEPFileEncoding.cpp +--- ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle 2021-02-27 15:48:15.993005751 -0500 ++++ ./code/Importer/STEPParser/STEPFileEncoding.cpp 2021-02-27 15:48:37.161090042 -0500 +@@ -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/MMD/MMDPmxParser.cpp.unbundle ./code/MMD/MMDPmxParser.cpp +--- ./code/MMD/MMDPmxParser.cpp.unbundle 2021-02-27 15:50:16.110484046 -0500 ++++ ./code/MMD/MMDPmxParser.cpp 2021-02-27 15:50:57.573649134 -0500 +@@ -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/SIB/SIBImporter.cpp.unbundle ./code/SIB/SIBImporter.cpp +--- ./code/SIB/SIBImporter.cpp.unbundle 2021-02-27 15:48:54.037157241 -0500 ++++ ./code/SIB/SIBImporter.cpp 2021-02-27 15:49:24.194277325 -0500 +@@ -59,12 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + #include + #include +-#ifdef ASSIMP_USE_HUNTER +-# include +-#else +-//# include "../contrib/ConvertUTF/ConvertUTF.h" +-# include "../contrib/utf8cpp/source/utf8.h" +-#endif ++#include + #include + #include + #include diff --git a/assimp-gcc11.patch b/assimp-gcc11.patch deleted file mode 100644 index 2dfc8ad..0000000 --- a/assimp-gcc11.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nrup a/code/D3MFImporter.cpp b/code/D3MFImporter.cpp ---- a/code/D3MFImporter.cpp 2020-08-18 15:36:02.127659541 -0600 -+++ b/code/D3MFImporter.cpp 2020-08-18 15:35:45.153696935 -0600 -@@ -227,7 +227,7 @@ private: - aiVector3D vertex; - vertex.x = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::x.c_str()), nullptr); - vertex.y = ai_strtof(xmlReader->getAttributeValue(D3MF::XmlTag::y.c_str()), nullptr); -- vertex.z = ai_strtof>(xmlReader->getAttributeValue(D3MF::XmlTag::z.c_str()), nullptr); -+ vertex.z = ai_strtof!=(xmlReader->getAttributeValue(D3MF::XmlTag::z.c_str()), nullptr); - - return vertex; - } diff --git a/assimp.spec b/assimp.spec index 9eb803a..5f21875 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,59 +1,65 @@ %undefine __cmake_in_source_build Name: assimp -Version: 3.3.1 -Release: 28%{?dist} +Version: 5.0.1 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications -# Assimp is BSD, the bundled openddlparser is MIT. -License: BSD and MIT -URL: http://assimp.sourceforge.net -#Source0: https://github.com/assimp/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz + +# Assimp is BSD +# Bundled contrib/clipper is Boost +# Bundled contrib/Open3DGC is MIT +# Bundled contrib/openddlparser is MIT +# Bundled contrib/stb_image is MIT +# 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 +URL: https://github.com/assimp/assimp + # Github releases include nonfree models, source tarball must be re-generated # using assimp_generate_tarball.sh Source0: %{name}-%{version}-free.tar.xz Source1: assimp_generate_tarball.sh -# Current 3.3.1 not compilable under s390x and ppc64le - BigEndian issues -Patch0: %{name}-3.3.1-unbundle.patch + +# Un-bundle libraries that are provided by the distribution. +Patch0: %{name}-5.0.1-unbundle.patch # Add /usr/lib64 to library lookup paths for python modules -Patch1: %{name}-3.2.0-pythonpath.patch -# Fix library and include paths in assimp-config.cmake -# Fixes rhbz#1263698, not submitted upstream -# Rehashed to 3.3.1 -Patch2: 0001-Assimp-cmake-provider-fix.patch -# fix FTBFS on bigendian platform s390x/ppc64 -Patch3: assimp-3.3.1-namespace-bigendian.patch -Patch10: assimp-3.3.1-install-pkgconfig.patch -Patch11: assimp-3.3.1-cmakemacros.patch -Patch12: assimp-gcc11.patch - -#Upstream backports -# Collada morph animation -Patch100: 0001-Morph-animation-support-for-collada.patch -# Generate doc from CMakeFiles. Backported from Upstream -Patch101: 0001-Enable-doxygen-been-properly-used-from-cmake-build-a.patch -# Strips bundled irrXML out of build files, and allows project to build -# against system versions of the libraries (not yet submitted upstream) -Patch102: 0001-Apply-mechanism-to-decide-use-for-IrrXML-external-or.patch +Patch1: %{name}-5.0.1-pythonpath.patch +# Correct the paths in the installed pkgconfig file +Patch2: %{name}-5.0.1-pkgconfig.patch +# Exclude the build directory from the doxygen-generated documentation +Patch3: %{name}-5.0.1-doxyfile.patch +# Updates for changes in irrxml's API +Patch4: %{name}-5.0.1-irrxml.patch +# Correct the CMake version to match the tarball version. +Patch5: %{name}-5.0.1-assimpversion.patch +BuildRequires: boost-devel +BuildRequires: cmake +BuildRequires: dos2unix +BuildRequires: doxygen +BuildRequires: irrlicht-devel +BuildRequires: irrXML-devel BuildRequires: gcc-c++ -BuildRequires: boost-devel -BuildRequires: cmake -BuildRequires: dos2unix -BuildRequires: irrlicht-devel -BuildRequires: irrXML-devel -BuildRequires: doxygen -BuildRequires: poly2tri-devel -BuildRequires: gtest-devel -BuildRequires: pkgconfig(zzip-zlib-config) -BuildRequires: pkgconfig(zlib) -BuildRequires: minizip-compat-devel +BuildRequires: gtest-devel +BuildRequires: make +BuildRequires: pkgconfig(zzip-zlib-config) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(ILUT) +BuildRequires: pkgconfig(python3) +BuildRequires: poly2tri-devel +BuildRequires: python3-devel +BuildRequires: rapidjson-devel +BuildRequires: utf8cpp-devel + # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) -Provides: bundled(polyclipping) = 4.8.8 -BuildRequires: pkgconfig(ILUT) -BuildRequires: pkgconfig(python3) -BuildRequires: python3-devel - +Provides: bundled(polyclipping) = 4.8.8 +Provides: bundled(open3dgc) Provides: bundled(openddl-parser) +Provides: bundled(stb_image) +Provides: bundled(unzip) +Provides: bundled(minzip) +Provides: bundled(zlib) %description Assimp, the Open Asset Import Library, is a free library to import @@ -94,41 +100,37 @@ BuildArch: noarch %prep %setup -q # Get rid of bundled libs so we can't accidently build against them -#rm -r contrib/clipper +rm -r contrib/android-cmake rm -r contrib/irrXML -rm -r contrib/zlib -rm -r contrib/unzip rm -r contrib/poly2tri +rm -r contrib/rapidjson +rm -r contrib/utf8cpp + %patch0 -p1 -b .unbundle %patch1 -p1 -b .pythonpath -%patch2 -p1 -b .cmakefix -%patch3 -p1 -b .bigendian -# Need to be upstreamed -%patch10 -p1 -b .pkgconfig -# Backported from upstream -%patch100 -p1 -b .docfix -%patch101 -p1 -b .qt3d -%patch102 -p1 -b .systemirrxml -%patch11 -p0 -b .cmakemacros -%patch12 -p1 -b .gcc11 +%patch2 -p1 -b .pkgconfig +%patch3 -p1 -b .doxyfile +%patch4 -p1 -b .irrxml +%patch5 -p1 -b .assimpversion %build %cmake \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=None \ -DASSIMP_LIB_INSTALL_DIR=%{_libdir} \ -DASSIMP_BIN_INSTALL_DIR=%{_bindir} \ -DASSIMP_INCLUDE_INSTALL_DIR=%{_includedir} \ %ifarch s390x ppc64 -DAI_BUILD_BIG_ENDIAN=TRUE \ %endif - -DBUILD_DOCS=ON \ + -DBUILD_DOCS=OFF \ -DHTML_OUTPUT=%{name}-%{version} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir} \ -DPOLY2TRI_INCLUDE_PATH=%{_includedir}/poly2tri \ - -DSYSTEM_IRRXML=ON + -DSYSTEM_IRRXML=ON \ + -DASSIMP_BUILD_ZLIB=ON + # To use system polyclipping if assimp ever becomes compatible: # -DCLIPPER_INCLUDE_PATH=%{_includedir}/polyclipping - %cmake_build # Fix file encoding @@ -139,13 +141,17 @@ iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.conv && mv -f CREDITS.conv CREDITS %cmake_install mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ +rm -f %{buildroot}%{_libdir}/libzlibstatic.a %ldconfig_scriptlets %files -%license LICENSE -%doc README CREDITS +%license LICENSE +%license contrib/clipper/License.txt +%license contrib/openddlparser/LICENSE +%license contrib/zip/UNLICENSE +%doc Readme.md CREDITS %{_bindir}/assimp %{_libdir}/*.so.* @@ -165,6 +171,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Sat Feb 27 2021 Rich Mattes - 5.0.1-1 +- Update to release 5.0.1 + * Tue Jan 26 2021 Fedora Release Engineering - 3.3.1-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index ea1b4cb..30c5d1b 100755 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,11 +1,18 @@ #!/bin/bash -RELEASE=3.3.1 -git clone -b v${RELEASE} --depth=1 https://github.com/assimp/assimp.git assimp-${RELEASE} +RELEASE=5.0.1 -cd assimp-${RELEASE} -git checkout -b free +if [ ! -f assimp-$RELEASE.tar.gz ]; then + wget https://github.com/assimp/assimp/archive/v$RELEASE/assimp-$RELEASE.tar.gz +fi + +if [ -d assimp-$RELEASE ]; then + rm -fr assimp-$RELEASE +fi + +tar xvf assimp-$RELEASE.tar.gz +cd assimp-$RELEASE find ./ -name "*.dll" -exec git rm -r {} \; -git rm -rf test/models-nonbsd -git commit -m "- Remove non free bits." -git archive --prefix=assimp-${RELEASE}/ free | xz > ../assimp-${RELEASE}-free.tar.xz +rm -r test/models-nonbsd cd .. + +tar czf assimp-5.0.1-free.tar.xz assimp-$RELEASE From 33de26c23b4a80941b63d867725516de45ba7574 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 27 Feb 2021 18:57:14 -0500 Subject: [PATCH 25/66] Add assimp-5.0.1 sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 275c2b6..cba2394 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /assimp-f849f6d9bd21efe802fa456184b1c3173e74a050-free.tar.bz2 /assimp-3.1.1_no_test_models.zip /assimp-c318d648ff73aa2e32b783709d69740ac3e8c072-free.tar.bz2 +/assimp-5.0.1-free.tar.xz diff --git a/sources b/sources index d56434d..033da3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (assimp-3.3.1-free.tar.xz) = 249e7e35a357274d296a457ab6ffff5a06480007db7f327d72869448e5f754740487a8def5ed1e1f2324a68aa5a9c2780092cded3d56d685103974bb32e7d761 +SHA512 (assimp-5.0.1-free.tar.xz) = bbdcb26fb826f44789850c139981f0a9c4000cf44e4cfb48671aa05b7fa1eaef164aa973dbba2f21ee16295236b3a775a4fa987bb211cfd552bd92c0522816da From 951ad340bef7f5e8da99adabb2a9427a8eaba83b Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 7 Mar 2021 20:43:46 -0500 Subject: [PATCH 26/66] EPEL8 fixes Remove build dep on unavailable pkgconfig(ILUT) Update paths to utf8cpp utf8.h for older version in EPEL8 --- assimp-5.0.1-irrxml.patch | 6 +++--- assimp-5.0.1-unbundle.patch | 10 +++++----- assimp.spec | 5 ++++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/assimp-5.0.1-irrxml.patch b/assimp-5.0.1-irrxml.patch index 59bc73f..3da7b6c 100644 --- a/assimp-5.0.1-irrxml.patch +++ b/assimp-5.0.1-irrxml.patch @@ -1,6 +1,6 @@ diff -up ./code/X3D/FIReader.cpp.irrxml ./code/X3D/FIReader.cpp --- ./code/X3D/FIReader.cpp.irrxml 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/X3D/FIReader.cpp 2021-02-27 15:49:55.138400544 -0500 ++++ ./code/X3D/FIReader.cpp 2021-03-07 20:38:31.402545036 -0500 @@ -60,11 +60,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include #include @@ -10,7 +10,7 @@ diff -up ./code/X3D/FIReader.cpp.irrxml ./code/X3D/FIReader.cpp -#else -# include "../contrib/utf8cpp/source/utf8.h" -#endif -+#include ++#include #include #include #include @@ -34,7 +34,7 @@ diff -up ./code/X3D/FIReader.cpp.irrxml ./code/X3D/FIReader.cpp diff -up ./include/assimp/irrXMLWrapper.h.irrxml ./include/assimp/irrXMLWrapper.h --- ./include/assimp/irrXMLWrapper.h.irrxml 2020-01-12 06:56:40.000000000 -0500 -+++ ./include/assimp/irrXMLWrapper.h 2021-02-27 15:46:23.410557453 -0500 ++++ ./include/assimp/irrXMLWrapper.h 2021-03-07 20:38:15.760525926 -0500 @@ -133,7 +133,7 @@ public: // ---------------------------------------------------------------------------------- diff --git a/assimp-5.0.1-unbundle.patch b/assimp-5.0.1-unbundle.patch index 8db4aff..0d937d5 100644 --- a/assimp-5.0.1-unbundle.patch +++ b/assimp-5.0.1-unbundle.patch @@ -52,7 +52,7 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt find_package(utf8 CONFIG REQUIRED) ELSE(HUNTER_ENABLED) - # utf8 is header-only, so Assimp doesn't need to do anything. -+ find_package(utf8cpp REQUIRED) ++ find_package(utf8cpp) ENDIF(HUNTER_ENABLED) # polyclipping @@ -188,7 +188,7 @@ diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp -#else -# include "../contrib/utf8cpp/source/utf8.h" -#endif -+# include ++# include // ------------------------------------------------------------------------------------------------ // Convert to UTF8 data @@ -242,7 +242,7 @@ diff -up ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle ./code/Importe -#else -# include -#endif -+#include ++#include #include @@ -258,7 +258,7 @@ diff -up ./code/MMD/MMDPmxParser.cpp.unbundle ./code/MMD/MMDPmxParser.cpp -#else -# include "../contrib/utf8cpp/source/utf8.h" -#endif -+#include ++#include #include namespace pmx @@ -275,7 +275,7 @@ diff -up ./code/SIB/SIBImporter.cpp.unbundle ./code/SIB/SIBImporter.cpp -//# include "../contrib/ConvertUTF/ConvertUTF.h" -# include "../contrib/utf8cpp/source/utf8.h" -#endif -+#include ++#include #include #include #include diff --git a/assimp.spec b/assimp.spec index 5f21875..a7fa51c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -44,13 +44,16 @@ BuildRequires: gtest-devel BuildRequires: make BuildRequires: pkgconfig(zzip-zlib-config) BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(ILUT) BuildRequires: pkgconfig(python3) BuildRequires: poly2tri-devel BuildRequires: python3-devel BuildRequires: rapidjson-devel BuildRequires: utf8cpp-devel +%if 0%{?fedora} +BuildRequires: pkgconfig(ILUT) +%endif + # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 From 7d2214ecba277e156b202abf797fbf36c9ec718e Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Tue, 23 Mar 2021 12:55:42 -0700 Subject: [PATCH 27/66] Add an upstream patch to fix imported library locations --- assimp-5.0.1-lib-dir.patch | 134 +++++++++++++++++++++++++++++++++++++ assimp.spec | 8 ++- 2 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 assimp-5.0.1-lib-dir.patch diff --git a/assimp-5.0.1-lib-dir.patch b/assimp-5.0.1-lib-dir.patch new file mode 100644 index 0000000..d05c0d7 --- /dev/null +++ b/assimp-5.0.1-lib-dir.patch @@ -0,0 +1,134 @@ +diff -uNr a/assimpTargets-debug.cmake.in b/assimpTargets-debug.cmake.in +--- a/assimpTargets-debug.cmake.in 2020-01-12 03:56:40.000000000 -0800 ++++ b/assimpTargets-debug.cmake.in 2021-03-23 12:45:13.392725131 -0700 +@@ -7,6 +7,14 @@ + + set(ASSIMP_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) + ++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) ++ ++if ("${LIB64}" STREQUAL "TRUE") ++ set(LIBSUFFIX 64) ++else() ++ set(LIBSUFFIX "") ++endif() ++ + if(MSVC) + if(MSVC_TOOLSET_VERSION) + set(MSVC_PREFIX "vc${MSVC_TOOLSET_VERSION}") +@@ -42,11 +50,11 @@ + # Import target "assimp::assimp" for configuration "Debug" + set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib/${importLibraryName}" ++ IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}" + IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}") ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}") + list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" ) + else() + set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@") +@@ -54,10 +62,10 @@ + # Import target "assimp::assimp" for configuration "Debug" + set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ++ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}") ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}") + endif() + + else() +@@ -66,17 +74,17 @@ + set(sharedLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@") + set_target_properties(assimp::assimp PROPERTIES + IMPORTED_SONAME_DEBUG "${sharedLibraryName}" +- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ++ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ) ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" ) + else() + set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@") + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ++ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ) ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" ) + endif() + endif() + +diff -uNr a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in +--- a/assimpTargets-release.cmake.in 2020-01-12 03:56:40.000000000 -0800 ++++ b/assimpTargets-release.cmake.in 2021-03-23 12:45:40.323586653 -0700 +@@ -7,6 +7,14 @@ + + set(ASSIMP_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) + ++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) ++ ++if ("${LIB64}" STREQUAL "TRUE") ++ set(LIBSUFFIX 64) ++else() ++ set(LIBSUFFIX "") ++endif() ++ + if(MSVC) + if(MSVC_TOOLSET_VERSION) + set(MSVC_PREFIX "vc${MSVC_TOOLSET_VERSION}") +@@ -42,11 +50,11 @@ + # Import target "assimp::assimp" for configuration "Release" + set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}" ++ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}") ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}") + list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" ) + else() + set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") +@@ -54,10 +62,10 @@ + # Import target "assimp::assimp" for configuration "Release" + set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ++ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}") ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}") + endif() + + else() +@@ -70,17 +78,17 @@ + endif() + set_target_properties(assimp::assimp PROPERTIES + IMPORTED_SONAME_RELEASE "${sharedLibraryName}" +- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ++ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ) ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" ) + else() + set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") + set_target_properties(assimp::assimp PROPERTIES +- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ++ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" + ) + list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) +- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ) ++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" ) + endif() + endif() + diff --git a/assimp.spec b/assimp.spec index a7fa51c..a0f64d5 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -32,6 +32,8 @@ Patch3: %{name}-5.0.1-doxyfile.patch Patch4: %{name}-5.0.1-irrxml.patch # Correct the CMake version to match the tarball version. Patch5: %{name}-5.0.1-assimpversion.patch +# Correct the library installation location +Patch6: %{name}-5.0.1-lib-dir.patch BuildRequires: boost-devel BuildRequires: cmake @@ -115,6 +117,7 @@ rm -r contrib/utf8cpp %patch3 -p1 -b .doxyfile %patch4 -p1 -b .irrxml %patch5 -p1 -b .assimpversion +%patch6 -p1 -b .libdir %build %cmake \ @@ -174,6 +177,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Tue Mar 23 2021 Scott K Logan - 5.0.1-2 +- Add an upstream patch to fix imported library locations + * Sat Feb 27 2021 Rich Mattes - 5.0.1-1 - Update to release 5.0.1 From 2a4a70ecb9b60dfa897fdc0528f8c6b80dd6927c Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Mon, 29 Mar 2021 16:47:32 -0400 Subject: [PATCH 28/66] Fix library install dir specification (rhbz#1943862) Remove un-needed build dependency on ILUT --- assimp.spec | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/assimp.spec b/assimp.spec index a0f64d5..1751c2c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -52,10 +52,6 @@ BuildRequires: python3-devel BuildRequires: rapidjson-devel BuildRequires: utf8cpp-devel -%if 0%{?fedora} -BuildRequires: pkgconfig(ILUT) -%endif - # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) Provides: bundled(polyclipping) = 4.8.8 @@ -122,9 +118,7 @@ rm -r contrib/utf8cpp %build %cmake \ -DCMAKE_BUILD_TYPE=None \ - -DASSIMP_LIB_INSTALL_DIR=%{_libdir} \ - -DASSIMP_BIN_INSTALL_DIR=%{_bindir} \ - -DASSIMP_INCLUDE_INSTALL_DIR=%{_includedir} \ + -DASSIMP_LIB_INSTALL_DIR=%{_lib} \ %ifarch s390x ppc64 -DAI_BUILD_BIG_ENDIAN=TRUE \ %endif @@ -177,6 +171,10 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Mon Mar 29 2021 Rich Mattes - 5.0.1-3 +- Fix library install dir specification (rhbz#1943862) +- Remove un-needed build dependency on ILUT + * Tue Mar 23 2021 Scott K Logan - 5.0.1-2 - Add an upstream patch to fix imported library locations From cb2670101de9c0d0cda7b095f0dc6ff91ad688c0 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 19:59:35 +0200 Subject: [PATCH 29/66] Rebuilt for Python 3.10 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 9eb803a..3b01e68 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 3.3.1 -Release: 28%{?dist} +Release: 29%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -165,6 +165,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Fri Jun 04 2021 Python Maint - 3.3.1-29 +- Rebuilt for Python 3.10 + * Tue Jan 26 2021 Fedora Release Engineering - 3.3.1-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 11d75200c8ebaabc208be097c2ebfb1472dcb6c5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 13:09:21 +0000 Subject: [PATCH 30/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 066ef04fcea6a26168f636f86a31ef28c82ff029 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 18:05:19 +0000 Subject: [PATCH 31/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 3b01e68..c92f78b 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 3.3.1 -Release: 29%{?dist} +Release: 30%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD, the bundled openddlparser is MIT. License: BSD and MIT @@ -165,6 +165,9 @@ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassi %endif %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 04 2021 Python Maint - 3.3.1-29 - Rebuilt for Python 3.10 From ef89f0abc0a53ef68d6fc7115515aa7e5fcbda04 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 11 Sep 2021 12:30:33 -0400 Subject: [PATCH 32/66] =?UTF-8?q?Fix=20=E2=80=9Cerror:=20changelog=20not?= =?UTF-8?q?=20in=20descending=20chronological=20order=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assimp.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/assimp.spec b/assimp.spec index 7c19dad..2155c06 100644 --- a/assimp.spec +++ b/assimp.spec @@ -171,6 +171,12 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.3.1-29 +- Rebuilt for Python 3.10 + * Mon Mar 29 2021 Rich Mattes - 5.0.1-3 - Fix library install dir specification (rhbz#1943862) - Remove un-needed build dependency on ILUT @@ -181,12 +187,6 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a * Sat Feb 27 2021 Rich Mattes - 5.0.1-1 - Update to release 5.0.1 -* Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 3.3.1-29 -- Rebuilt for Python 3.10 - * Tue Jan 26 2021 Fedora Release Engineering - 3.3.1-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From b9d3cbace57e907c2b96abe74fcc7c71848ed7a9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 11 Sep 2021 12:31:24 -0400 Subject: [PATCH 33/66] Unbundle stb_image --- assimp-5.0.1-unbundle.patch | 35 +++++++++++++---------------------- assimp.spec | 11 +++++++++-- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/assimp-5.0.1-unbundle.patch b/assimp-5.0.1-unbundle.patch index 0d937d5..506a968 100644 --- a/assimp-5.0.1-unbundle.patch +++ b/assimp-5.0.1-unbundle.patch @@ -1,6 +1,5 @@ -diff -up ./CMakeLists.txt.unbundle ./CMakeLists.txt --- ./CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./CMakeLists.txt 2021-02-27 15:46:23.408557445 -0500 ++++ ./CMakeLists.txt 2021-09-11 12:22:08.270359054 -0400 @@ -485,6 +485,27 @@ IF ( ASSIMP_NO_EXPORT ) MESSAGE( STATUS "Build an import-only version of Assimp." ) ENDIF( ASSIMP_NO_EXPORT ) @@ -29,9 +28,8 @@ diff -up ./CMakeLists.txt.unbundle ./CMakeLists.txt SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING "describe the current architecture." ) -diff -up ./code/Blender/BlenderTessellator.h.unbundle ./code/Blender/BlenderTessellator.h --- ./code/Blender/BlenderTessellator.h.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Blender/BlenderTessellator.h 2021-02-27 15:46:23.408557445 -0500 ++++ ./code/Blender/BlenderTessellator.h 2021-09-11 12:22:08.271359063 -0400 @@ -144,11 +144,7 @@ namespace Assimp #if ASSIMP_BLEND_WITH_POLY_2_TRI @@ -44,9 +42,8 @@ diff -up ./code/Blender/BlenderTessellator.h.unbundle ./code/Blender/BlenderTess namespace Assimp { -diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt --- ./code/CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/CMakeLists.txt 2021-02-27 15:46:23.408557445 -0500 ++++ ./code/CMakeLists.txt 2021-09-11 12:22:08.271359063 -0400 @@ -874,7 +874,7 @@ IF(HUNTER_ENABLED) hunter_add_package(utf8) find_package(utf8 CONFIG REQUIRED) @@ -176,9 +173,8 @@ diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ENDIF(HUNTER_ENABLED) if(ASSIMP_ANDROID_JNIIOSYSTEM) -diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp ---- ./code/Common/BaseImporter.cpp.unbundle 2021-02-27 15:47:27.432812387 -0500 -+++ ./code/Common/BaseImporter.cpp 2021-02-27 15:47:58.526936201 -0500 +--- ./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 @@ -341,11 +341,7 @@ std::string BaseImporter::GetExtension( return false; } @@ -192,9 +188,8 @@ diff -up ./code/Common/BaseImporter.cpp.unbundle ./code/Common/BaseImporter.cpp // ------------------------------------------------------------------------------------------------ // Convert to UTF8 data -diff -up ./code/Importer/IFC/IFCGeometry.cpp.unbundle ./code/Importer/IFC/IFCGeometry.cpp --- ./code/Importer/IFC/IFCGeometry.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Importer/IFC/IFCGeometry.cpp 2021-02-27 15:46:23.408557445 -0500 ++++ ./code/Importer/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" @@ -211,9 +206,8 @@ diff -up ./code/Importer/IFC/IFCGeometry.cpp.unbundle ./code/Importer/IFC/IFCGeo #include #include -diff -up ./code/Importer/IFC/IFCOpenings.cpp.unbundle ./code/Importer/IFC/IFCOpenings.cpp --- ./code/Importer/IFC/IFCOpenings.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Importer/IFC/IFCOpenings.cpp 2021-02-27 15:46:23.409557449 -0500 ++++ ./code/Importer/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" @@ -230,9 +224,8 @@ diff -up ./code/Importer/IFC/IFCOpenings.cpp.unbundle ./code/Importer/IFC/IFCOpe #include -diff -up ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle ./code/Importer/STEPParser/STEPFileEncoding.cpp ---- ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle 2021-02-27 15:48:15.993005751 -0500 -+++ ./code/Importer/STEPParser/STEPFileEncoding.cpp 2021-02-27 15:48:37.161090042 -0500 +--- ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/Importer/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" @@ -246,9 +239,8 @@ diff -up ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle ./code/Importe #include -diff -up ./code/MMD/MMDPmxParser.cpp.unbundle ./code/MMD/MMDPmxParser.cpp ---- ./code/MMD/MMDPmxParser.cpp.unbundle 2021-02-27 15:50:16.110484046 -0500 -+++ ./code/MMD/MMDPmxParser.cpp 2021-02-27 15:50:57.573649134 -0500 +--- ./code/MMD/MMDPmxParser.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/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" @@ -262,9 +254,8 @@ diff -up ./code/MMD/MMDPmxParser.cpp.unbundle ./code/MMD/MMDPmxParser.cpp #include namespace pmx -diff -up ./code/SIB/SIBImporter.cpp.unbundle ./code/SIB/SIBImporter.cpp ---- ./code/SIB/SIBImporter.cpp.unbundle 2021-02-27 15:48:54.037157241 -0500 -+++ ./code/SIB/SIBImporter.cpp 2021-02-27 15:49:24.194277325 -0500 +--- ./code/SIB/SIBImporter.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 ++++ ./code/SIB/SIBImporter.cpp 2021-09-11 12:22:08.274359089 -0400 @@ -59,12 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE #include #include diff --git a/assimp.spec b/assimp.spec index 2155c06..ebcc58c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -49,7 +49,11 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(python3) BuildRequires: poly2tri-devel BuildRequires: python3-devel +# Need to BR -static packages for header-only libraries for tracking, per +# guidelines BuildRequires: rapidjson-devel +BuildRequires: stb_image-devel +BuildRequires: stb_image-static BuildRequires: utf8cpp-devel # Incompatible - https://github.com/assimp/assimp/issues/788 @@ -57,7 +61,6 @@ BuildRequires: utf8cpp-devel Provides: bundled(polyclipping) = 4.8.8 Provides: bundled(open3dgc) Provides: bundled(openddl-parser) -Provides: bundled(stb_image) Provides: bundled(unzip) Provides: bundled(minzip) Provides: bundled(zlib) @@ -105,6 +108,7 @@ rm -r contrib/android-cmake rm -r contrib/irrXML rm -r contrib/poly2tri rm -r contrib/rapidjson +rm -r contrib/stb_image rm -r contrib/utf8cpp %patch0 -p1 -b .unbundle @@ -171,6 +175,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Sat Sep 11 2021 Benjamin A. Beasley - 5.0.1-4 +- Unbundle stb_image + * Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 33f0991ae3da2059ab690f80a4b7b97572420f25 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 11 Sep 2021 12:32:02 -0400 Subject: [PATCH 34/66] =?UTF-8?q?Add=20-static=20BR=E2=80=99s=20for=20head?= =?UTF-8?q?er-only=20libraries=20utf8cpp=20and=20rapidjson?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assimp-5.0.1-unbundle.patch | 11 +++++++++++ assimp.spec | 3 +++ 2 files changed, 14 insertions(+) diff --git a/assimp-5.0.1-unbundle.patch b/assimp-5.0.1-unbundle.patch index 506a968..0414ab9 100644 --- a/assimp-5.0.1-unbundle.patch +++ b/assimp-5.0.1-unbundle.patch @@ -270,3 +270,14 @@ #include #include #include +--- ./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 +@@ -19,7 +19,7 @@ + #include + + #define STB_IMAGE_IMPLEMENTATION +-#include "contrib/stb_image/stb_image.h" ++#include "stb_image.h" + + #include + diff --git a/assimp.spec b/assimp.spec index ebcc58c..f7bc23a 100644 --- a/assimp.spec +++ b/assimp.spec @@ -52,9 +52,11 @@ BuildRequires: python3-devel # Need to BR -static packages for header-only libraries for tracking, per # guidelines BuildRequires: rapidjson-devel +BuildRequires: rapidjson-static BuildRequires: stb_image-devel BuildRequires: stb_image-static BuildRequires: utf8cpp-devel +BuildRequires: utf8cpp-static # Incompatible - https://github.com/assimp/assimp/issues/788 #BuildRequires: pkgconfig(polyclipping) @@ -177,6 +179,7 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %changelog * Sat Sep 11 2021 Benjamin A. Beasley - 5.0.1-4 - Unbundle stb_image +- Add -static BR’s for header-only libraries utf8cpp and rapidjson * Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 20482f2b1224356baddd96ba60d4cf4b228eb4d0 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Wed, 29 Dec 2021 23:16:18 -0500 Subject: [PATCH 35/66] Correct Unlicense shortname (rhbz#2036000) --- assimp.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/assimp.spec b/assimp.spec index f7bc23a..ef61acc 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -12,7 +12,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 -License: BSD and MIT and Boost and unlicense and zlib +License: BSD and MIT and Boost and Unlicense and zlib URL: https://github.com/assimp/assimp # Github releases include nonfree models, source tarball must be re-generated @@ -177,6 +177,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Thu Dec 30 2021 Rich Mattes - 5.0.1-5 +- Correct Unlicense shortname (rhbz#2036000) + * Sat Sep 11 2021 Benjamin A. Beasley - 5.0.1-4 - Unbundle stb_image - Add -static BR’s for header-only libraries utf8cpp and rapidjson From b25065f086ec5b574b6a9cb5b61dc96ba029ea28 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:48:10 +0000 Subject: [PATCH 36/66] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index ef61acc..6654adf 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -177,6 +177,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 5.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Dec 30 2021 Rich Mattes - 5.0.1-5 - Correct Unlicense shortname (rhbz#2036000) From 2fbf9e06a989e340deb09755ad872b8fafb3e028 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 23 Apr 2022 13:27:09 -0400 Subject: [PATCH 37/66] Security fix for CVE-2022-28041 --- assimp.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/assimp.spec b/assimp.spec index 6654adf..669f6d2 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -53,7 +53,14 @@ BuildRequires: python3-devel # guidelines BuildRequires: rapidjson-devel BuildRequires: rapidjson-static -BuildRequires: stb_image-devel +# Enforce the the minimum EVR to contain fixes for all of CVE-2021-28021, +# CVE-2021-42715, CVE-2021-42716, and CVE-2022-28041. +%if 0%{?el7} || 0%{?el8} +%global min_stb_image 0-0.8.20211022gitaf1a5bc +%else +%global min_stb_image 2.27^20210910gitaf1a5bc-0.2 +%endif +BuildRequires: stb_image-devel >= %{min_stb_image} BuildRequires: stb_image-static BuildRequires: utf8cpp-devel BuildRequires: utf8cpp-static @@ -177,6 +184,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Sat Apr 23 2022 Benjamin A. Beasley - 5.0.1-7 +- Security fix for CVE-2022-28041 + * Wed Jan 19 2022 Fedora Release Engineering - 5.0.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 603f5dbba80e7801f3bc7e263fd9aed8829f5d0a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 23 Apr 2022 13:41:08 -0400 Subject: [PATCH 38/66] Drop BR on pkgconfig(zzip-zlib-config) Dropped upstream in zziplib, and no longer available in F37+. https://github.com/gdraheim/zziplib/issues/86#issuecomment-612961815 --- assimp.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 669f6d2..80f53b7 100644 --- a/assimp.spec +++ b/assimp.spec @@ -44,7 +44,6 @@ BuildRequires: irrXML-devel BuildRequires: gcc-c++ BuildRequires: gtest-devel BuildRequires: make -BuildRequires: pkgconfig(zzip-zlib-config) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(python3) BuildRequires: poly2tri-devel @@ -186,6 +185,8 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %changelog * Sat Apr 23 2022 Benjamin A. Beasley - 5.0.1-7 - Security fix for CVE-2022-28041 +- Drop dependency on pkgconfig(zzip-zlib-config), no longer available in + zziplib; use zlib directly instead * Wed Jan 19 2022 Fedora Release Engineering - 5.0.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 0b9c80100ddecf51701108e7ed4c2ebb34691ad6 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 19:53:07 +0200 Subject: [PATCH 39/66] Rebuilt for Python 3.11 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 80f53b7..a6bbadd 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -183,6 +183,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Mon Jun 13 2022 Python Maint - 5.0.1-8 +- Rebuilt for Python 3.11 + * Sat Apr 23 2022 Benjamin A. Beasley - 5.0.1-7 - Security fix for CVE-2022-28041 - Drop dependency on pkgconfig(zzip-zlib-config), no longer available in From a119cb971fdce8417181a755b2ad81fa38a21963 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 21:24:24 +0000 Subject: [PATCH 40/66] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index a6bbadd..95a6bf3 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -183,6 +183,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 5.0.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jun 13 2022 Python Maint - 5.0.1-8 - Rebuilt for Python 3.11 From 760d443daee9f84d9afad54d7052cf5dc95c9183 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 22:19:14 +0000 Subject: [PATCH 41/66] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 95a6bf3..94b0ea9 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -183,6 +183,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 5.0.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jul 20 2022 Fedora Release Engineering - 5.0.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 30ad66683b889211dc6b46975ee0765792870d1c Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 23:27:02 +0200 Subject: [PATCH 42/66] Rebuilt for Python 3.12 --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 94b0ea9..252c3ab 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -183,6 +183,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Tue Jun 13 2023 Python Maint - 5.0.1-11 +- Rebuilt for Python 3.12 + * Wed Jan 18 2023 Fedora Release Engineering - 5.0.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 1ac0cb353dbf6296d91c43b35de333c60220f800 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:58:22 +0000 Subject: [PATCH 43/66] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- assimp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assimp.spec b/assimp.spec index 252c3ab..9d10272 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,7 +1,7 @@ %undefine __cmake_in_source_build Name: assimp Version: 5.0.1 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD @@ -183,6 +183,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 5.0.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jun 13 2023 Python Maint - 5.0.1-11 - Rebuilt for Python 3.12 From 1170228628b838cf9f98602d9c8fb44a70012d4e Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 11 Nov 2022 15:13:10 -0800 Subject: [PATCH 44/66] Update to release 5.2.5 --- .gitignore | 1 + assimp-5.0.1-assimpversion.patch | 12 -- assimp-5.0.1-doxyfile.patch | 21 --- assimp-5.0.1-irrxml.patch | 46 ----- assimp-5.0.1-lib-dir.patch | 134 ------------- assimp-5.0.1-pkgconfig.patch | 14 -- assimp-5.1.0-doxyfile.patch | 13 ++ ...ath.patch => assimp-5.1.0-pythonpath.patch | 4 +- assimp-5.2.5-nozlib.patch | 12 ++ ...undle.patch => assimp-5.2.5-unbundle.patch | 177 ++++++++++++------ assimp.spec | 53 +++--- assimp_generate_tarball.sh | 4 +- sources | 2 +- 13 files changed, 173 insertions(+), 320 deletions(-) delete mode 100644 assimp-5.0.1-assimpversion.patch delete mode 100644 assimp-5.0.1-doxyfile.patch delete mode 100644 assimp-5.0.1-irrxml.patch delete mode 100644 assimp-5.0.1-lib-dir.patch delete mode 100644 assimp-5.0.1-pkgconfig.patch create mode 100644 assimp-5.1.0-doxyfile.patch rename assimp-5.0.1-pythonpath.patch => assimp-5.1.0-pythonpath.patch (88%) create mode 100644 assimp-5.2.5-nozlib.patch rename assimp-5.0.1-unbundle.patch => assimp-5.2.5-unbundle.patch (61%) diff --git a/.gitignore b/.gitignore index cba2394..ec9d09d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /assimp-3.1.1_no_test_models.zip /assimp-c318d648ff73aa2e32b783709d69740ac3e8c072-free.tar.bz2 /assimp-5.0.1-free.tar.xz +/assimp-5.2.5-free.tar.xz diff --git a/assimp-5.0.1-assimpversion.patch b/assimp-5.0.1-assimpversion.patch deleted file mode 100644 index 6409bb1..0000000 --- a/assimp-5.0.1-assimpversion.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./CMakeLists.txt.assimpversion ./CMakeLists.txt ---- ./CMakeLists.txt.assimpversion 2020-06-23 20:40:43.160107355 -0400 -+++ ./CMakeLists.txt 2020-06-23 20:41:03.435259223 -0400 -@@ -51,7 +51,7 @@ IF(HUNTER_ENABLED) - add_definitions(-DASSIMP_USE_HUNTER) - ENDIF(HUNTER_ENABLED) - --PROJECT( Assimp VERSION 5.0.0 ) -+PROJECT( Assimp VERSION 5.0.1 ) - - # All supported options ############################################### - diff --git a/assimp-5.0.1-doxyfile.patch b/assimp-5.0.1-doxyfile.patch deleted file mode 100644 index 7690a64..0000000 --- a/assimp-5.0.1-doxyfile.patch +++ /dev/null @@ -1,21 +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 -@@ -664,7 +664,6 @@ WARN_LOGFILE = - - INPUT = @doxy_main_page@ \ - @PROJECT_SOURCE_DIR@ \ -- @PROJECT_BINARY_DIR@ \ - @PROJECT_SOURCE_DIR@/include/ \ - @PROJECT_SOURCE_DIR@/doc/dox.h \ - @PROJECT_SOURCE_DIR@/code/BaseImporter.h -@@ -725,7 +724,8 @@ RECURSIVE = YES - # Note that relative paths are relative to the directory from which doxygen is - # run. - --EXCLUDE = irrXML.h -+EXCLUDE = irrXML.h \ -+ @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.0.1-irrxml.patch b/assimp-5.0.1-irrxml.patch deleted file mode 100644 index 3da7b6c..0000000 --- a/assimp-5.0.1-irrxml.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -up ./code/X3D/FIReader.cpp.irrxml ./code/X3D/FIReader.cpp ---- ./code/X3D/FIReader.cpp.irrxml 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/X3D/FIReader.cpp 2021-03-07 20:38:31.402545036 -0500 -@@ -60,11 +60,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 - #include -@@ -654,7 +650,7 @@ public: - return currentNodeType; - } - -- virtual int getAttributeCount() const /*override*/ { -+ virtual unsigned int getAttributeCount() const /*override*/ { - return static_cast(attributes.size()); - } - -@@ -1733,7 +1729,7 @@ public: - return reader->getNodeType(); - } - -- virtual int getAttributeCount() const /*override*/ { -+ virtual unsigned int getAttributeCount() const /*override*/ { - return reader->getAttributeCount(); - } - -diff -up ./include/assimp/irrXMLWrapper.h.irrxml ./include/assimp/irrXMLWrapper.h ---- ./include/assimp/irrXMLWrapper.h.irrxml 2020-01-12 06:56:40.000000000 -0500 -+++ ./include/assimp/irrXMLWrapper.h 2021-03-07 20:38:15.760525926 -0500 -@@ -133,7 +133,7 @@ public: - - // ---------------------------------------------------------------------------------- - //! Returns size of file in bytes -- virtual int getSize() { -+ virtual long getSize() const { - return (int)data.size(); - } - diff --git a/assimp-5.0.1-lib-dir.patch b/assimp-5.0.1-lib-dir.patch deleted file mode 100644 index d05c0d7..0000000 --- a/assimp-5.0.1-lib-dir.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff -uNr a/assimpTargets-debug.cmake.in b/assimpTargets-debug.cmake.in ---- a/assimpTargets-debug.cmake.in 2020-01-12 03:56:40.000000000 -0800 -+++ b/assimpTargets-debug.cmake.in 2021-03-23 12:45:13.392725131 -0700 -@@ -7,6 +7,14 @@ - - set(ASSIMP_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) - -+get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) -+ -+if ("${LIB64}" STREQUAL "TRUE") -+ set(LIBSUFFIX 64) -+else() -+ set(LIBSUFFIX "") -+endif() -+ - if(MSVC) - if(MSVC_TOOLSET_VERSION) - set(MSVC_PREFIX "vc${MSVC_TOOLSET_VERSION}") -@@ -42,11 +50,11 @@ - # Import target "assimp::assimp" for configuration "Debug" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib/${importLibraryName}" -+ IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}" - IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}") - list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" ) - else() - set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@") -@@ -54,10 +62,10 @@ - # Import target "assimp::assimp" for configuration "Debug" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}") - endif() - - else() -@@ -66,17 +74,17 @@ - set(sharedLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@") - set_target_properties(assimp::assimp PROPERTIES - IMPORTED_SONAME_DEBUG "${sharedLibraryName}" -- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" -+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" ) - else() - set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@") - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" ) - endif() - endif() - -diff -uNr a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in ---- a/assimpTargets-release.cmake.in 2020-01-12 03:56:40.000000000 -0800 -+++ b/assimpTargets-release.cmake.in 2021-03-23 12:45:40.323586653 -0700 -@@ -7,6 +7,14 @@ - - set(ASSIMP_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) - -+get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) -+ -+if ("${LIB64}" STREQUAL "TRUE") -+ set(LIBSUFFIX 64) -+else() -+ set(LIBSUFFIX "") -+endif() -+ - if(MSVC) - if(MSVC_TOOLSET_VERSION) - set(MSVC_PREFIX "vc${MSVC_TOOLSET_VERSION}") -@@ -42,11 +50,11 @@ - # Import target "assimp::assimp" for configuration "Release" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}" -+ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${importLibraryName}") - list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" ) - else() - set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") -@@ -54,10 +62,10 @@ - # Import target "assimp::assimp" for configuration "Release" - set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}") -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}") - endif() - - else() -@@ -70,17 +78,17 @@ - endif() - set_target_properties(assimp::assimp PROPERTIES - IMPORTED_SONAME_RELEASE "${sharedLibraryName}" -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${sharedLibraryName}" ) - else() - set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@") - set_target_properties(assimp::assimp PROPERTIES -- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}" -+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" - ) - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp ) -- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" ) -+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib${LIBSUFFIX}/${staticLibraryName}" ) - endif() - endif() - diff --git a/assimp-5.0.1-pkgconfig.patch b/assimp-5.0.1-pkgconfig.patch deleted file mode 100644 index 9291eaf..0000000 --- a/assimp-5.0.1-pkgconfig.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up ./assimp.pc.in.pkgconfig ./assimp.pc.in ---- ./assimp.pc.in.pkgconfig 2021-02-27 18:08:34.032990798 -0500 -+++ ./assimp.pc.in 2021-02-27 18:09:21.019110197 -0500 -@@ -1,7 +1,7 @@ - prefix=@CMAKE_INSTALL_PREFIX@ --exec_prefix=@CMAKE_INSTALL_PREFIX@/ --libdir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_LIB_INSTALL_DIR@ --includedir=@CMAKE_INSTALL_PREFIX@/../include/@ASSIMP_INCLUDE_INSTALL_DIR@ -+exec_prefix=@ASSIMP_BIN_INSTALL_DIR@ -+libdir=@ASSIMP_LIB_INSTALL_DIR@ -+includedir=@ASSIMP_INCLUDE_INSTALL_DIR@/assimp - - Name: @CMAKE_PROJECT_NAME@ - Description: Import various well-known 3D model formats in an uniform manner. diff --git a/assimp-5.1.0-doxyfile.patch b/assimp-5.1.0-doxyfile.patch new file mode 100644 index 0000000..9190bc3 --- /dev/null +++ b/assimp-5.1.0-doxyfile.patch @@ -0,0 +1,13 @@ +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.0.1-pythonpath.patch b/assimp-5.1.0-pythonpath.patch similarity index 88% rename from assimp-5.0.1-pythonpath.patch rename to assimp-5.1.0-pythonpath.patch index 4daf7d0..7e19ab7 100644 --- a/assimp-5.0.1-pythonpath.patch +++ b/assimp-5.1.0-pythonpath.patch @@ -8,8 +8,8 @@ diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/ + additional_dirs.append('/usr/lib64/') additional_dirs.append('/usr/lib/') additional_dirs.append('/usr/lib/x86_64-linux-gnu/') - additional_dirs.append('/usr/local/lib/') -@@ -44,6 +45,7 @@ if os.name=='posix': + additional_dirs.append('/usr/lib/aarch64-linux-gnu/') +@@ -46,6 +47,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-5.2.5-nozlib.patch b/assimp-5.2.5-nozlib.patch new file mode 100644 index 0000000..8238036 --- /dev/null +++ b/assimp-5.2.5-nozlib.patch @@ -0,0 +1,12 @@ +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.0.1-unbundle.patch b/assimp-5.2.5-unbundle.patch similarity index 61% rename from assimp-5.0.1-unbundle.patch rename to assimp-5.2.5-unbundle.patch index 0414ab9..3054e65 100644 --- a/assimp-5.0.1-unbundle.patch +++ b/assimp-5.2.5-unbundle.patch @@ -1,8 +1,7 @@ --- ./CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 +++ ./CMakeLists.txt 2021-09-11 12:22:08.270359054 -0400 -@@ -485,6 +485,27 @@ IF ( ASSIMP_NO_EXPORT ) MESSAGE( STATUS "Build an import-only version of Assimp." ) - ENDIF( ASSIMP_NO_EXPORT ) + ENDIF() +# Search for poly2tri +FIND_LIBRARY(POLY2TRI_LIB poly2tri HINTS ${POLY2TRI_LIB_PATH}) @@ -28,8 +27,8 @@ SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING "describe the current architecture." ) ---- ./code/Blender/BlenderTessellator.h.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Blender/BlenderTessellator.h 2021-09-11 12:22:08.271359063 -0400 +--- ./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 @@ -44,19 +43,33 @@ { --- ./code/CMakeLists.txt.unbundle 2020-01-12 06:56:40.000000000 -0500 +++ ./code/CMakeLists.txt 2021-09-11 12:22:08.271359063 -0400 -@@ -874,7 +874,7 @@ IF(HUNTER_ENABLED) +@@ -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(utf8 CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) + find_package(utf8cpp CONFIG REQUIRED) + ELSE() - # utf8 is header-only, so Assimp doesn't need to do anything. + find_package(utf8cpp) - ENDIF(HUNTER_ENABLED) + ENDIF() # polyclipping -@@ -882,11 +882,11 @@ IF(HUNTER_ENABLED) +@@ -923,11 +918,11 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(polyclipping) find_package(polyclipping CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) + ELSE() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp @@ -67,13 +80,13 @@ + ../contrib/clipper/clipper.cpp + ) + SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) - ENDIF(HUNTER_ENABLED) + ENDIF() # poly2tri -@@ -894,20 +894,25 @@ IF(HUNTER_ENABLED) +@@ -935,20 +930,25 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(poly2tri) find_package(poly2tri CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) + ELSE() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h @@ -107,14 +120,15 @@ + ) + SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) + endif(HAVE_POLY2TRI) - ENDIF(HUNTER_ENABLED) + ENDIF() # minizip/unzip -@@ -915,14 +920,19 @@ IF(HUNTER_ENABLED) +@@ -956,15 +956,20 @@ IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(minizip) find_package(minizip CONFIG REQUIRED) - ELSE(HUNTER_ENABLED) + ELSE() - SET( unzip_SRCS +- ../contrib/unzip/crypt.c - ../contrib/unzip/crypt.h - ../contrib/unzip/ioapi.c - ../contrib/unzip/ioapi.h @@ -127,6 +141,7 @@ + # 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 @@ -135,61 +150,81 @@ + ) + SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) + #endif(HAVE_MINIZIP) - ENDIF(HUNTER_ENABLED) + ENDIF() # zip (https://github.com/kuba--/zip) -@@ -1025,8 +1035,9 @@ IF(HUNTER_ENABLED) +@@ -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(HUNTER_ENABLED) -- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" ) -- INCLUDE_DIRECTORIES( "../contrib" ) + ELSE() +- INCLUDE_DIRECTORIES("../contrib/rapidjson/include") + find_package(RapidJSON REQUIRED) + include_directories(${RapidJSON_INCLUDE_DIRS}) -+ include_directories("../contrib") - ENDIF(HUNTER_ENABLED) + 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 -@@ -1118,7 +1129,7 @@ IF(HUNTER_ENABLED) - irrXML::irrXML +@@ -1209,7 +1211,7 @@ IF(ASSIMP_HUNTER_ENABLED) + polyclipping::polyclipping openddlparser::openddl_parser poly2tri::poly2tri - minizip::minizip + #minizip::minizip ZLIB::zlib RapidJSON::rapidjson - utf8::utf8 -@@ -1126,6 +1137,13 @@ IF(HUNTER_ENABLED) - ) - ELSE(HUNTER_ENABLED) - TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} ) + 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(HAVE_POLY2TRI) ++ ENDIF() + + IF (HAVE_CLIPPER) + TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) -+ ENDIF (HAVE_CLIPPER) - ENDIF(HUNTER_ENABLED) ++ 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 -@@ -341,11 +341,7 @@ std::string BaseImporter::GetExtension( +@@ -331,11 +331,7 @@ std::string BaseImporter::GetExtension(const std::string &file) { return false; } -#ifdef ASSIMP_USE_HUNTER --# include + #include -#else --# include "../contrib/utf8cpp/source/utf8.h" +-#include "../contrib/utf8cpp/source/utf8.h" -#endif -+# include // ------------------------------------------------------------------------------------------------ // Convert to UTF8 data ---- ./code/Importer/IFC/IFCGeometry.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Importer/IFC/IFCGeometry.cpp 2021-09-11 12:22:08.272359072 -0400 +--- ./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" @@ -206,8 +241,8 @@ #include #include ---- ./code/Importer/IFC/IFCOpenings.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Importer/IFC/IFCOpenings.cpp 2021-09-11 12:22:08.273359081 -0400 +--- ./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" @@ -223,15 +258,15 @@ +#include <../contrib/clipper/clipper.hpp> #include - ---- ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/Importer/STEPParser/STEPFileEncoding.cpp 2021-09-11 12:22:08.273359081 -0400 + #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 +-# include -#else -# include -#endif @@ -239,14 +274,14 @@ #include ---- ./code/MMD/MMDPmxParser.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/MMD/MMDPmxParser.cpp 2021-09-11 12:22:08.273359081 -0400 +--- ./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 +-# include -#else -# include "../contrib/utf8cpp/source/utf8.h" -#endif @@ -254,30 +289,50 @@ #include namespace pmx ---- ./code/SIB/SIBImporter.cpp.unbundle 2020-01-12 06:56:40.000000000 -0500 -+++ ./code/SIB/SIBImporter.cpp 2021-09-11 12:22:08.274359089 -0400 -@@ -59,12 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE +--- ./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 + #include -#else --//# include "../contrib/ConvertUTF/ConvertUTF.h" --# include "../contrib/utf8cpp/source/utf8.h" +-#include "../contrib/utf8cpp/source/utf8.h" -#endif -+#include - #include - #include + #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 -@@ -19,7 +19,7 @@ - #include +@@ -23,7 +23,7 @@ + #endif // _MSC_VER #define STB_IMAGE_IMPLEMENTATION --#include "contrib/stb_image/stb_image.h" +-#include "contrib/stb/stb_image.h" +#include "stb_image.h" - #include + #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.spec b/assimp.spec index 9d10272..06e7701 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,14 +1,14 @@ %undefine __cmake_in_source_build Name: assimp -Version: 5.0.1 -Release: 12%{?dist} +Version: 5.2.5 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications # Assimp is BSD # Bundled contrib/clipper is Boost # Bundled contrib/Open3DGC is MIT # Bundled contrib/openddlparser is MIT -# Bundled contrib/stb_image is MIT +# Bundled contrib/stb is MIT # Bundled contrib/unzip is zlib # Bundled contrib/zip is unlicense # Bundled contrib/zlib is zlib @@ -21,32 +21,24 @@ Source0: %{name}-%{version}-free.tar.xz Source1: assimp_generate_tarball.sh # Un-bundle libraries that are provided by the distribution. -Patch0: %{name}-5.0.1-unbundle.patch +Patch0: %{name}-5.2.5-unbundle.patch # Add /usr/lib64 to library lookup paths for python modules -Patch1: %{name}-5.0.1-pythonpath.patch -# Correct the paths in the installed pkgconfig file -Patch2: %{name}-5.0.1-pkgconfig.patch +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.0.1-doxyfile.patch -# Updates for changes in irrxml's API -Patch4: %{name}-5.0.1-irrxml.patch -# Correct the CMake version to match the tarball version. -Patch5: %{name}-5.0.1-assimpversion.patch -# Correct the library installation location -Patch6: %{name}-5.0.1-lib-dir.patch +Patch3: %{name}-5.1.0-doxyfile.patch BuildRequires: boost-devel BuildRequires: cmake BuildRequires: dos2unix BuildRequires: doxygen -BuildRequires: irrlicht-devel -BuildRequires: irrXML-devel BuildRequires: gcc-c++ BuildRequires: gtest-devel BuildRequires: make -BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(python3) BuildRequires: poly2tri-devel +BuildRequires: pugixml-devel BuildRequires: python3-devel # Need to BR -static packages for header-only libraries for tracking, per # guidelines @@ -113,32 +105,36 @@ BuildArch: noarch %setup -q # Get rid of bundled libs so we can't accidently build against them rm -r contrib/android-cmake -rm -r contrib/irrXML +rm -r contrib/draco rm -r contrib/poly2tri +rm -r contrib/pugixml rm -r contrib/rapidjson -rm -r contrib/stb_image +rm -r contrib/stb rm -r contrib/utf8cpp %patch0 -p1 -b .unbundle %patch1 -p1 -b .pythonpath -%patch2 -p1 -b .pkgconfig +%patch2 -p1 -b .nozlib %patch3 -p1 -b .doxyfile -%patch4 -p1 -b .irrxml -%patch5 -p1 -b .assimpversion -%patch6 -p1 -b .libdir + +mv contrib/openddlparser/LICENSE contrib/openddlparser/LICENSE.openddlparser %build +%global optflags %(echo %{optflags} -Wno-error=dangling-reference) %cmake \ -DCMAKE_BUILD_TYPE=None \ -DASSIMP_LIB_INSTALL_DIR=%{_lib} \ %ifarch s390x ppc64 -DAI_BUILD_BIG_ENDIAN=TRUE \ %endif - -DBUILD_DOCS=OFF \ + -DASSIMP_BUILD_ASSIMP_TOOLS=TRUE \ + -DASSIMP_BUILD_DOCS=OFF \ + -DASSIMP_BUILD_DRACO=OFF \ -DHTML_OUTPUT=%{name}-%{version} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir} \ + -DHAVE_POLY2TRI=ON \ -DPOLY2TRI_INCLUDE_PATH=%{_includedir}/poly2tri \ - -DSYSTEM_IRRXML=ON \ + -DPOLY2TRI_LIB=poly2tri \ -DASSIMP_BUILD_ZLIB=ON # To use system polyclipping if assimp ever becomes compatible: @@ -146,7 +142,7 @@ rm -r contrib/utf8cpp %cmake_build # Fix file encoding -dos2unix README LICENSE CREDITS port/PyAssimp/README.md +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 @@ -161,7 +157,7 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %files %license LICENSE %license contrib/clipper/License.txt -%license contrib/openddlparser/LICENSE +%license contrib/openddlparser/LICENSE.openddlparser %license contrib/zip/UNLICENSE %doc Readme.md CREDITS %{_bindir}/assimp @@ -183,6 +179,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Fri Jul 28 2023 Scott K Logan - 5.2.5-1 +- Update to release 5.2.5 + * Wed Jul 19 2023 Fedora Release Engineering - 5.0.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index 30c5d1b..d29700c 100755 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,5 +1,5 @@ #!/bin/bash -RELEASE=5.0.1 +RELEASE=5.2.5 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.0.1-free.tar.xz assimp-$RELEASE +tar czf assimp-5.2.5-free.tar.xz assimp-$RELEASE diff --git a/sources b/sources index 033da3b..94eb3ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (assimp-5.0.1-free.tar.xz) = bbdcb26fb826f44789850c139981f0a9c4000cf44e4cfb48671aa05b7fa1eaef164aa973dbba2f21ee16295236b3a775a4fa987bb211cfd552bd92c0522816da +SHA512 (assimp-5.2.5-free.tar.xz) = 83f4b3fe97f6fb3f119748908b9bb09a5e0dec509fc70823e3974848c1e9e8d0596d73cbafd779ab956d8dc2d92047b593ca1be213db27ec65002e1d7b6f542c From 814f62525cb321ee26c2eb19fb8cce295c2f16e1 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Thu, 23 Nov 2023 23:43:10 -0500 Subject: [PATCH 45/66] Enable unit tests Enable unit tests and exclude unit tests that rely on non-free models. Disable -Werror during build. Incorporate stb_image minimum versions. --- assimp-5.2.5-tests.patch | 28 ++++++++++++++++++++++++++++ assimp.spec | 35 ++++++++++++++++++++++++++--------- 2 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 assimp-5.2.5-tests.patch diff --git a/assimp-5.2.5-tests.patch b/assimp-5.2.5-tests.patch new file mode 100644 index 0000000..7ee9913 --- /dev/null +++ b/assimp-5.2.5-tests.patch @@ -0,0 +1,28 @@ +diff -up ./CMakeLists.txt.tests ./CMakeLists.txt +--- ./CMakeLists.txt.tests 2022-09-08 14:13:43.000000000 -0400 ++++ ./CMakeLists.txt 2023-11-23 23:26:56.278297669 -0500 +@@ -715,6 +715,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 2022-09-08 14:13:43.000000000 -0400 ++++ ./test/CMakeLists.txt 2023-11-23 23:29:19.422016706 -0500 +@@ -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.spec b/assimp.spec index 06e7701..e9d79bd 100644 --- a/assimp.spec +++ b/assimp.spec @@ -28,6 +28,8 @@ Patch1: %{name}-5.1.0-pythonpath.patch 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 BuildRequires: boost-devel BuildRequires: cmake @@ -44,12 +46,22 @@ BuildRequires: python3-devel # 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, and CVE-2022-28041. +# 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 0-0.8.20211022gitaf1a5bc +%global min_stb_image 2.28-0.39.20231011gitbeebb24 %else -%global min_stb_image 2.27^20210910gitaf1a5bc-0.2 +%global min_stb_image 2.28^20231011gitbeebb24-12 %endif BuildRequires: stb_image-devel >= %{min_stb_image} BuildRequires: stb_image-static @@ -112,18 +124,20 @@ rm -r contrib/rapidjson rm -r contrib/stb rm -r contrib/utf8cpp -%patch0 -p1 -b .unbundle -%patch1 -p1 -b .pythonpath -%patch2 -p1 -b .nozlib -%patch3 -p1 -b .doxyfile +%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 mv contrib/openddlparser/LICENSE contrib/openddlparser/LICENSE.openddlparser %build %global optflags %(echo %{optflags} -Wno-error=dangling-reference) %cmake \ - -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_BUILD_TYPE=Release \ -DASSIMP_LIB_INSTALL_DIR=%{_lib} \ + -DASSIMP_WARNINGS_AS_ERRORS=OFF \ %ifarch s390x ppc64 -DAI_BUILD_BIG_ENDIAN=TRUE \ %endif @@ -153,6 +167,9 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %ldconfig_scriptlets +# Exclude tests that rely on nonbsd models +%check +%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 From c6758b214467203fbd833e724e6c2c11f00c0823 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Thu, 23 Nov 2023 23:55:31 -0500 Subject: [PATCH 46/66] Fix versions Fix library version and filter installed libraries by package version and soversion. --- assimp-5.2.5-tests.patch | 25 +++++++++++++++++++++++-- assimp.spec | 7 ++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/assimp-5.2.5-tests.patch b/assimp-5.2.5-tests.patch index 7ee9913..956336c 100644 --- a/assimp-5.2.5-tests.patch +++ b/assimp-5.2.5-tests.patch @@ -1,6 +1,15 @@ diff -up ./CMakeLists.txt.tests ./CMakeLists.txt --- ./CMakeLists.txt.tests 2022-09-08 14:13:43.000000000 -0400 -+++ ./CMakeLists.txt 2023-11-23 23:26:56.278297669 -0500 ++++ ./CMakeLists.txt 2023-11-23 23:51:52.739981462 -0500 +@@ -56,7 +56,7 @@ IF(ASSIMP_HUNTER_ENABLED) + add_definitions(-DASSIMP_USE_HUNTER) + ENDIF() + +-PROJECT(Assimp VERSION 5.2.4) ++PROJECT(Assimp VERSION 5.2.5) + + # All supported options ############################################### + @@ -715,6 +715,7 @@ IF ( ASSIMP_BUILD_SAMPLES ) ENDIF () @@ -11,7 +20,7 @@ diff -up ./CMakeLists.txt.tests ./CMakeLists.txt 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:29:19.422016706 -0500 ++++ ./test/CMakeLists.txt 2023-11-23 23:51:52.739981462 -0500 @@ -36,6 +36,7 @@ # #---------------------------------------------------------------------- @@ -26,3 +35,15 @@ diff -up ./test/CMakeLists.txt.tests ./test/CMakeLists.txt -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 +@@ -61,7 +61,7 @@ TEST_F( utVersion, aiGetVersionMajorTest + } + + TEST_F( utVersion, aiGetVersionPatchTest ) { +- EXPECT_EQ(aiGetVersionPatch(), 4U ); ++ EXPECT_EQ(aiGetVersionPatch(), 5U ); + } + + TEST_F( utVersion, aiGetCompileFlagsTest ) { diff --git a/assimp.spec b/assimp.spec index e9d79bd..0d39c73 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,4 +1,6 @@ %undefine __cmake_in_source_build +%define soversion 5 + Name: assimp Version: 5.2.5 Release: 1%{?dist} @@ -165,8 +167,6 @@ mkdir -p %{buildroot}%{python3_sitelib}/pyassimp/ install -m0644 port/PyAssimp/pyassimp/*.py %{buildroot}%{python3_sitelib}/pyassimp/ rm -f %{buildroot}%{_libdir}/libzlibstatic.a -%ldconfig_scriptlets - # Exclude tests that rely on nonbsd models %check %ctest --exclude-regex "utMD5Importer.importBoarMan|utMD5Importer.importBob|utMD2Importer.importDolphin|utMD2Importer.importFlag|utMD2Importer.importHorse|utQ3BSPImportExport.importerTest|utBlenderImporter.importBob|utBlenderImporter.importFleurOptonl|utPMXImporter.importTest|utXImporter.importDwarf" || : @@ -178,7 +178,8 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %license contrib/zip/UNLICENSE %doc Readme.md CREDITS %{_bindir}/assimp -%{_libdir}/*.so.* +%{_libdir}/*.so.%{version} +%{_libdir}/*.so.%{soversion} %files devel %{_includedir}/assimp From 41c8bc20b9f73db729b99bf28cdcf94d839ff2bb Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Fri, 24 Nov 2023 10:45:53 -0500 Subject: [PATCH 47/66] Update changelog for latest changes --- assimp.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assimp.spec b/assimp.spec index 0d39c73..d6d4485 100644 --- a/assimp.spec +++ b/assimp.spec @@ -197,6 +197,12 @@ rm -f %{buildroot}%{_libdir}/libzlibstatic.a %endif %changelog +* Fri Nov 24 2023 Rich Mattes - 5.2.5-1 +- Add check section and fix ctest configuration + +* Thu Oct 26 2023 Benjamin A. Beasley - 5.2.5-1 +- Ensure stb_image contains the latest CVE patches + * Fri Jul 28 2023 Scott K Logan - 5.2.5-1 - Update to release 5.2.5 From 98ede03e7c0ac0740735c6b3ee34a210df1c9e83 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 3 Jan 2024 12:59:12 -0600 Subject: [PATCH 48/66] 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 a47b41f26d50e7e0387b883b2ac36bd62fee0c48 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 13:45:25 +0000 Subject: [PATCH 49/66] 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 50/66] 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 51/66] 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 52/66] 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 53/66] 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 54/66] 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 55/66] 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 56/66] 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 57/66] 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 58/66] 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 59/66] 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 60/66] 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 61/66] 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 62/66] 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 63/66] 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 64/66] 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 65/66] 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 66/66] 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)