summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/opencascade/Manifest1
-rw-r--r--sci-libs/opencascade/files/opencascade-7.2.0-vtk_fixes.patch50
-rw-r--r--sci-libs/opencascade/metadata.xml14
-rw-r--r--sci-libs/opencascade/opencascade-7.2.0.ebuild150
4 files changed, 215 insertions, 0 deletions
diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
new file mode 100644
index 0000000..648cf88
--- /dev/null
+++ b/sci-libs/opencascade/Manifest
@@ -0,0 +1 @@
+DIST opencascade-7.2.0.tgz 202114726 SHA256 245e344b2cf8a6e0a7d9f45d5d807f8ef48607bcd7a6d763ba2d7b861fa55249 SHA512 d51a1d901d5a6afa2013ad5759c1d5e016af1b804b27ae611a3090a5fcb8bde34b646de92cf21cd3e221003322d17a044b14d8e54f44d056ed51e28df0ef5f67 WHIRLPOOL 5eb6b00dffaf7a091def0e7d07dab849ddd3864aed8928f3f3fbadad6208dd6ff2eafe5390a9fb3666e28b742704bb5138524455990da5b3fa21e54d19a56143
diff --git a/sci-libs/opencascade/files/opencascade-7.2.0-vtk_fixes.patch b/sci-libs/opencascade/files/opencascade-7.2.0-vtk_fixes.patch
new file mode 100644
index 0000000..945ced2
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.2.0-vtk_fixes.patch
@@ -0,0 +1,50 @@
+diff --git a/src/IVtkVTK/IVtkVTK_ShapeData.cxx b/src/IVtkVTK/IVtkVTK_ShapeData.cxx
+index c05c28b..02d2015 100755
+--- a/src/IVtkVTK/IVtkVTK_ShapeData.cxx
++++ b/src/IVtkVTK/IVtkVTK_ShapeData.cxx
+@@ -80,9 +80,9 @@ void IVtkVTK_ShapeData::InsertVertex (const IVtk_IdType theShapeID,
+ vtkIdType aPointIdVTK = thePointId;
+ myPolyData->InsertNextCell (VTK_VERTEX, 1, &aPointIdVTK);
+ const vtkIdType aShapeIDVTK = theShapeID;
+- mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
++ mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+ const vtkIdType aType = theMeshType;
+- myMeshTypes->InsertNextTupleValue (&aType);
++ myMeshTypes->InsertNextTypedTuple (&aType);
+ }
+
+ //================================================================
+@@ -97,9 +97,9 @@ void IVtkVTK_ShapeData::InsertLine (const IVtk_IdType theShapeID,
+ vtkIdType aPoints[2] = { thePointId1, thePointId2 };
+ myPolyData->InsertNextCell (VTK_LINE, 2, aPoints);
+ const vtkIdType aShapeIDVTK = theShapeID;
+- mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
++ mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+ const vtkIdType aType = theMeshType;
+- myMeshTypes->InsertNextTupleValue (&aType);
++ myMeshTypes->InsertNextTypedTuple (&aType);
+ }
+
+ //================================================================
+@@ -124,9 +124,9 @@ void IVtkVTK_ShapeData::InsertLine (const IVtk_IdType theShapeID,
+
+ myPolyData->InsertNextCell (VTK_POLY_LINE, anIdList);
+ const vtkIdType aShapeIDVTK = theShapeID;
+- mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
++ mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+ const vtkIdType aType = theMeshType;
+- myMeshTypes->InsertNextTupleValue (&aType);
++ myMeshTypes->InsertNextTypedTuple (&aType);
+ }
+ }
+
+@@ -143,7 +143,7 @@ void IVtkVTK_ShapeData::InsertTriangle (const IVtk_IdType theShapeID,
+ vtkIdType aPoints[3] = { thePointId1, thePointId2, thePointId3 };
+ myPolyData->InsertNextCell (VTK_TRIANGLE, 3, aPoints);
+ const vtkIdType aShapeIDVTK = theShapeID;
+- mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
++ mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+ const vtkIdType aType = theMeshType;
+- myMeshTypes->InsertNextTupleValue (&aType);
++ myMeshTypes->InsertNextTypedTuple (&aType);
+ }
diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
new file mode 100644
index 0000000..0dc2b1d
--- /dev/null
+++ b/sci-libs/opencascade/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <use>
+ <flag name="freeimage">Enable support for image i/o via media-libs/freeimage</flag>
+ <flag name="gl2ps">Use gl2ps PostScript printing library</flag>
+ <flag name="tbb">Enable multithreading with the Intel Threads Building Block dev-cpp/tbb</flag>
+ <flag name="vtk">Enable Virtualisation Toolkit</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/opencascade/opencascade-7.2.0.ebuild b/sci-libs/opencascade/opencascade-7.2.0.ebuild
new file mode 100644
index 0000000..3ab5a4c
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.2.0.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.com/"
+SRC_URI="http://www.${PN}.com/sites/default/files/private/occt/OCC_${PV}_release/${P}.tgz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java tbb test +vtk"
+
+MY_VTK="vtk-7.1"
+RDEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/freetype:2
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( >=virtual/jdk-0:= )
+ tbb? ( dev-cpp/tbb )
+ vtk? ( =sci-libs/${MY_VTK}*[rendering] )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+# https://bugs.gentoo.org/show_bug.cgi?id=352435
+# https://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-vtk_fixes.patch
+ )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ java-pkg-opt-2_src_prepare
+my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/bin"
+ echo "LDPATH=${my_install_dir}/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > "${S}/50${PN}"
+
+}
+
+src_configure() {
+
+ # from dox/dev_guides/building/cmake/cmake.md
+ local mycmakeargs=(
+ -DCMAKE_CONFIGURATION_TYPES="Gentoo"
+ -DBUILD_WITH_DEBUG=$(usex debug)
+ -DCMAKE_INSTALL_PREFIX="${my_install_dir}"
+ -DINSTALL_DIR_DOC="/usr/share/doc/${P}"
+ -DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
+ -DUSE_D3D=no
+ -DUSE_FREEIMAGE=$(usex freeimage)
+ -DUSE_GL2PS=$(usex gl2ps)
+ -DUSE_TBB=$(usex tbb)
+ -DUSE_VTK=$(usex vtk)
+ -DBUILD_DOC_Overview=$(usex doc)
+ -DINSTALL_DOC_Overview=$(usex doc)
+ -DINSTALL_SAMPLES=$(usex examples)
+ -DINSTALL_TEST_CASES=$(usex test)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ insinto /etc/env.d/${PN}
+ newins "${S}/50${PN}" ${PV}
+
+ if ! use examples; then
+ rm -rf "${my_install_dir}"/share/${P}/samples || die
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}