diff options
-rw-r--r-- | sci-libs/opencascade/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/opencascade/files/opencascade-7.2.0-vtk_fixes.patch | 50 | ||||
-rw-r--r-- | sci-libs/opencascade/metadata.xml | 14 | ||||
-rw-r--r-- | sci-libs/opencascade/opencascade-7.2.0.ebuild | 150 |
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 +} |