sci-libs/opencascade: Revbump with patches for >=sci-libs/vtk-6.3 (thanks Juergen...
authorMichael Weber <xmw@gentoo.org>
Wed, 7 Jun 2017 07:08:05 +0000 (09:08 +0200)
committerMichael Weber <xmw@gentoo.org>
Wed, 7 Jun 2017 07:09:40 +0000 (09:09 +0200)
Package-Manager: Portage-2.3.6, Repoman-2.3.2

sci-libs/opencascade/files/opencascade-6.9.1-vtk-6.3.patch [new file with mode: 0644]
sci-libs/opencascade/files/opencascade-6.9.1-vtk-configure.patch [new file with mode: 0644]
sci-libs/opencascade/opencascade-6.9.1-r1.ebuild
sci-libs/opencascade/opencascade-6.9.1-r2.ebuild [new file with mode: 0644]

diff --git a/sci-libs/opencascade/files/opencascade-6.9.1-vtk-6.3.patch b/sci-libs/opencascade/files/opencascade-6.9.1-vtk-6.3.patch
new file mode 100644 (file)
index 0000000..e6b011b
--- /dev/null
@@ -0,0 +1,70 @@
+--- work/opencascade-6.9.1/configure.ac
++++ work/opencascade-6.9.1/configure.ac
+@@ -1044,7 +1044,7 @@
+     fi
+     if test "x$vtk_lib" != "x"; then
+       CSF_VTK_LIB="-L$vtk_lib -lvtkCommonCore -lvtkCommonDataModel -lvtkCommonExecutionModel -lvtkCommonMath -lvtkCommonTransforms "
+-      CSF_VTK_LIB="${CSF_VTK_LIB} -lvtkRenderingCore -lvtkRenderingOpenGL  -lvtkFiltersGeneral -lvtkIOCore -lvtkIOImage -lvtkImagingCore -lvtkInteractionStyle "
++      CSF_VTK_LIB="${CSF_VTK_LIB} -lvtkRenderingCore -lvtkRenderingOpenGL2  -lvtkFiltersGeneral -lvtkIOCore -lvtkIOImage -lvtkImagingCore -lvtkInteractionStyle "
+     else
+       HAVE_VTK=no
+     fi
+--- opencascade-6.9.1/src/IVtkVTK/IVtkVTK_View.cxx
++++ opencascade-6.9.1/src/IVtkVTK/IVtkVTK_View.cxx
+@@ -151,7 +151,7 @@ bool IVtkVTK_View::DisplayToWorld (const gp_XY& theDisplayPnt, gp_XYZ& theWorldP
+   myRenderer->SetDisplayPoint (theDisplayPnt.X(), theDisplayPnt.Y(), 0.0);
+   myRenderer->DisplayToWorld();
+ 
+-  vtkFloatingPointType* const aCoords = myRenderer->GetWorldPoint();
++  double* const aCoords = myRenderer->GetWorldPoint();
+   if (aCoords[3] == 0.0) // Point at infinity in homogeneous coordinates
+   {
+     return false;
+--- opencascade-6.9.1/src/IVtkTools/IVtkTools_ShapePicker.cxx
++++ opencascade-6.9.1/src/IVtkTools/IVtkTools_ShapePicker.cxx
+@@ -73,15 +73,15 @@ float IVtkTools_ShapePicker::GetTolerance( ) const
+ //  Method: convertDisplayToWorld
+ // Purpose: Convert display coordinates to world coordinates
+ //============================================================================
+-bool IVtkTools_ShapePicker::convertDisplayToWorld (vtkRenderer         *theRenderer,
+-                                                   vtkFloatingPointType theDisplayCoord[3],
+-                                                   vtkFloatingPointType theWorldCoord[3])
++bool IVtkTools_ShapePicker::convertDisplayToWorld (vtkRenderer *theRenderer,
++                                                   double theDisplayCoord[3],
++                                                   double theWorldCoord[3])
+ {
+   // Convert the selection point into world coordinates.
+   theRenderer->SetDisplayPoint (theDisplayCoord[0], theDisplayCoord[1], theDisplayCoord[2]);
+   theRenderer->DisplayToWorld();
+ 
+-  vtkFloatingPointType* const aCoords = theRenderer->GetWorldPoint();
++  double* const aCoords = theRenderer->GetWorldPoint();
+   if (aCoords[3] == 0.0)
+   {
+     return false;
+--- opencascade-6.9.1/src/IVtkTools/IVtkTools_ShapePicker.hxx
++++ opencascade-6.9.1/src/IVtkTools/IVtkTools_ShapePicker.hxx
+@@ -124,8 +124,8 @@ protected:
+ 
+   //! Convert display coordinates to world coordinates
+   static bool convertDisplayToWorld (vtkRenderer *theRenderer,
+-                                     vtkFloatingPointType theDisplayCoord[3],
+-                                     vtkFloatingPointType theWorldCoord[3] );
++                                     double theDisplayCoord[3],
++                                     double theWorldCoord[3] );
+ 
+ private: // not copyable
+   IVtkTools_ShapePicker (const IVtkTools_ShapePicker&);
+--- opencascade-6.9.1/inc/IVtkTools_ShapePicker.hxx
++++ opencascade-6.9.1/inc/IVtkTools_ShapePicker.hxx
+@@ -124,8 +124,8 @@
+ 
+   //! Convert display coordinates to world coordinates
+   static bool convertDisplayToWorld (vtkRenderer *theRenderer,
+-                                     vtkFloatingPointType theDisplayCoord[3],
+-                                     vtkFloatingPointType theWorldCoord[3] );
++                                     double theDisplayCoord[3],
++                                     double theWorldCoord[3] );
+ 
+ private: // not copyable
+   IVtkTools_ShapePicker (const IVtkTools_ShapePicker&);
diff --git a/sci-libs/opencascade/files/opencascade-6.9.1-vtk-configure.patch b/sci-libs/opencascade/files/opencascade-6.9.1-vtk-configure.patch
new file mode 100644 (file)
index 0000000..3c2711d
--- /dev/null
@@ -0,0 +1,13 @@
+--- opencascade-6.9.1/configure.ac
++++ opencascade-6.9.1/configure.ac
+@@ -1043,8 +1043,8 @@
+       HAVE_VTK=no
+     fi
+     if test "x$vtk_lib" != "x"; then
+-      CSF_VTK_LIB="-L$vtk_lib -lvtkCommonCore-6.1 -lvtkCommonDataModel-6.1 -lvtkCommonExecutionModel-6.1 -lvtkCommonMath-6.1 -lvtkCommonTransforms-6.1 "
+-      CSF_VTK_LIB="${CSF_VTK_LIB} -lvtkRenderingCore-6.1 -lvtkRenderingOpenGL-6.1  -lvtkFiltersGeneral-6.1 -lvtkIOCore-6.1 -lvtkIOImage-6.1 -lvtkImagingCore-6.1 -lvtkInteractionStyle-6.1 "
++      CSF_VTK_LIB="-L$vtk_lib -lvtkCommonCore -lvtkCommonDataModel -lvtkCommonExecutionModel -lvtkCommonMath -lvtkCommonTransforms "
++      CSF_VTK_LIB="${CSF_VTK_LIB} -lvtkRenderingCore -lvtkRenderingOpenGL  -lvtkFiltersGeneral -lvtkIOCore -lvtkIOImage -lvtkImagingCore -lvtkInteractionStyle "
+     else
+       HAVE_VTK=no
+     fi
index 02db66a94874d26ed457cbe962d2d636606baace..dd0a0cb70c10100e97d66131ce7ecdef6f3897e1 100644 (file)
@@ -1,7 +1,7 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=6
 
 inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
 
@@ -35,16 +35,17 @@ RDEPEND="${DEPEND}"
 CHECKREQS_MEMORY="256M"
 CHECKREQS_DISK_BUILD="3584M"
 
+PATCHES=( "${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch )
+
 pkg_setup() {
        check-reqs_pkg_setup
        java-pkg-opt-2_pkg_setup
 }
 
 src_prepare() {
-       java-pkg-opt-2_src_prepare
+       default
 
-       epatch \
-               "${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch
+       java-pkg-opt-2_src_prepare
 
        # Feed environment variables used by Opencascade compilation
        my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
diff --git a/sci-libs/opencascade/opencascade-6.9.1-r2.ebuild b/sci-libs/opencascade/opencascade-6.9.1-r2.ebuild
new file mode 100644 (file)
index 0000000..3f0de66
--- /dev/null
@@ -0,0 +1,170 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic versionator
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://www.opencascade.com/sites/default/files/private/occt/OCC_${PV}_release/opencascade-${PV}.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 qt4 +tbb +vtk"
+
+DEPEND="app-eselect/eselect-opencascade
+       dev-lang/tcl:0=
+       dev-lang/tk:0=
+       dev-tcltk/itcl
+       dev-tcltk/itk
+       dev-tcltk/tix
+       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/vtk[imaging] sci-libs/vtk[qt4] sci-libs/vtk[rendering] sci-libs/vtk[views] sci-libs/vtk[all-modules] ) )"
+RDEPEND="${DEPEND}"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch
+       "${FILESDIR}"/${PN}-6.9.1-vtk-configure.patch )
+
+pkg_setup() {
+       check-reqs_pkg_setup
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       MY_VTK_P=$(best_version sci-libs/vtk)
+       MY_VTK_PV=${MY_VTK_P/sci-libs\/vtk-}
+       MY_VTK_SUB=vtk-$(get_version_component_range 1-2 ${MY_VTK_PV})
+       if has_version ">=sci-libs/vtk-6.3" ; then #bug 605304
+               epatch "${FILESDIR}"/${PN}-6.9.1-vtk-6.3.patch
+       fi
+
+       java-pkg-opt-2_src_prepare
+
+       # Feed environment variables used by Opencascade compilation
+       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}/lin/bin"
+               echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+               echo "${my_env}" | sed \
+                       -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+                       -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+       ) > 50${PN}
+
+       append-cxxflags "-fpermissive"
+
+       sed -e "/^AM_C_PROTOTYPES$/d" \
+               -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+               -e "s:\$qt/include:\$qt/include/qt4:g"\
+               -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+               -i configure.ac || die
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+               --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+               --with-freetype="${EROOT}usr" \
+               --with-ftgl="${EROOT}usr" \
+               $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+               $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+               $(usex qt4 "--with-qt=${EROOT}usr" "") \
+               $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+               $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+               $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+               $(usex vtk "--with-vtk-include=${EROOT}usr/include/${MY_VTK_SUB}" "") \
+               $(usex vtk "--with-vtk-library=${EROOT}usr/$(get_libdir)" "") \
+               $(use_enable debug) \
+               $(use_enable !debug production)
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       prune_libtool_files
+
+       # Symlinks for keeping original OpenCascade folder structure and
+       # add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
+       if [ "$(get_libdir)" != "lib" ]; then
+               dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+       fi
+
+       insinto /etc/env.d/${PN}
+       newins 50${PN} ${PV}
+
+       if use examples ; then
+               insinto /usr/share/doc/${PF}/examples
+               doins -r data
+               doins -r samples
+       fi
+       if use doc; then
+               insinto /usr/share/doc/${PF}
+               doins -r doc/{overview,pdf,refman}
+       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
+}