commit:     e3179b6eab5b0d068a54ff39f17cddd9457adcc3
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Mon Mar 25 16:16:46 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 25 18:54:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3179b6e

sci-libs/opencascade: fix 927629, 927592, 925441

Closes: https://bugs.gentoo.org/927629
Closes: https://bugs.gentoo.org/927592
Closes: https://bugs.gentoo.org/925441
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35912
Signed-off-by: Sam James <sam <AT> gentoo.org>

 profiles/base/package.use.mask                     |  2 +-
 .../files/opencascade-7.7.0-tbb-detection.patch    | 53 ++++++++++++++++++++++
 sci-libs/opencascade/opencascade-7.7.1.ebuild      | 41 ++++++-----------
 sci-libs/opencascade/opencascade-7.7.2.ebuild      | 41 ++++++-----------
 sci-libs/opencascade/opencascade-7.8.0.ebuild      | 30 ++++++------
 5 files changed, 96 insertions(+), 71 deletions(-)

diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
index 76b39e86f880..1b39b7a886a6 100644
--- a/profiles/base/package.use.mask
+++ b/profiles/base/package.use.mask
@@ -270,7 +270,7 @@ x11-wm/stumpwm doc
 # Bernd Waibel <waebbl-gen...@posteo.net> (2022-11-25)
 # USE=tbb is broken in 7.7.0
 # https://tracker.dev.opencascade.org/view.php?id=33152
->=sci-libs/opencascade-7.7.0 tbb
+<sci-libs/opencascade-7.7.1 tbb
 
 # Guillermo Joandet <gjoan...@gmail.com> (2022-11-22)
 # app-text/pandoc is not keyworded on most architectures

diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch 
b/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch
new file mode 100644
index 000000000000..c93b009a9da6
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch
@@ -0,0 +1,53 @@
+From: Fabio Rossi <ross...@inwind.it>
+See-Also: https://tracker.dev.opencascade.org/view.php?id=33612
+Fix tbb detection
+
+--- ./adm/cmake/tbb.cmake      2022-11-11 23:19:44.000000000 +0100
++++ ./adm/cmake/tbb.cmake.new  2024-02-24 18:59:32.267165878 +0100
+@@ -56,13 +56,17 @@
+       list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
+     endif()
+ 
++    # Get installed configuration of tbb
++    get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb 
IMPORTED_CONFIGURATIONS)
++    list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
++
+     separate_arguments (CSF_TBB)
+     foreach (LIB IN LISTS CSF_TBB)
+       string(TOLOWER "${LIB}" LIB_LOWER)
+       string(TOUPPER "${LIB}" LIB_UPPER)
+ 
+       # Achive *.lib files and directory containing it.
+-      get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" 
IMPORTED_IMPLIB_RELEASE)
++      get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" 
IMPORTED_IMPLIB_${CHOSEN_IMPORT_CONF})
+       # Reserve cache variable for *.lib.
+       if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+         set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} 
library (*.lib)")
+@@ -89,7 +93,7 @@
+       endif()
+ 
+       # Achive *.dll files and directory containing it.
+-      get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" 
IMPORTED_LOCATION_RELEASE)
++      get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" 
IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
+       # Reserve cache variable for *.dll.
+       if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
+         set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} 
library (*.dll)")
+@@ -185,13 +189,17 @@
+     list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
+   endif()
+ 
++  # Get installed configuration of tbb
++  get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb 
IMPORTED_CONFIGURATIONS)
++  list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
++
+   separate_arguments (CSF_TBB)
+   foreach (LIB IN LISTS CSF_TBB)
+     string(TOLOWER "${LIB}" LIB_LOWER)
+     string(TOUPPER "${LIB}" LIB_UPPER)
+ 
+     # Achive *.so files and directory containing it.
+-    get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" 
IMPORTED_LOCATION_RELEASE)
++    get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" 
IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
+     # Reserve cache variable for *.so.
+     if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+       set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} 
library (*.so)")

diff --git a/sci-libs/opencascade/opencascade-7.7.1.ebuild 
b/sci-libs/opencascade/opencascade-7.7.1.ebuild
index 384a99eaaf44..d9ef51dd1f11 100644
--- a/sci-libs/opencascade/opencascade-7.7.1.ebuild
+++ b/sci-libs/opencascade/opencascade-7.7.1.ebuild
@@ -32,11 +32,12 @@ fi
 
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc 
json +opengl optimize tbb test testprograms tk vtk"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only gui json 
+opengl optimize tbb test testprograms tk vtk"
 
 REQUIRED_USE="
        ?? ( optimize tbb )
        ?? ( opengl gles2-only )
