mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
added community/opencascade
This commit is contained in:
parent
ec20bff451
commit
fb5af9f443
6 changed files with 213 additions and 0 deletions
82
community/opencascade/PKGBUILD
Normal file
82
community/opencascade/PKGBUILD
Normal file
|
@ -0,0 +1,82 @@
|
|||
# Maintainer: Kyle Keen <keenerd@gmail.com>
|
||||
# Contributor: Gabriel Souza Franco <Z2FicmllbGZyYW5jb3NvdXphQGdtYWlsLmNvbQ==>
|
||||
# Contributor: Florian Pritz <bluewind@xinu.at>
|
||||
# Contributor: Giuseppe Borzi <gborzi@ieee.org>
|
||||
# Contributor: Brice Méalier <mealier_brice@yahoo.fr>
|
||||
# Contributor: Michele Mocciola <mickele>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - removed makedepends on adios2
|
||||
|
||||
pkgname=opencascade
|
||||
pkgver=7.5.3
|
||||
_pkgver=V7_5_3
|
||||
#_pkgver=${pkgver//_/}
|
||||
#_pkgver=V${_pkgver//./_}
|
||||
pkgrel=4
|
||||
pkgdesc="Open CASCADE Technology, 3D modeling & numerical simulation"
|
||||
arch=('x86_64')
|
||||
url="https://www.opencascade.org"
|
||||
license=('custom')
|
||||
depends=('tk' 'vtk' 'gl2ps' 'ffmpeg' 'freeimage' 'intel-tbb')
|
||||
makedepends=('cmake' 'qt5-base' 'rapidjson' 'eigen' 'utf8cpp' 'python' 'pugixml' 'glew'
|
||||
'gdal' 'proj' 'boost' 'liblas' 'pdal' 'libharu' 'unixodbc'
|
||||
'python-mpi4py' 'openvr') # VTK requires these to build
|
||||
source=("opencascade-${pkgver}.tgz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/${_pkgver};sf=tgz"
|
||||
'opencascade.sh' 'fix-install-dir-references.patch'
|
||||
'cmake-fix-variable.patch'
|
||||
'vtk9.patch'
|
||||
"fix-freecad-build.patch::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=patch;h=5e7632824302761b84cfceb5bfb2241d906d0eb4"
|
||||
'opencascade-tbb-2021.patch')
|
||||
sha256sums=('cc3d3fd9f76526502c3d9025b651f45b034187430f231414c97dda756572410b'
|
||||
'2064536a85d46fee368a8f1a712b2c6c77ca79c5bffcc68cba79d70d36efa2f4'
|
||||
'afb584aa453993ae8d9e2b983594558531ede735a5892754b812be30650c9fb5'
|
||||
'c7427082400b2d1ac58c59549d4dd1ee5b27d06847b7907842e9e2f2b68980fa'
|
||||
'ae24da8eac8b57af8f612c872c8ec1962b6e5243758aa39c92e805223fdfe157'
|
||||
'4782d4d93cbd7f5489d23a855a1d31801bd61383d7cf9dc0e613fae34541cfde'
|
||||
'b0c4601fd9b2905e4b3bc3ed8af1493960c80bfe10332a0c562c59786efd57a2')
|
||||
|
||||
prepare() {
|
||||
cd "occt-${_pkgver}"
|
||||
patch -Np1 -i "$srcdir/fix-install-dir-references.patch"
|
||||
patch -Np1 -i "$srcdir/cmake-fix-variable.patch"
|
||||
patch -p1 -i ../vtk9.patch # Fix build with VTK 9 https://gitlab.kitware.com/vtk/vtk/-/issues/18240
|
||||
patch -p1 -i ../fix-freecad-build.patch # Fix build of FreeCAD
|
||||
patch -p1 -i ../opencascade-tbb-2021.patch # Fix build with TBB 2021
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "occt-${_pkgver}"
|
||||
mkdir -p build && cd build
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_RELEASE_DISABLE_EXCEPTIONS=OFF \
|
||||
-DUSE_GL2PS=ON \
|
||||
-DUSE_FREEIMAGE=ON \
|
||||
-DUSE_FFMPEG=ON \
|
||||
-DUSE_VTK=ON \
|
||||
-DUSE_RAPIDJSON=ON \
|
||||
-DUSE_TBB=ON \
|
||||
-D3RDPARTY_VTK_INCLUDE_DIR=/usr/include/vtk
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "occt-${_pkgver}/build"
|
||||
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
cd ..
|
||||
|
||||
install -Dm755 "$srcdir/opencascade.sh" "$pkgdir/etc/profile.d/opencascade.sh"
|
||||
install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
|
||||
mv "$pkgdir/usr/share/doc/opencascade/"* "$pkgdir/usr/share/licenses/$pkgname"
|
||||
rm -r "$pkgdir/usr/share/doc"
|
||||
|
||||
rm "$pkgdir/usr/bin/"*.sh
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
12
community/opencascade/cmake-fix-variable.patch
Normal file
12
community/opencascade/cmake-fix-variable.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -Naur occt-V7_3_0/adm/templates/OpenCASCADEConfig.cmake.in occt-V7_3_0_new/adm/templates/OpenCASCADEConfig.cmake.in
|
||||
--- occt-V7_3_0/adm/templates/OpenCASCADEConfig.cmake.in 2018-05-29 12:14:02.000000000 +0200
|
||||
+++ occt-V7_3_0.new/adm/templates/OpenCASCADEConfig.cmake.in 2018-05-29 12:14:02.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
|
||||
+if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib(64)?$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
|
24
community/opencascade/fix-install-dir-references.patch
Normal file
24
community/opencascade/fix-install-dir-references.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
diff -aur occt-V7_1_0/CMakeLists.txt occt-V7_1_0.new/CMakeLists.txt
|
||||
--- occt-V7_1_0/CMakeLists.txt 2016-11-25 11:50:18.000000000 +0100
|
||||
+++ occt-V7_1_0.new/CMakeLists.txt 2017-03-18 08:44:10.406668714 +0100
|
||||
@@ -906,7 +906,7 @@
|
||||
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\" \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
|
||||
|
||||
foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
if (BUILD_MODULE_${OCCT_MODULE})
|
||||
diff -aur occt-V7_1_0/adm/cmake/occt_macros.cmake occt-V7_1_0.new/adm/cmake/occt_macros.cmake
|
||||
--- occt-V7_1_0/adm/cmake/occt_macros.cmake 2016-11-25 11:50:18.000000000 +0100
|
||||
+++ occt-V7_1_0.new/adm/cmake/occt_macros.cmake 2017-03-18 08:44:10.406668714 +0100
|
||||
@@ -558,7 +558,7 @@
|
||||
"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 \"\$ENV{DESTDIR}${INSTALL_DIR}/${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}\")
|
34
community/opencascade/opencascade-tbb-2021.patch
Normal file
34
community/opencascade/opencascade-tbb-2021.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
diff --git a/src/OSD/OSD_Parallel_TBB.cxx b/src/OSD/OSD_Parallel_TBB.cxx
|
||||
index 2344a6ca2..e1a3d89de 100644
|
||||
--- a/src/OSD/OSD_Parallel_TBB.cxx
|
||||
+++ b/src/OSD/OSD_Parallel_TBB.cxx
|
||||
@@ -25,7 +25,7 @@ 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>
|
||||
+#include <tbb/global_control.h>
|
||||
Standard_ENABLE_DEPRECATION_WARNINGS
|
||||
|
||||
//=======================================================================
|
||||
@@ -38,19 +38,12 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin,
|
||||
const FunctorInterface& theFunctor,
|
||||
Standard_Integer theNbItems)
|
||||
{
|
||||
- try
|
||||
- {
|
||||
const Handle(OSD_ThreadPool)& aThreadPool = OSD_ThreadPool::DefaultPool();
|
||||
const Standard_Integer aNbThreads = theNbItems > 0 ?
|
||||
aThreadPool->NbDefaultThreadsToLaunch() : -1;
|
||||
|
||||
- tbb::task_scheduler_init aScheduler (aNbThreads);
|
||||
+ tbb::global_control global_limit(tbb::global_control::max_allowed_parallelism, aNbThreads);
|
||||
tbb::parallel_for_each (theBegin, theEnd, theFunctor);
|
||||
- }
|
||||
- catch (tbb::captured_exception& anException)
|
||||
- {
|
||||
- throw Standard_ProgramError (anException.what());
|
||||
- }
|
||||
}
|
||||
|
||||
#endif /* HAVE_TBB */
|
24
community/opencascade/opencascade.sh
Normal file
24
community/opencascade/opencascade.sh
Normal file
|
@ -0,0 +1,24 @@
|
|||
export CASROOT=/usr
|
||||
|
||||
export CSF_LANGUAGE=us
|
||||
export MMGT_CLEAR=1
|
||||
export CSF_EXCEPTION_PROMPT=1
|
||||
|
||||
export CSF_OCCTResourcePath=$CASROOT/share/opencascade/resources
|
||||
export CSF_SHMessage=$CSF_OCCTResourcePath/SHMessage
|
||||
export CSF_MDTVTexturesDirectory=$CSF_OCCTResourcePath/Textures
|
||||
export CSF_ShadersDirectory=$CSF_OCCTResourcePath/Shaders
|
||||
export CSF_XSMessage=$CSF_OCCTResourcePath/XSMessage
|
||||
export CSF_TObjMessage=$CSF_OCCTResourcePath/TObj
|
||||
export CSF_StandardDefaults=$CSF_OCCTResourcePath/StdResource
|
||||
export CSF_PluginDefaults=$CSF_OCCTResourcePath/StdResource
|
||||
export CSF_XCAFDefaults=$CSF_OCCTResourcePath/StdResource
|
||||
export CSF_TObjDefaults=$CSF_OCCTResourcePath/StdResource
|
||||
export CSF_StandardLiteDefaults=$CSF_OCCTResourcePath/StdResource
|
||||
export CSF_IGESDefaults=$CSF_OCCTResourcePath/XSTEPResource
|
||||
export CSF_STEPDefaults=$CSF_OCCTResourcePath/XSTEPResource
|
||||
export CSF_XmlOcafResource=$CSF_OCCTResourcePath/XmlOcafResource
|
||||
export CSF_MIGRATION_TYPES=$CSF_OCCTResourcePath/StdResource/MigrationSheet.txt
|
||||
export CSF_DrawPluginDefaults=$CSF_OCCTResourcePath/DrawResources
|
||||
export DRAWHOME=$CSF_OCCTResourcePath/DrawResources
|
||||
export DRAWDEFAULT=$CSF_OCCTResourcePath/DrawResources/DrawDefault
|
37
community/opencascade/vtk9.patch
Normal file
37
community/opencascade/vtk9.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
diff --git a/src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx b/src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx
|
||||
index 9e8a4e028a..8491febece 100644
|
||||
--- a/src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx
|
||||
+++ b/src/IVtkDraw/IVtkDraw_HighlightAndSelectionPipeline.hxx
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
// prevent disabling some MSVC warning messages by VTK headers
|
||||
#include <Standard_WarningsDisable.hxx>
|
||||
+#undef AllValues
|
||||
#include <vtkActor.h>
|
||||
#include <vtkPolyData.h>
|
||||
#include <vtkPolyDataMapper.h>
|
||||
diff --git a/src/IVtkVTK/IVtkVTK_ShapeData.hxx b/src/IVtkVTK/IVtkVTK_ShapeData.hxx
|
||||
index 0fda1748ab..3ca3a8eeb9 100644
|
||||
--- a/src/IVtkVTK/IVtkVTK_ShapeData.hxx
|
||||
+++ b/src/IVtkVTK/IVtkVTK_ShapeData.hxx
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <vtkPolyData.h>
|
||||
#include <vtkSmartPointer.h>
|
||||
#include <vtkIdTypeArray.h>
|
||||
+#include <vtkVersion.h>
|
||||
#include <Standard_WarningsRestore.hxx>
|
||||
|
||||
class vtkIdTypeArray;
|
||||
diff --git a/src/InterfaceGraphic/InterfaceGraphic.hxx b/src/InterfaceGraphic/InterfaceGraphic.hxx
|
||||
index c533f68cd5..6410892618 100644
|
||||
--- a/src/InterfaceGraphic/InterfaceGraphic.hxx
|
||||
+++ b/src/InterfaceGraphic/InterfaceGraphic.hxx
|
||||
@@ -40,6 +40,8 @@
|
||||
#include <X11/Xatom.h>
|
||||
#include <GL/glx.h>
|
||||
|
||||
+#undef AllValues
|
||||
+
|
||||
#endif
|
||||
|
||||
#endif // __INTERFACE_GRAPHIC_HXX
|
Loading…
Reference in a new issue