summaryrefslogtreecommitdiff
path: root/media-libs/assimp
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/assimp')
-rw-r--r--media-libs/assimp/assimp-6.0.2.ebuild17
-rw-r--r--media-libs/assimp/files/assimp-6.0.2-optional-collada-tests.patch43
2 files changed, 57 insertions, 3 deletions
diff --git a/media-libs/assimp/assimp-6.0.2.ebuild b/media-libs/assimp/assimp-6.0.2.ebuild
index 28cb47f680e5..ac6337050926 100644
--- a/media-libs/assimp/assimp-6.0.2.ebuild
+++ b/media-libs/assimp/assimp-6.0.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
# SONAME -> ASSIMP_SOVERSION
SLOT="0/$(ver_cut 1)"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86"
IUSE="collada doc samples test"
RESTRICT="!test? ( test )"
@@ -34,6 +34,7 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-5.2.5-gtest.patch"
"${FILESDIR}/${PN}-5.2.5-float-comparison.patch"
+ "${FILESDIR}/${PN}-6.0.2-optional-collada-tests.patch"
)
DOCS=( CodeConventions.md Readme.md )
@@ -80,7 +81,7 @@ src_configure() {
# -DASSIMP_BUILD_NONFREE_C4D_IMPORTER=no # Build the C4D importer, which relies on the non-free Cineware SDK.
-DASSIMP_BUILD_SAMPLES=$(usex samples) # If the official samples are built as well (needs Glut).
-DASSIMP_BUILD_TESTS=$(usex test) # If the test suite for Assimp is built in addition to the library.
- -DASSIMP_BUILD_USE_CCACHE=off
+ -DASSIMP_BUILD_USE_CCACHE="no"
-DASSIMP_BUILD_ZLIB=no # Build your own zlib
-DASSIMP_COVERALLS=$(usex test) # Enable this to measure test coverage.
# breaks tests
@@ -105,11 +106,13 @@ src_configure() {
-DHTML_OUTPUT="html"
)
fi
+
if use samples; then
mycmakeargs+=(
-DOpenGL_GL_PREFERENCE="GLVND"
)
fi
+
if use test; then
# adds the target headercheck which compiles every header file, default disabled because it adds many targets
mycmakeargs+=(
@@ -122,10 +125,18 @@ src_configure() {
src_test() {
local CMAKE_SKIP_TESTS=(
- "$(usex collada '' 'utCollada.*')"
+ # these are reproducer tests that will always fail
+ # like https://github.com/assimp/assimp/issues/727#issuecomment-175809243
+ '^utIssues'
+
+ # these show fp comparison related failures on certain seed values, we just repeat them often enough to pass
+ # '^AssimpAPITest_aiQuaternion.aiQuaternionFromNormalizedQuaternionTest$'
+ # '^AssimpAPITest_aiVector3D.aiTransformVecByMatrix3Test$'
)
+
local myctestargs=(
--repeat until-pass:100
)
+
cmake_src_test
}
diff --git a/media-libs/assimp/files/assimp-6.0.2-optional-collada-tests.patch b/media-libs/assimp/files/assimp-6.0.2-optional-collada-tests.patch
new file mode 100644
index 000000000000..23c21819d3cf
--- /dev/null
+++ b/media-libs/assimp/files/assimp-6.0.2-optional-collada-tests.patch
@@ -0,0 +1,43 @@
+From 3b0bab987d0e90f7481aed77affb6b3863d1e369 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Tue, 9 Sep 2025 15:42:18 +0200
+Subject: [PATCH] Only build collada test when importer/exporter is build
+
+See-also: https://bugs.gentoo.org/962559
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 74a00fd..a3ef574 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -143,8 +143,6 @@ SET( IMPORTERS
+ unit/utBlendImportMaterials.cpp
+ unit/utBlenderWork.cpp
+ unit/utBVHImportExport.cpp
+- unit/utColladaExport.cpp
+- unit/utColladaImportExport.cpp
+ unit/utCSMImportExport.cpp
+ unit/utB3DImportExport.cpp
+ #unit/utM3DImportExport.cpp
+@@ -176,6 +174,18 @@ if(ASSIMP_BUILD_USD_IMPORTER)
+ )
+ endif()
+
++if(ASSIMP_BUILD_COLLADA_EXPORTER)
++ list( APPEND IMPORTERS
++ unit/utColladaExport.cpp
++ )
++endif()
++
++if(ASSIMP_BUILD_COLLADA_IMPORTER)
++ list( APPEND IMPORTERS
++ unit/utColladaImportExport.cpp
++ )
++endif()
++
+ SET( MATERIAL
+ unit/utMaterialSystem.cpp
+ )
+--
+2.51.0
+