From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3C0EE1581F3 for ; Mon, 25 Nov 2024 15:32:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CFC73E080E; Mon, 25 Nov 2024 15:32:38 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A30C2E0815 for ; Mon, 25 Nov 2024 15:32:38 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A13BD343059 for ; Mon, 25 Nov 2024 15:32:37 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A360C1F45 for ; Mon, 25 Nov 2024 15:32:34 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1732548598.21e88e724a6b8182f7800d68db945fecb75a9d44.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/, sci-libs/opencascade/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/opencascade/Manifest sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch sci-libs/opencascade/metadata.xml sci-libs/opencascade/opencascade-7.6.3-r2.ebuild sci-libs/opencascade/opencascade-7.7.0-r2.ebuild sci-libs/opencascade/opencascade-7.7.2-r1.ebuild X-VCS-Directories: sci-libs/opencascade/ sci-libs/opencascade/files/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 21e88e724a6b8182f7800d68db945fecb75a9d44 X-VCS-Branch: master Date: Mon, 25 Nov 2024 15:32:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 457b414b-308a-407c-923e-eff691ada2cc X-Archives-Hash: 50faafa4bac8e91c900443422edd050c commit: 21e88e724a6b8182f7800d68db945fecb75a9d44 Author: Andreas Sturmlechner gentoo org> AuthorDate: Sat Nov 23 19:52:05 2024 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Mon Nov 25 15:29:58 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21e88e72 sci-libs/opencascade: drop 7.6.3-r2, 7.7.0-r2, 7.7.2-r1 Signed-off-by: Andreas Sturmlechner gentoo.org> sci-libs/opencascade/Manifest | 4 - ...04-fix-installation-of-cmake-config-files.patch | 40 --- .../files/opencascade-7.5.3-tbb-2021.patch | 51 --- ...ascade-7.6.2-avoid-pre-stripping-binaries.patch | 33 -- ...ncascade-7.7.0-add-missing-include-limits.patch | 19 -- sci-libs/opencascade/metadata.xml | 1 - sci-libs/opencascade/opencascade-7.6.3-r2.ebuild | 171 ---------- sci-libs/opencascade/opencascade-7.7.0-r2.ebuild | 178 ---------- sci-libs/opencascade/opencascade-7.7.2-r1.ebuild | 365 --------------------- 9 files changed, 862 deletions(-) diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest index fa54d19c63f2..db7dd2e4cdad 100644 --- a/sci-libs/opencascade/Manifest +++ b/sci-libs/opencascade/Manifest @@ -1,6 +1,2 @@ -DIST opencascade-7.6.3.tar.gz 48216090 BLAKE2B ff0b63250e77b0240bd99bba38cd0e6b0a8c88bf39e495f5d51d7913f097e2cad83a5ad121e9d56de11c74008249c99a41f4615269a085b7cf97c3d7f0477d6d SHA512 c708f76edb707ba18bdfe7442ed8fa500894ee6c1cd8d0313eb906b3aa7dfa40a575f04dbccd70e84395d670f2b93fb8529f3d59726449234e627b9f35b9dded -DIST opencascade-7.7.0.tar.gz 48393806 BLAKE2B b41da7bdd07aa6ef52f7833bef3e8a9fc2ca16cbf754773cb7adcc059c11c2a7937d279a2b6cf3096e7af6fbb42c6fdc2a5c98340d6b084d2ba100ba2c538f2a SHA512 6c90e2761f752241417ae6f18d819f51e66b32f3a50a97384f29ed73fa07f4cded84c71a6f6ba302d5e35c57e2fc13001619521eaf45757e4e5ff670d94bbf5c -DIST opencascade-7.7.2.tar.gz 48404428 BLAKE2B 28d637e75eca570e38401a0a59127ffdbcb06838a91cc3899fe905834bb47e0e9a92d16cde52027d94e78b0fbddc2043340a35dcb0f4a472c4f2bdac2713216c SHA512 d9e882d44bb65616f8cfce68ebdcd5765669b84e3d82cfb2d1bc22b71b0e878442c079bacc37e9d54f28ce98a7c23bf81f2a3e3e7bbeeec38927ca739f423dee DIST opencascade-7.8.1.tar.gz 48432051 BLAKE2B de7a40b8e6612642a1567d2cf3e6b471c9edeadbc7f686bc8648502165c8d824b3574259874ecb1775c856703fd8df7481c9bc07a66a3a321a83e699e6802052 SHA512 807c1f8732926cfdabcfbdf8d6a0e76b8dba1a1e614afe084a467ffb4cfd80623f5e3afa7e9905b1ac96667c93e01b5f98ceaa8948a576a1093d98df98cc8f81 -DIST opencascade-dataset-7.7.0.tar.gz 128392200 BLAKE2B ebfbe6f24520144ca4a82e4ddd0486890552c2de1b62bf5c0d4990d777d4a1458dea54f8a6f08d8a0999582fb4325eda0002fc8a0137b9e66d024a47145d1279 SHA512 71d7e807b1d629fe7371b9d1d503024d00b7c1ae1775e62803eeffd127bd1c768e5240fdd1f949a237737089d528b5d4e43d26db025bbe14a4e0e4616ebdc5d8 DIST opencascade-dataset-7.8.0.tar.xz 97049756 BLAKE2B aae5f076d9fc8a0d8a05028b0d9ffb527978e7acfdf5ecbc7e71c5ee3d6060cd7db9e56dba5b94a445bf5cf208126711cda70306607bdc5cd5e8b68df8fc150c SHA512 9b4c91d7b4743c47f2cf8d9a3b6ded73409a13133013424150ee9bdb61fd771c0b8799c7f31b459a7d2ba140399b9c0c972e2d0476188006361b4fb04042d990 diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch deleted file mode 100644 index caace23fc2d8..000000000000 --- a/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8469f927963fe4bece05297c514fb2b9f9ad9b1a Mon Sep 17 00:00:00 2001 -From: Bernd Waibel -Date: Fri, 5 Feb 2021 13:44:15 +0100 -Subject: [PATCH] fix installation of cmake config files - -Signed-off-by: Bernd Waibel ---- - CMakeLists.txt | 2 +- - adm/cmake/occt_macros.cmake | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 100d6133..bc8cdb92 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1156,7 +1156,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 "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)") -+install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)") - - foreach (OCCT_MODULE ${OCCT_MODULES}) - if (BUILD_MODULE_${OCCT_MODULE}) -diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake -index 0a387945..f10fe5e3 100644 ---- a/adm/cmake/occt_macros.cmake -+++ b/adm/cmake/occt_macros.cmake -@@ -592,7 +592,7 @@ macro (OCCT_UPDATE_TARGET_FILE) - "cmake_policy(PUSH) - cmake_policy(SET CMP0007 NEW) - string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE) -- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\") -+ file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\") - foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES}) - file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT) - file (REMOVE \"\${TARGET_FILENAME}\") --- -2.30.0 - diff --git a/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch b/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch deleted file mode 100644 index 38770ac9a541..000000000000 --- a/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch +++ /dev/null @@ -1,51 +0,0 @@ -https://github.com/Open-Cascade-SAS/OCCT/commit/740833a6a88e481f474783c426b6f6311ed586d3 - -From 740833a6a88e481f474783c426b6f6311ed586d3 Mon Sep 17 00:00:00 2001 -From: kgv -Date: Mon, 29 Nov 2021 21:26:45 +0300 -Subject: [PATCH] 0032697: Configuration - fix compilation errors with oneTBB - 2021 - -Removed usage of no more existing tbb::task_scheduler_init and tbb::captured_exception. ---- a/src/OSD/OSD_Parallel_TBB.cxx -+++ b/src/OSD/OSD_Parallel_TBB.cxx -@@ -25,7 +25,9 @@ Standard_DISABLE_DEPRECATION_WARNINGS - #include - #include - #include --#include -+#if TBB_VERSION_MAJOR < 2021 -+ #include -+#endif - Standard_ENABLE_DEPRECATION_WARNINGS - - //======================================================================= -@@ -38,12 +40,16 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin, - const FunctorInterface& theFunctor, - Standard_Integer theNbItems) - { -+#if TBB_VERSION_MAJOR >= 2021 -+ // task_scheduler_init is removed, -+ // exceptions are captured without proxy tbb::captured_exception object -+ (void )theNbItems; -+ tbb::parallel_for_each (theBegin, theEnd, theFunctor); -+#else - try - { - const Handle(OSD_ThreadPool)& aThreadPool = OSD_ThreadPool::DefaultPool(); -- const Standard_Integer aNbThreads = theNbItems > 0 ? -- aThreadPool->NbDefaultThreadsToLaunch() : -1; -- -+ const Standard_Integer aNbThreads = theNbItems > 0 ? aThreadPool->NbDefaultThreadsToLaunch() : -1; - tbb::task_scheduler_init aScheduler (aNbThreads); - tbb::parallel_for_each (theBegin, theEnd, theFunctor); - } -@@ -51,6 +57,7 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin, - { - throw Standard_ProgramError (anException.what()); - } -+#endif - } - - #endif /* HAVE_TBB */ - diff --git a/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch b/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch deleted file mode 100644 index 144047fba163..000000000000 --- a/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://bugs.gentoo.org/831800 -https://dev.opencascade.org/content/dont-pre-strip-binaries - -From 88e59e0199daaf66184833e366e9deb1299078a9 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel -Date: Sun, 5 Jun 2022 09:48:09 +0200 -Subject: [PATCH] avoid pre-stripping binaries - -Signed-off-by: Bernd Waibel ---- a/adm/cmake/occt_defs_flags.cmake -+++ b/adm/cmake/occt_defs_flags.cmake -@@ -133,8 +133,6 @@ if ("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xClang") - # does not support option "-std=c++0x" - set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}") - endif() -- # Optimize size of binaries -- set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}") - elseif(MINGW) - add_definitions(-D_WIN32_WINNT=0x0601) - # _WIN32_WINNT=0x0601 (use Windows 7 SDK) -@@ -150,9 +148,6 @@ elseif(MINGW) - elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX) - # Require C++11 - set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}") -- # Optimize size of binaries -- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") -- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") - endif() - - if (BUILD_RELEASE_DISABLE_EXCEPTIONS) --- -2.35.1 - diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch b/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch deleted file mode 100644 index 2bc59319864a..000000000000 --- a/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 44a30819131496bf41f2e1dcfd362b23173db6fb Mon Sep 17 00:00:00 2001 -From: Bernd Waibel -Date: Wed, 5 Oct 2022 21:55:06 +0200 -Subject: [PATCH] add missing #include - -Signed-off-by: Bernd Waibel ---- a/src/ViewerTest/ViewerTest_CmdParser.cxx -+++ b/src/ViewerTest/ViewerTest_CmdParser.cxx -@@ -21,6 +21,7 @@ - - #include - #include -+#include - - namespace - { --- -2.38.0 - diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml index 5f2d813e1af6..38b85e513a1f 100644 --- a/sci-libs/opencascade/metadata.xml +++ b/sci-libs/opencascade/metadata.xml @@ -10,7 +10,6 @@ Proxy Maintainers - Enable support for eigenvalues through the header-only dev-cpp/eigen package. Enable support for image i/o via media-libs/freeimage Enable media-libs/freetype support Build Inspector tool diff --git a/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild deleted file mode 100644 index 2e561ce32b79..000000000000 --- a/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -MY_SLOT="$(ver_cut 1-2)" -COMMIT="b079fb9877ef64d4a8158a60fa157f59b096debb" -COMMIT_SHORT="${COMMIT:0:7}" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${COMMIT};sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-${COMMIT_SHORT}" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="0/${MY_SLOT}" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" -IUSE="doc eigen examples ffmpeg freeimage gles2 json optimize tbb vtk" - -REQUIRED_USE="?? ( optimize tbb )" - -# There's no easy way to test. Testing needs a rather big environment -# properly set up. -RESTRICT="test" - -# ffmpeg: https://dev.opencascade.org/content/build-error-when-compiling-against-ffmpeg-5 -RDEPEND=" - dev-lang/tcl:= - dev-lang/tk:= - dev-tcltk/itcl - dev-tcltk/itk - dev-tcltk/tix - media-libs/fontconfig - media-libs/freetype:2 - media-libs/ftgl - virtual/glu - virtual/opengl - x11-libs/libX11 - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( "${T}"/99${PN} || die - - # use TBB for memory allocation optimizations - if use tbb; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die - fi - - # use internal optimized memory manager and don't clear memory with this - # memory manager. - if use optimize ; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ - -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ - -i "${T}"/99${PN} || die - fi -} - -src_install() { - cmake_src_install - - doenvd "${T}/99${PN}" - - docompress -x /usr/share/doc/${PF}/overview/html -} diff --git a/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild deleted file mode 100644 index 9db1978c27a0..000000000000 --- a/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# USE_{DRACO,FFMPEG,FREEIMAGE,FREETYPE,GLES2,OPENGL,OPENVR,RAPIDJSON,TBB,TK,VTK,XLIB} - -EAPI=8 - -inherit cmake flag-o-matic - -MY_SLOT="$(ver_cut 1-2)" -MY_PV="$(ver_rs 3 '-')" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=185d29b92f6764ffa9fc195b7dbe7bba3c4ac855;sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-185d29b" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="0/${MY_SLOT}" -KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="doc examples ffmpeg freeimage gles2 json optimize tbb vtk" - -REQUIRED_USE="?? ( optimize tbb )" - -# There's no easy way to test. Testing needs a rather big environment -# properly set up. -RESTRICT="test" - -# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871 -RDEPEND=" - dev-lang/tcl:= - dev-lang/tk:= - media-libs/fontconfig - media-libs/freetype:2 - virtual/opengl - x11-libs/libX11 - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( "${T}"/99${PN} || die - - # use TBB for memory allocation optimizations - if use tbb; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die - fi - - # use internal optimized memory manager and don't clear memory with this - # memory manager. - if use optimize ; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ - -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ - -i "${T}"/99${PN} || die - fi -} - -src_install() { - cmake_src_install - - doenvd "${T}/99${PN}" - - docompress -x /usr/share/doc/${PF}/overview/html -} diff --git a/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild b/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild deleted file mode 100644 index ebb48f6acc7e..000000000000 --- a/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild +++ /dev/null @@ -1,365 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic virtualx - -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.7.0" -MY_TEST_PV2="${MY_TEST_PV//./_}" - -SRC_URI=" - test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tgz - -> ${PN}-dataset-${MY_TEST_PV}.tar.gz ) -" - -if [[ ${PV} = *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git" -else - MY_PV="${PV//./_}" - SRC_URI+=" - 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" -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 inspector json +opengl optimize tbb test testprograms tk vtk" - -REQUIRED_USE=" - ?? ( optimize tbb ) - ?? ( opengl gles2-only ) - test? ( freeimage json opengl ) -" - -# There's no easy way to test. Testing needs a rather big environment properly set up. -RESTRICT="!test? ( test )" - -# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871 -RDEPEND=" - dev-lang/tcl:= - tk? ( dev-lang/tk:= ) - dev-libs/double-conversion - freetype? ( - media-libs/fontconfig - media-libs/freetype:2 - ) - gles2-only? ( - media-libs/libglvnd - ) - opengl? ( - media-libs/libglvnd[X] - ) - X? ( - x11-libs/libX11 - ) - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( /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.gz" - popd > /dev/null || die - fi -} - -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 - # side-by-side installation of release and debug libraries. - sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ - -i adm/cmake/occt_toolkit.cmake || die -} - -src_configure() { - # -Werror=odr - # https://bugs.gentoo.org/862912 - # https://tracker.dev.opencascade.org/view.php?id=33091 - filter-lto - - local mycmakeargs=( - -D3RDPARTY_DIR="${ESYSROOT}/usr" - -DBUILD_CPP_STANDARD="C++17" - -DBUILD_SOVERSION_NUMBERS=2 - - -DBUILD_DOC_Overview="$(usex doc)" - -DBUILD_Inspector="$(usex inspector)" - - -DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)" - -DBUILD_USE_PCH="no" - # -DBUILD_OPT_PROFILE="Default" # Production - # -DBUILD_RESOURCES="yes" - # -DBUILD_YACCLEX="yes" - - -DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916 - -DINSTALL_DIR="${EPREFIX}/usr" - -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin" - -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}" - -DINSTALL_DIR_DATA="share/${PN}/data" - -DINSTALL_DIR_DOC="share/doc/${PF}" - -DINSTALL_DIR_INCLUDE="include/${PN}" - -DINSTALL_DIR_LIB="$(get_libdir)/${PN}" - -DINSTALL_DIR_RESOURCE="share/${PN}/resources" - -DINSTALL_DIR_SAMPLES="share/${PN}/samples" - -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin" - -DINSTALL_DIR_TESTS="share/${PN}/tests" - -DINSTALL_DIR_WITH_VERSION="no" - -DINSTALL_SAMPLES="$(usex examples)" - - -DINSTALL_TEST_CASES="$(usex testprograms)" - - # no package yet in tree - -DUSE_DRACO="no" - -DUSE_FFMPEG="$(usex ffmpeg)" - -DUSE_FREEIMAGE="$(usex freeimage)" - -DUSE_FREETYPE="$(usex freetype)" - # Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module - -DUSE_GLES2="$(usex gles2-only)" - # Indicates whether OpenGL desktop should be used in OCCT visualization module - -DUSE_OPENGL="$(usex opengl)" - # no package in tree - -DUSE_OPENVR="no" - -DUSE_RAPIDJSON="$(usex json)" - -DUSE_TBB="$(usex tbb)" - -DUSE_TK="$(usex tk)" - -DUSE_VTK="$(usex vtk)" - -DUSE_XLIB="$(usex X)" - ) - - if use doc; then - mycmakeargs+=( - -DINSTALL_DOC_Overview="yes" - -D3RDPARTY_SKIP_DOT_EXECUTABLE="no" - ) - fi - - if use examples || use inspector; then - mycmakeargs+=( - -D3RDPARTY_QT_DIR="${ESYSROOT}/usr" - -DBUILD_SAMPLES_QT="$(usex examples)" - ) - fi - - if use tbb; then - mycmakeargs+=( - -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr" - ) - fi - - if use vtk; then - local vtk_ver - vtk_ver="$(best_version "sci-libs/vtk")" - vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}") - mycmakeargs+=( - -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}" - -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)" - ) - fi - - cmake_src_configure - - sed -e "s|lib/|$(get_libdir)/|" \ - -e "s|VAR_CASROOT|${EPREFIX}/usr|" \ - < "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die - - # use TBB for memory allocation optimizations - if use tbb; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die - fi - - # use internal optimized memory manager and don't clear memory with this - # memory manager. - if use optimize ; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ - -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ - -i "${T}/99${PN}" || die - fi -} - -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 - - local test_file=${T}/testscript.tcl - - local draw_opts=( - i # see ${BUILD_DIR}/custom*.sh - # -b # batch mode (no GUI, no viewers) - -v # no GUI, use virtual (off-screen) windows for viewers - ) - - 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 - cat >> "${test_file}" <<- _EOF_ || die - test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]} - _EOF_ - done - - local testgrid_opts=() - - local SKIP_TESTS=() - - if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then - SKIP_TESTS+=( - 'blend complex F4' - 'bugs' - 'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11} - 'heal checkshape bug32448_1' - 'hlr exact_hlr bug25813_2' - - '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' - - 'offset wire_closed_inside_0_005 D1' - 'offset wire_unclosed_outside_0_025 A1' - - 'demo draw bug30430' - ) - - local DEL_TESTS=( - 'opengl/data/background/bug27836' - 'perf/mesh/bug26965' - 'v3d/trsf/bug26029' - ) - - for test in "${DEL_TESTS[@]}"; do - rm "${CMAKE_USE_DIR}/tests/${test}" || die - done - fi - - if ! use vtk; then - SKIP_TESTS+=( - 'vtk' - ) - echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules" - fi - - if [[ -n "${SKIP_TESTS[*]}" ]]; then - testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" ) - fi - - testgrid_opts+=( - # -refresh 5 - -overwrite - ) - 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_ - - # Work around zink warnings - export LIBGL_ALWAYS_SOFTWARE="true" - - export CASROOT="${BUILD_DIR}" - - virtx \ - "${BUILD_DIR}/draw.sh" \ - "${draw_opts[@]}" \ - -f "${test_file}" - - if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then - eerror "tests never ran!" - die - fi - failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")" - if [[ -n ${failed_tests} ]]; then - eerror "Failed tests:" - eerror "${failed_tests}" - die - fi -} - -src_install() { - cmake_src_install - - doenvd "${T}/99${PN}" - - docompress -x "/usr/share/doc/${PF}/overview/html" -}