1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-25 04:05:40 +03:00

testing/opencascade: rebuild against libtbb

update source url due to https issues
This commit is contained in:
psykose 2021-12-29 01:16:39 +00:00
parent d68a1fd121
commit 7d8433a89d
2 changed files with 52 additions and 5 deletions

View file

@ -2,7 +2,7 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=opencascade
pkgver=7.6.1
pkgrel=0
pkgrel=1
pkgdesc="An SDK for development of applications dealing with 3D CAD data"
url="https://dev.opencascade.org/"
# s390x blocked by vtk -> netcdf
@ -25,15 +25,16 @@ makedepends="
vtk-dev
"
subpackages="$pkgname-doc $pkgname-dev"
source="
opencascade-$pkgver.tar.gz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${pkgver//./_};sf=tgz
# remove updatecache on next update
source="$pkgname-$pkgver-updatecache.tar.gz::https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V${pkgver//./_}.tar.gz
no_mallinfo.patch
no_feenableexcept.patch
cmake_fix_install_dir.patch
cmake_add_buildtype_none.patch
no_backtrace.patch
fix-tbb-2021.patch
"
builddir="$srcdir/occt-V${pkgver//./_}"
builddir="$srcdir/OCCT-${pkgver//./_}"
options="!check" # No tests provided :-/
build() {
@ -54,10 +55,11 @@ package() {
}
sha512sums="
1466d95eea7539f5cf52a40ada712b2b0cfb9c1970271f5ea60d0408a1c3f1ae16b885dd36c3c0fcef3cedb05c420a7c637ee5168b5b081b0f55068cda412bb0 opencascade-7.6.1.tar.gz
63f55761995cb56898dd3510d5d343aeb527bd450c9fb5bd7490d7afb18e4d5a66f6bb3b68e82ff5b2b2a2dc3523facf12d4d84ecfac1dd705fe93cbefa28b05 opencascade-7.6.1-updatecache.tar.gz
e04cb898ec16c57ea5f2e9e79f6616153b7f6e4ddcad815f5d28898a692e26e1054a8f3321e6ee8616a915b10d45927f5e596c4f096c5333be910eaea751cce3 no_mallinfo.patch
b039b8fce696bfd0f53309a72adab4065780bf1755da6208040157e9383deb0061ad8927a6f160730f431cbebe3fdd1eaa7967b38da4a245a8d9306042d97629 no_feenableexcept.patch
10481f153adf1db55111d68da49dae1885a50e745d3a978f6316b5b13a3f2d7de6a2ed6a3c60c20ef967ea65c16b372da03bf2665ffe4493ad6fe329a3abf368 cmake_fix_install_dir.patch
4bdedc8f0e011530115777cddeeb898750242999725347c3392d8858e5cc9543c791814aa41e1543c575a6a79b0b32fd72970bb83c8948fe42f33993244db1cf cmake_add_buildtype_none.patch
86dceb6e8309e18f5ea72ce2e3524ff08dc761ffe76557d62a1a4f2824ca0e2f9dfc194cae22164aaaf5ad9a15a6ec0f1fef443241aa2ccb0a2140de217c8a90 no_backtrace.patch
80a5fdfec8159bfcfa2dce8f6635c8567eef64b0b142046ed2b7fc7a77849d14ae9b588b04daf5b5789d18130cbc40c5396af22787f38d8cd425f9f53d1fff9c fix-tbb-2021.patch
"

View file

@ -0,0 +1,45 @@
X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FOSD%2FOSD_Parallel_TBB.cxx;h=0b9022b57630b98a47ed090eff8233c5d15148bb;hp=2344a6ca2df9c2d01c8a73579060c9cb44d3d789;hb=740833a6a88e481f474783c426b6f6311ed586d3;hpb=20095306111bc6e035c001e719231a894bdd6882
diff --git a/src/OSD/OSD_Parallel_TBB.cxx b/src/OSD/OSD_Parallel_TBB.cxx
index 2344a6ca2d..0b9022b576 100644
--- a/src/OSD/OSD_Parallel_TBB.cxx
+++ b/src/OSD/OSD_Parallel_TBB.cxx
@@ -25,7 +25,9 @@ Standard_DISABLE_DEPRECATION_WARNINGS
#include <tbb/parallel_for.h>
#include <tbb/parallel_for_each.h>
#include <tbb/blocked_range.h>
-#include <tbb/task_scheduler_init.h>
+#if TBB_VERSION_MAJOR < 2021
+ #include <tbb/task_scheduler_init.h>
+#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 */