commit:     c5759df9e7cef3161bd7060765af05ca12011cdf
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Mon Nov 10 15:34:41 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jan  2 17:15:16 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5759df9

sci-libs/opencascade: Provide better USE=jemalloc description, update 9999

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44585
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 sci-libs/opencascade/Manifest                      |   1 +
 ...e-7.9.0-0002-avoid-pre-stripping-binaries.patch |  32 ++++
 ...-find-the-jemalloc-libs-we-are-going-to-u.patch |  34 ++++
 ...01-fix-installation-of-cmake-config-files.patch |  23 +++
 ...cascade-7.9.2-0003-Fix-building-with-musl.patch |  56 ++++++
 sci-libs/opencascade/metadata.xml                  |   1 +
 sci-libs/opencascade/opencascade-9999.ebuild       | 202 +++++++++++++++------
 7 files changed, 293 insertions(+), 56 deletions(-)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index db7dd2e4cdad..e469b7d4c8cf 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,2 +1,3 @@
 DIST opencascade-7.8.1.tar.gz 48432051 BLAKE2B 
de7a40b8e6612642a1567d2cf3e6b471c9edeadbc7f686bc8648502165c8d824b3574259874ecb1775c856703fd8df7481c9bc07a66a3a321a83e699e6802052
 SHA512 
807c1f8732926cfdabcfbdf8d6a0e76b8dba1a1e614afe084a467ffb4cfd80623f5e3afa7e9905b1ac96667c93e01b5f98ceaa8948a576a1093d98df98cc8f81
 DIST opencascade-dataset-7.8.0.tar.xz 97049756 BLAKE2B 
aae5f076d9fc8a0d8a05028b0d9ffb527978e7acfdf5ecbc7e71c5ee3d6060cd7db9e56dba5b94a445bf5cf208126711cda70306607bdc5cd5e8b68df8fc150c
 SHA512 
9b4c91d7b4743c47f2cf8d9a3b6ded73409a13133013424150ee9bdb61fd771c0b8799c7f31b459a7d2ba140399b9c0c972e2d0476188006361b4fb04042d990
+DIST opencascade-dataset-7.9.0.tar.xz 98739184 BLAKE2B 
fe80e350d5c34f82202ef8dcda56f3e7ec1d45f8d3b782f9f92c8f78d0c25504de65c699c4e251e3f30b3d9e59f0adfe35554d52b535e36380aaf3c468f4e90b
 SHA512 
0a30cab7a3f8e3a87ff3ae1cacc64449d1099f04a13d10c95471a94adb8126514d5f5f2352e093a847562a99ab3250c7b8e60c874ff4bc8aea990fa1de7fda8c

diff --git 
a/sci-libs/opencascade/files/opencascade-7.9.0-0002-avoid-pre-stripping-binaries.patch
 