+       examples? ( gui )
        test? ( freeimage json opengl )
 "
 
@@ -59,17 +60,14 @@ RDEPEND="
                x11-libs/libX11
        )
        gui? (
-               examples? (
-                       dev-qt/qtcore:5
-                       dev-qt/qtgui:5
-                       dev-qt/qtquickcontrols2:5
-                       dev-qt/qtwidgets:5
-                       dev-qt/qtxml:5
-               )
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtquickcontrols2:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtxml:5
        )
        ffmpeg? ( <media-video/ffmpeg-5:= )
        freeimage? ( media-libs/freeimage )
-       jemalloc? ( dev-libs/jemalloc )
        tbb? ( dev-cpp/tbb:= )
        vtk? (
                sci-libs/vtk:=[rendering]
@@ -86,7 +84,7 @@ DEPEND="
 BDEPEND="
        doc? ( app-text/doxygen[dot] )
        gui? (
-               examples? ( dev-qt/linguist-tools:5 )
+               dev-qt/linguist-tools:5
        )
        test? ( dev-tcltk/thread )
 "
@@ -98,7 +96,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
        "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
        "${FILESDIR}/${PN}-7.7.0-musl.patch"
-       "${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+       "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
        "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
        "${FILESDIR}/${PN}-7.8.0-tests.patch"
 )
@@ -178,23 +176,13 @@ src_configure() {
                # no package in tree
                -DUSE_OPENVR="no"
                -DUSE_RAPIDJSON="$(usex json)"
+               -DUSE_QT="$(usex gui)"
                -DUSE_TBB="$(usex tbb)"
                -DUSE_TK="$(usex tk)"
                -DUSE_VTK="$(usex vtk)"
                -DUSE_XLIB="$(usex X)"
        )
 
-       # Select using memory manager tool.
-       if ! use jemalloc && ! use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
-       elif use jemalloc && ! use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
-       elif ! use jemalloc && use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
-       elif use jemalloc && use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
-       fi
-
        if use doc; then
                mycmakeargs+=(
                        -DINSTALL_DOC_Overview="yes"
@@ -207,11 +195,9 @@ src_configure() {
                        -D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
                        -DBUILD_SAMPLES_QT="$(usex examples)"
                )
-       fi
-
-       if use jemalloc; then
+       else
                mycmakeargs+=(
-                       
-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+                       -DCMAKE_DISABLE_FIND_PACKAGE_Qt5="yes"
                )
        fi
 
@@ -297,6 +283,9 @@ src_test() {
                        'opengl drivers opengles'
                        'opengles3'
 
+                       'offset wire_closed_inside_0_005 D1'
+                       'offset wire_unclosed_outside_0_025 A1'
+
                        'demo draw bug30430'
                )
 

diff --git a/sci-libs/opencascade/opencascade-7.7.2.ebuild 
b/sci-libs/opencascade/opencascade-7.7.2.ebuild
index 384a99eaaf44..606592c2b231 100644
--- a/sci-libs/opencascade/opencascade-7.7.2.ebuild
+++ b/sci-libs/opencascade/opencascade-7.7.2.ebuild
@@ -32,11 +32,12 @@ fi
 
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc 
json +opengl optimize tbb test testprograms tk vtk"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only gui json 
+opengl optimize tbb test testprograms tk vtk"
 
 REQUIRED_USE="
        ?? ( optimize tbb )
        ?? ( opengl gles2-only )
+       examples? ( gui )
        test? ( freeimage json opengl )
 "
 
@@ -59,17 +60,14 @@ RDEPEND="
                x11-libs/libX11
        )
        gui? (
-               examples? (
-                       dev-qt/qtcore:5
-                       dev-qt/qtgui:5
-                       dev-qt/qtquickcontrols2:5
-                       dev-qt/qtwidgets:5
-                       dev-qt/qtxml:5
-               )
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtquickcontrols2:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtxml:5
        )
        ffmpeg? ( <media-video/ffmpeg-5:= )
        freeimage? ( media-libs/freeimage )
-       jemalloc? ( dev-libs/jemalloc )
        tbb? ( dev-cpp/tbb:= )
        vtk? (
                sci-libs/vtk:=[rendering]
@@ -86,7 +84,7 @@ DEPEND="
 BDEPEND="
        doc? ( app-text/doxygen[dot] )
        gui? (
-               examples? ( dev-qt/linguist-tools:5 )
+               dev-qt/linguist-tools:5
        )
        test? ( dev-tcltk/thread )
 "
@@ -98,7 +96,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
        "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
        "${FILESDIR}/${PN}-7.7.0-musl.patch"
-       "${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+       "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
        "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
        "${FILESDIR}/${PN}-7.8.0-tests.patch"
 )
