summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/opencascade/Manifest1
-rw-r--r--sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch31
-rw-r--r--sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch13
-rw-r--r--sci-libs/opencascade/metadata.xml1
-rw-r--r--sci-libs/opencascade/opencascade-7.3.0.ebuild140
5 files changed, 186 insertions, 0 deletions
diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index 29c34b19d5a4..922670cf0cfb 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1 +1,2 @@
DIST opencascade-6.9.1.tgz 209589289 BLAKE2B 266d68042dbbb8c9bc5f167b9aefaf84b3f1568c25530acb36271443429e67972aae913ebcea09c9ea27164e2e3f007eb287350d7ad69486755cdcb713fdb1af SHA512 92f0fffb110344feebaba9dd4a3427419ea9e6db7b09556b7dcdb1248f2a868e3337587abf9921392435031431f3876cea4d4709fd9926604dcebbd6d26f8963
+DIST opencascade-7.3.0.tar.gz 48576720 BLAKE2B bf63ba77aabc8a8c92d694f78f24bab71c07e68e7ba4b8d5d90966733dbd9c0c83a76e35f059e798d4a60640d663330cd13a828b19ec02a5372053ab39a74aa6 SHA512 17eb1810b43a8b001867563f97801ceb38a7878fa53d9b39b46a5cf3dd676310fa80e83e90668a99ec6aff9d4f09733fb6c7be83c1e3ab4eaa9fda55888050da
diff --git a/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..c0a6363e19fd
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch
@@ -0,0 +1,31 @@
+--- a/CMakeLists.txt 2016-11-25 11:50:18.000000000 +0100
++++ b/CMakeLists.txt 2017-03-18 08:44:10.406668714 +0100
+@@ -885,7 +885,7 @@ if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}")
+
+ set (CUSTOM_CONTENT "${CUSTOM_CONTENT} ${ADDITIONAL_CUSTOM_CONTENT}")
+
+- file (WRITE "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
++ file (WRITE \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}\" "${CUSTOM_CONTENT}")
+ else()
+ OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}")
+ endif()
+@@ -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_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
+
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+ if (BUILD_MODULE_${OCCT_MODULE})
+--- a/adm/cmake/occt_macros.cmake 2016-11-25 11:50:18.000000000 +0100
++++ b/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}\")
diff --git a/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch b/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch
new file mode 100644
index 000000000000..71700a57f1dc
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch
@@ -0,0 +1,13 @@
+--- a/src/IVtkVTK/IVtkVTK_ShapeData.cxx 2018-09-15 01:57:25.086783255 +0300
++++ b/src/IVtkVTK/IVtkVTK_ShapeData.cxx 2018-09-15 01:58:20.877779839 +0300
+@@ -29,6 +29,10 @@
+ #pragma warning(pop)
+ #endif
+
++#ifdef vtkGenericDataArray_h
++#define InsertNextTupleValue InsertNextTypedTuple
++#endif
++
+ IMPLEMENT_STANDARD_RTTIEXT(IVtkVTK_ShapeData,IVtk_IShapeData)
+
+ //================================================================
diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
index 0dc2b1db4c13..7a267cb2e3be 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -8,6 +8,7 @@
<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="gles2">Use OpenGL ES 2.0</flag>
<flag name="tbb">Enable multithreading with the Intel Threads Building Block dev-cpp/tbb</flag>
<flag name="vtk">Enable Virtualisation Toolkit</flag>
</use>
diff --git a/sci-libs/opencascade/opencascade-7.3.0.ebuild b/sci-libs/opencascade/opencascade-7.3.0.ebuild
new file mode 100644
index 000000000000..48f4c0775e4d
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.3.0.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cmake-utils eapi7-ver java-pkg-opt-2
+
+MY_PV="$(ver_rs 1- '_')"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.com/"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc examples ffmpeg freeimage gl2ps gles2 java +tbb +vtk"
+
+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
+ ffmpeg? ( virtual/ffmpeg )
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( >=virtual/jdk-0:= )
+ tbb? ( dev-cpp/tbb )
+ vtk? ( sci-libs/vtk[rendering] )
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+CMAKE_BUILD_TYPE=Release
+
+S="${WORKDIR}/occt-V${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-vtk-compat.patch"
+ "${FILESDIR}/${P}-fixed-DESTDIR.patch"
+)
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ use java && java-pkg-opt-2_src_prepare
+
+ # Do not pre-strip files
+ sed -i 's/_FLAGS_RELEASE} -s/_FLAGS_RELEASE}/g' adm/cmake/occt_defs_flags.cmake || die
+
+ # Prepare environment variables used by Opencascade
+ echo "CASROOT=${EROOT}usr/$(get_libdir)/${P}
+PATH=${EROOT}usr/$(get_libdir)/${P}/bin
+LDPATH=${EROOT}usr/$(get_libdir)/${P}/lib
+
+CSF_EXCEPTION_PROMPT=1
+CSF_GraphicShr=${EROOT}usr/$(get_libdir)/${P}/lib/libTKOpenGl.so
+CSF_IGESDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSTEPResource
+CSF_LANGUAGE=us
+CSF_MDTVTexturesDirectory=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/Textures
+CSF_MIGRATION_TYPES=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource/MigrationSheet.txt
+CSF_PluginDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_ShadersDirectory=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/Shaders
+CSF_SHMessage=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/SHMessage
+CSF_StandardDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_StandardLiteDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_STEPDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSTEPResource
+CSF_UnitsDefinition=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/UnitsAPI/Units.dat
+CSF_XCAFDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_XmlOcafResource=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XmlOcafResource
+CSF_XSMessage=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSMessage
+
+MMGT_CLEAR=1
+# use TBB for memory allocation optimizations
+MMGT_OPT=2
+# The next MMGT_* variables are at their default values.
+# They are here for documentation, so you can change them if needed
+#MMGT_MMAP=1
+#MMGT_CELLSIZE=200
+#MMGT_NBPAGES=10000
+#MMGT_THRESHOLD=40000
+" > "${S}/${PV}"
+
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOC_Overview=$(usex doc)
+ -DBUILD_WITH_DEBUG=$(usex debug)
+ -DCMAKE_INSTALL_PREFIX="/usr/$(get_libdir)/${P}"
+ -DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
+ -DINSTALL_DIR_DOC="/usr/share/doc/${P}"
+ -DINSTALL_SAMPLES=$(usex examples)
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_FREEIMAGE=$(usex freeimage)
+ -DUSE_GL2PS=$(usex gl2ps)
+ -DUSE_GLES2=$(usex gles2)
+ -DUSE_TBB=$(usex tbb)
+ -DUSE_VTK=$(usex vtk)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ fperms go-w "/usr/$(get_libdir)/${P}/bin/draw.sh"
+
+ if ! use examples; then
+ rm -rf "${ED%/}/usr/$(get_libdir)/${P}/share/${PN}/samples" || die
+ fi
+
+ insinto "/etc/env.d/${PN}"
+ doins "${S}/${PV}"
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ elog "You can switch between available ${PN} implementations using eselect ${PN}."
+ 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."
+}