b/sci-libs/opencascade/files/opencascade-7.9.0-0002-avoid-pre-stripping-binaries.patch
new file mode 100644
index 000000000000..87693eea0842
--- /dev/null
+++ 
b/sci-libs/opencascade/files/opencascade-7.9.0-0002-avoid-pre-stripping-binaries.patch
@@ -0,0 +1,32 @@
+From 6365471a493797ec8696407b04e3d2ac31c082b7 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <[email protected]>
+Date: Sat, 8 Oct 2022 13:16:47 +0200
+Subject: [PATCH] avoid pre-stripping binaries
+
+Signed-off-by: Bernd Waibel <[email protected]>
+
+diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake
+index 5bd3313d3..e8acdba16 100644
+--- a/adm/cmake/occt_defs_flags.cmake
++++ b/adm/cmake/occt_defs_flags.cmake
+@@ -194,7 +194,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
+     # CLang can be used with both libstdc++ and libc++, however on OS X 
libstdc++ is outdated.
+     set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
+   endif()
+-  if (NOT WIN32)
++  if (NOT WIN32 AND FALSE)
+     # Optimize size of binaries
+     set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,-s 
${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
+   endif()
+@@ -208,7 +208,7 @@ if(MINGW)
+   set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wattributes")
+   set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wattributes")
+ endif()
+-if (CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE)
++if (CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE AND FALSE)
+   # Optimize size of binaries
+   set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+   set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+-- 
+2.51.2
+

diff --git 
a/sci-libs/opencascade/files/opencascade-7.9.0-0004-Only-try-to-find-the-jemalloc-libs-we-are-going-to-u.patch
 
b/sci-libs/opencascade/files/opencascade-7.9.0-0004-Only-try-to-find-the-jemalloc-libs-we-are-going-to-u.patch
new file mode 100644
index 000000000000..43b0bdae3013
--- /dev/null
+++ 
b/sci-libs/opencascade/files/opencascade-7.9.0-0004-Only-try-to-find-the-jemalloc-libs-we-are-going-to-u.patch
@@ -0,0 +1,34 @@
+From 9bf7e7a1729838a2052f9e550b204d1538802143 Mon Sep 17 00:00:00 2001
+From: Paul Zander <[email protected]>
+Date: Tue, 20 May 2025 14:10:41 +0200
+Subject: [PATCH] Only try to find the jemalloc libs we are going to use
+
+diff --git a/adm/cmake/jemalloc.cmake b/adm/cmake/jemalloc.cmake
+index 8161700ad..8cd19e0e2 100644
+--- a/adm/cmake/jemalloc.cmake
++++ b/adm/cmake/jemalloc.cmake
+@@ -72,6 +72,7 @@ function (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
+ endfunction()
+ 
+ macro (SEARCH_JEMALLOC)
++  if(BUILD_LIBRARY_TYPE EQUAL "Static")
+   # find static jemalloc lib
+   SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".lib" ".a")
+   if (WIN32)
+@@ -81,10 +82,13 @@ macro (SEARCH_JEMALLOC)
+     SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
+     JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
+   endif()
++  endif()
+   
++  if(BUILD_LIBRARY_TYPE EQUAL "Shared")
+   # find shared jemalloc lib
+   SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
+   JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
++  endif()
+ endmacro()
+ 
+ # Reset CSF variable
+-- 
+2.51.2
+

diff --git 
a/sci-libs/opencascade/files/opencascade-7.9.2-0001-fix-installation-of-cmake-config-files.patch
 
b/sci-libs/opencascade/files/opencascade-7.9.2-0001-fix-installation-of-cmake-config-files.patch
new file mode 100644
index 000000000000..568b948eeaef
--- /dev/null
+++ 
b/sci-libs/opencascade/files/opencascade-7.9.2-0001-fix-installation-of-cmake-config-files.patch
@@ -0,0 +1,23 @@
+From 17d5b4f37508c67be67f980dfa86e15c7cf8b423 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <[email protected]>
+Date: Thu, 6 Oct 2022 18:53:41 +0200
+Subject: [PATCH] fix installation of cmake config files
+
+Signed-off-by: Bernd Waibel <[email protected]>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8d62e06b..6cf4e00b0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1340,7 +1340,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
+ endforeach()
+ # install OpenCASCADE config file with compile definitions and C/C++ flags 
ONLY for current configuration
+ install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" 
CMAKE_INSTALL_CONFIG_NAME_LOWER)")
+-install (CODE "file(INSTALL FILES 
\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\"
 DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
++install (FILES 
"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake"
 DESTINATION "${INSTALL_DIR_CMAKE}")
+ 
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+   if (BUILD_MODULE_${OCCT_MODULE})
+-- 
+2.51.2
+

diff --git 
a/sci-libs/opencascade/files/opencascade-7.9.2-0003-Fix-building-with-musl.patch
 
b/sci-libs/opencascade/files/opencascade-7.9.2-0003-Fix-building-with-musl.patch
new file mode 100644
index 000000000000..4373d91ea1e5
--- /dev/null
+++ 
b/sci-libs/opencascade/files/opencascade-7.9.2-0003-Fix-building-with-musl.patch
@@ -0,0 +1,56 @@
+From 32c4af6d0f9b948acf66e4a06c65f2db53600fe2 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <[email protected]>
+Date: Tue, 11 Jul 2023 16:13:32 -0400
+Subject: [PATCH] Fix building with musl
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6cf4e00b0..64752383b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -774,6 +774,13 @@ file(COPY ${CMAKE_SOURCE_DIR}/.clang-format DESTINATION 
${CMAKE_SOURCE_DIR})
+ OCCT_MAKE_OS_WITH_BITNESS()
+ OCCT_MAKE_COMPILER_SHORT_NAME()
+ 
++# define CSF variable
++OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf")
++
++# Check for execinfo.h
++include(CheckIncludeFile)
++CHECK_INCLUDE_FILE("execinfo.h" HAS_EXECINFO_H)
++
+ # do not define INSTALL_DIR_BIN for win.
+ # Leave library structure for win: <prefix>/win64/vc10/bin(d)
+ if (NOT DEFINED INSTALL_DIR_BIN)
+diff --git a/src/Standard/Standard_StackTrace.cxx 
b/src/Standard/Standard_StackTrace.cxx
+index 811c09e9b..2f6243e6c 100644
+--- a/src/Standard/Standard_StackTrace.cxx
++++ b/src/Standard/Standard_StackTrace.cxx
+@@ -29,7 +29,7 @@
+ // #include <unwind.h>
+ #elif defined(__QNX__)
+ // #include <backtrace.h> // requires linking to libbacktrace
+-#elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
++#elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && 
defined (HAS_EXECINFO_H)
+   #include <execinfo.h>
+ #elif defined(_WIN32) && !defined(OCCT_UWP)
+ 
+@@ -320,7 +320,7 @@ Standard_Boolean Standard::StackTrace(char*     theBuffer,
+   Message::SendTrace("Standard::StackTrace() is not implemented for this CPU 
architecture");
+   return false;
+   #endif
+-#else
++#elif defined (HAS_EXECINFO_H)
+   const int aTopSkip  = theNbTopSkip + 1; // skip this function call and 
specified extra number
+   int       aNbTraces = theNbTraces + aTopSkip;
+   void**    aStackArr = (void**)alloca(sizeof(void*) * aNbTraces);
+@@ -367,5 +367,7 @@ Standard_Boolean Standard::StackTrace(char*     theBuffer,
+     strcat(theBuffer, "\n=============");
+   }
+   return true;
++#else
++  return false;
+ #endif
+ }
+-- 
+2.51.2
+

diff --git a/sci-libs/opencascade/metadata.xml 
b/sci-libs/opencascade/metadata.xml
index 38b85e513a1f..8755a7520b0d 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -13,6 +13,7 @@
        <flag name="freeimage">Enable support for image i/o via 
<pkg>media-libs/freeimage</pkg></flag>
        <flag name="freetype">Enable <pkg>media-libs/freetype</pkg> 
support</flag>
        <flag name="inspector">Build Inspector tool</flag>
+       <flag name="jemalloc">Enable jemalloc allocator support via 
<pkg>dev-libs/jemalloc</pkg></flag>
        <flag name="json">Enable JSON support through 
<pkg>dev-libs/rapidjson</pkg></flag>
        <flag name="optimize">Don't clear allocated memory. Use optimized 
memory manager unlesstbb USE flag is set.</flag>
        <flag name="tbb">Enable multithreading with the Intel Threads Building 
Block <pkg>dev-cpp/tbb</pkg></flag>

diff --git a/sci-libs/opencascade/opencascade-9999.ebuild 
b/sci-libs/opencascade/opencascade-9999.ebuild
index e968dc552f03..7dcd21009437 100644
--- a/sci-libs/opencascade/opencascade-9999.ebuild
+++ b/sci-libs/opencascade/opencascade-9999.ebuild
@@ -3,18 +3,20 @@
 
 EAPI=8
 
-inherit cmake cuda flag-o-matic virtualx
+inherit cmake cuda flag-o-matic multiprocessing virtualx xdg-utils
 
 DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and 
data exchange"
 HOMEPAGE="https://www.opencascade.com";
 
 MY_PN="OCCT"
 
-MY_TEST_PV="7.8.0"
-MY_TEST_PV2="${MY_TEST_PV//./_}"
+MY_TEST_PV="7.9.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}_beta1"
 
 SRC_URI="
-       test? ( 
https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz
 )
+       test? (
+               
https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz
+       )
 "
 
 if [[ ${PV} = *9999* ]] ; then
@@ -26,7 +28,10 @@ else
                
https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz 
-> ${P}.tar.gz
        "
        S="${WORKDIR}/${MY_PN}-${MY_PV}"
-       KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+       if [[ "${PV}" != *rc* ]]; then
+               KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+       fi
 fi
 
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
@@ -35,9 +40,21 @@ IUSE="X debug doc freeimage gles2 jemalloc json opengl 
optimize tbb test testpro
 
 # vtk libs are hardcoded in src/TKIVtk*/EXTERNLIB
 REQUIRED_USE="
-       ?? ( optimize tbb )
-       test? ( freeimage json opengl tk )
-       vtk? ( X opengl )
+       ?? (
+               optimize
+               tbb
+       )
+       test? (
+               freeimage
+               json
+               opengl
+               tk
+               truetype
+       )
+       vtk? (
+               X
+               opengl
+       )
 "
 
 RESTRICT="!test? ( test )"
@@ -45,7 +62,9 @@ RESTRICT="!test? ( test )"
 RDEPEND="
        dev-lang/tcl:=
        dev-libs/double-conversion
-       tk? ( dev-lang/tk:= )
+       tk? (
+               dev-lang/tk:=
+       )
        gles2? (
                media-libs/libglvnd
        )
@@ -55,15 +74,21 @@ RDEPEND="
        X? (
                x11-libs/libX11
        )
-       freeimage? ( media-libs/freeimage )
-       jemalloc? ( dev-libs/jemalloc )
-       tbb? ( dev-cpp/tbb:= )
+       freeimage? (
+               media-libs/freeimage
+       )
+       jemalloc? (
+               dev-libs/jemalloc
+       )
+       tbb? (
+               dev-cpp/tbb:=
+       )
        truetype? (
                media-libs/fontconfig
                media-libs/freetype:2
        )
        vtk? (
-               sci-libs/vtk:=[rendering,truetype=]
+               sci-libs/vtk:=[rendering,truetype?]
                tbb? (
                        sci-libs/vtk[tbb]
                )
@@ -71,22 +96,38 @@ RDEPEND="
 "
 DEPEND="
        ${RDEPEND}
-       X? ( x11-base/xorg-proto )
-       json? ( dev-libs/rapidjson )
+       X? (
+               x11-base/xorg-proto
+       )
+       json? (
+               dev-libs/rapidjson
+       )
+       test? (
+               freeimage? (
+                       media-libs/freeimage[jpeg,mng,png,tiff]
+               )
+               truetype? (
+                       media-fonts/noto-cjk
+                       media-fonts/urw-fonts
+               )
+       )
 "
 BDEPEND="
-       doc? ( app-text/doxygen[dot] )
-       test? ( dev-tcltk/thread )
+       doc? (
+               app-text/doxygen[dot]
+       )
+       test? (
+               dev-tcltk/thread
+       )
 "
 
 PATCHES=(
-       "${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
-       "${FILESDIR}/${PN}-7.7.0-musl.patch"
+       
"${FILESDIR}/${PN}-7.9.2-0001-fix-installation-of-cmake-config-files.patch"
+       "${FILESDIR}/${PN}-7.9.0-0002-avoid-pre-stripping-binaries.patch"
+       "${FILESDIR}/${PN}-7.9.2-0003-Fix-building-with-musl.patch"
+       
"${FILESDIR}/${PN}-7.9.0-0004-Only-try-to-find-the-jemalloc-libs-we-are-going-to-u.patch"
        "${FILESDIR}/${PN}-7.8.0-tests.patch"
        "${FILESDIR}/${PN}-7.8.0-jemalloc-noexcept.patch"
-       "${FILESDIR}/${PN}-7.8.1-vtk_components.patch"
-       "${FILESDIR}/${PN}-7.8.2-avoid-pre-stripping-binaries.patch"
-       "${FILESDIR}/${PN}-7.8.2-jemalloc-lib-type.patch"
 )
 
 src_unpack() {
@@ -97,8 +138,7 @@ src_unpack() {
        fi
 
        if use test; then
-               mkdir "${WORKDIR}/data"
-               pushd "${WORKDIR}/data" > /dev/null || die
+               pushd "${WORKDIR}" > /dev/null || die
                # should be in paths indicated by CSF_TestDataPath environment 
variable,
                # or in subfolder data in the script directory
                unpack "${PN}-dataset-${MY_TEST_PV}.tar.xz"
@@ -109,9 +149,6 @@ src_unpack() {
 src_prepare() {
        cmake_src_prepare
 
-       sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
-               -i adm/templates/OpenCASCADEConfig.cmake.in || die
-
        # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
        # assumptions it makes about installation paths. Rather than fixing it, 
just
        # get rid of the mechanism altogether - its purpose is to allow a
@@ -128,7 +165,7 @@ src_configure() {
 
        local mycmakeargs=(
                -D3RDPARTY_DIR="${ESYSROOT}/usr"
-               -DBUILD_CPP_STANDARD="C++17"
+               # -DBUILD_CPP_STANDARD="C++23"
                -DBUILD_SOVERSION_NUMBERS=2
 
                -DBUILD_DOC_Overview="$(usex doc)"
@@ -242,13 +279,11 @@ src_configure() {
 }
 
 src_test() {
-       echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> 
"${BUILD_DIR}/custom.sh" || die
-
-       if has_version media-fonts/dejavu; then
-               cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" 
"${WORKDIR}/data/" # no die here as this isn't fatal
-       fi
+       cat >> "${BUILD_DIR}/custom.sh" <<- _EOF_ || die
+               export CSF_TestDataPath="${WORKDIR}/${PN}-dataset-${MY_TEST_PV}"
+       _EOF_
 
-       local test_file=${T}/testscript.tcl
+       local test_file="${T}/testscript.tcl"
 
        local draw_opts=(
                i # see ${BUILD_DIR}/custom*.sh
@@ -259,76 +294,130 @@ src_test() {
        local test_names=(
                "demo draw bug30430" # prone to dying due to cpu limit
        )
+
        local test_opts=( # run single tests
                -overwrite
        )
+
        for test_name in "${test_names[@]}"; do
+               mkdir -vp "$(dirname "${BUILD_DIR}/test_results/${test_name// 
/\/}.html")" || die
                cat >> "${test_file}" <<- _EOF_ || die
                        test ${test_name} -outfile 
"${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
                _EOF_
        done
 
-       local testgrid_opts=()
+       local testgrid_opts=(
+               -overwrite
+       )
 
        local SKIP_TESTS=()
+       local DEL_TESTS=()
 
        if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
                SKIP_TESTS+=(
+                       "demo draw bug30430"
+
                        'blend complex F4'
+
+                       # skip all bugs
                        'bugs'
-                       'geometry circ2d3Tan 
'{CircleCircleLin_11,CircleLinPoint_11}
+
+                       # skip failing bugs
+                       # 'bugs caf bug31918_'{1,2}
+                       # 'bugs fclasses bug'{6143,7287_{3,5},29064}
+                       # 'bugs filling bug16119'
+                       # 'bugs mesh 
bug'{24127,25594,26372,27693,27845,29641,29962,30008_2,30442,31258,31461,32241,32422}
+                       # 'bugs modalg_1 '{buc60782_3,bug15036}
+                       # 'bugs modalg_2 bug399'
+                       # 'bugs modalg_5 
bug23706_'{16,20,21,26,36,38,43,44,45,48,49,50,51,52,53,54,55,56,60,61}
+                       # 'bugs modalg_5 bug24347'
+                       # 'bugs modalg_6 bug'{26308,26525_3,27383_4,27884,6768}
+                       # 'bugs modalg_7 
bug'{26034,29311_4,29807_b3a,29807_sc01}
+                       # 'bugs moddata_1 bug16'
+                       # 'bugs moddata_2 bug712_2'
+                       # 'bugs moddata_3 bug'{24959_1,27534,32058}
+
+                       'geometry circ2d3Tan Circle'{CircleLin_11,LinPoint_11}
                        'heal checkshape bug32448_1'
                        'hlr exact_hlr bug25813_2'
+                       'hlr poly_hlr '{Plate,bug25813_{2,3,4}}
+                       'lowalgos intss 
bug'{25950,27431,29807_i{1003,2006,3003},30703,565,567_1}
+                       'lowalgos proximity A'{4,5}
+                       'offset wire_closed_inside_0_005 D1'
+                       'opengles3 general msaa'
+                       'opengles3 geom interior'{1,2}
+                       'opengles3 raytrace msaa'
+                       'opengles3 textures alpha_mask'
+                       'perf mesh bug26965'
 
-                       'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
-                       'lowalgos intss 
bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
-                       'lowalgos proximity '{A4,A5}
                        'opengl background bug27836'
-                       'opengl drivers opengles'
-                       'opengles3'
+                       'opengles3 background bug27836'
+               )
 
-                       'demo draw bug30430'
+               DEL_TESTS+=(
+                       # Error: non-linear time growth detected!
+                       # 'v3d/trsf/bug26029'
+
+                       # needs dri3
+                       # 'opengl/drivers/opengles'
+                       # 'opengles3'
                )
+       fi
 
-               local DEL_TESTS=(
-                       'opengl/data/background/bug27836'
-                       'perf/mesh/bug26965'
-                       'v3d/trsf/bug26029'
+       if ! use gles2; then
+               DEL_TESTS+=(
+                       # 'opengl/drivers/opengles'
+                       # 'opengles3'
                )
+       fi
 
-               for test in "${DEL_TESTS[@]}"; do
-                       rm "${CMAKE_USE_DIR}/tests/${test}" || die
-               done
+       if use gles2 || use opengl; then
+               xdg_environment_reset
+               addwrite '/dev/dri/'
+               [[ -c /dev/udmabuf ]] && addwrite /dev/udmabuf
+       fi
+
+       if ! use tk || ! use vtk; then
+               DEL_TESTS+=(
+                       # 'opengl/data/transparency/oit'
+               )
        fi
 
        if ! use vtk; then
                SKIP_TESTS+=(
                        'vtk'
                )
-               echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> 
"${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+               cat >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules" <<- _EOF_ || 
die
+                       IGNORE /Could not open: libTKIVtkDraw/skip VTK
+               _EOF_
        fi
 
        if [[ -n "${SKIP_TESTS[*]}" ]]; then
                testgrid_opts+=( -exclude "$(IFS=',' ; echo 
"${SKIP_TESTS[*]}")" )
        fi
 
+       for test in "${DEL_TESTS[@]}"; do
+               rm -r "${CMAKE_USE_DIR}/tests/${test}" || die
+       done
+
        testgrid_opts+=(
-               # -refresh 5
+               # -refresh 5 # default is 60
                -overwrite
+               -parallel "$(makeopts_jobs)"
        )
        cat >> "${test_file}" <<- _EOF_ || die
                testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
        _EOF_
 
-       # # regenerate summary in case we have to
-       # cat >> "${test_file}" <<- _EOF_ || die
-       #       testsummarize "${BUILD_DIR}/test_results"
-       # _EOF_
+       # regenerate summary in case we have to
+       cat >> "${test_file}" <<- _EOF_ || die
+               testsummarize "${BUILD_DIR}/test_results"
+       _EOF_
 
        # Work around zink warnings
        export LIBGL_ALWAYS_SOFTWARE="true"
 
-       export CASROOT="${BUILD_DIR}"
+       local -x CASROOT="${BUILD_DIR}"
 
        virtx \
        "${BUILD_DIR}/draw.sh" \
@@ -339,6 +428,7 @@ src_test() {
                eerror "tests never ran!"
                die
        fi
+
        failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
        if [[ -n ${failed_tests} ]]; then
                eerror "Failed tests:"

Reply via email to