@@ -178,23 +176,13 @@ src_configure() {
                # no package in tree
                -DUSE_OPENVR="no"
                -DUSE_RAPIDJSON="$(usex json)"
+               -DUSE_QT="$(usex gui)"
                -DUSE_TBB="$(usex tbb)"
                -DUSE_TK="$(usex tk)"
                -DUSE_VTK="$(usex vtk)"
                -DUSE_XLIB="$(usex X)"
        )
 
-       # Select using memory manager tool.
-       if ! use jemalloc && ! use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
-       elif use jemalloc && ! use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
-       elif ! use jemalloc && use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
-       elif use jemalloc && use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
-       fi
-
        if use doc; then
                mycmakeargs+=(
                        -DINSTALL_DOC_Overview="yes"
@@ -209,12 +197,6 @@ src_configure() {
                )
        fi
 
-       if use jemalloc; then
-               mycmakeargs+=(
-                       
-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
-               )
-       fi
-
        if use tbb; then
                mycmakeargs+=(
                        -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
@@ -297,6 +279,9 @@ src_test() {
                        'opengl drivers opengles'
                        'opengles3'
 
+                       'offset wire_closed_inside_0_005 D1'
+                       'offset wire_unclosed_outside_0_025 A1'
+
                        'demo draw bug30430'
                )
 

diff --git a/sci-libs/opencascade/opencascade-7.8.0.ebuild 
b/sci-libs/opencascade/opencascade-7.8.0.ebuild
index 2f819b1746e8..33ab0630c4c9 100644
--- a/sci-libs/opencascade/opencascade-7.8.0.ebuild
+++ b/sci-libs/opencascade/opencascade-7.8.0.ebuild
@@ -31,11 +31,12 @@ fi
 
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
 SLOT="0/$(ver_cut 1-2)"
-IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc 
json +opengl optimize tbb test testprograms tk vtk"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only gui jemalloc 
json +opengl optimize tbb test testprograms tk vtk"
 
 REQUIRED_USE="
        ?? ( optimize tbb )
        ?? ( opengl gles2-only )
+       examples? ( gui )
        test? ( freeimage json opengl )
 "
 
@@ -58,13 +59,11 @@ RDEPEND="
                x11-libs/libX11
        )
        gui? (
-               examples? (
-                       dev-qt/qtcore:5
-                       dev-qt/qtgui:5
-                       dev-qt/qtquickcontrols2:5
-                       dev-qt/qtwidgets:5
-                       dev-qt/qtxml:5
-               )
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtquickcontrols2:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtxml:5
        )
        ffmpeg? ( <media-video/ffmpeg-5:= )
        freeimage? ( media-libs/freeimage )
@@ -85,7 +84,7 @@ DEPEND="
 BDEPEND="
        doc? ( app-text/doxygen[dot] )
        gui? (
-               examples? ( dev-qt/linguist-tools:5 )
+               dev-qt/linguist-tools:5
        )
        test? ( dev-tcltk/thread )
 "
@@ -97,6 +96,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
        "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
        "${FILESDIR}/${PN}-7.7.0-musl.patch"
+       "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
        "${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
        "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
        "${FILESDIR}/${PN}-7.8.0-tests.patch"
@@ -177,6 +177,7 @@ src_configure() {
                # no package in tree
                -DUSE_OPENVR="no"
                -DUSE_RAPIDJSON="$(usex json)"
+               -DUSE_QT="$(usex gui)"
                -DUSE_TBB="$(usex tbb)"
                -DUSE_TK="$(usex tk)"
                -DUSE_VTK="$(usex vtk)"
@@ -187,7 +188,10 @@ src_configure() {
        if ! use jemalloc && ! use tbb; then
                mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
        elif use jemalloc && ! use tbb; then
-               mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
+               mycmakeargs+=(
+                       -DUSE_MMGR_TYPE=JEMALLOC
+                       
-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+               )
        elif ! use jemalloc && use tbb; then
                mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
        elif use jemalloc && use tbb; then
@@ -208,12 +212,6 @@ src_configure() {
                )
        fi
 
-       if use jemalloc; then
-               mycmakeargs+=(
-                       
-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
-               )
-       fi
-
        if use tbb; then
                mycmakeargs+=(
                        -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"

Reply via email to