summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2009-12-19 16:41:31 +0000
committerMarkus Dittrich <markusle@gentoo.org>2009-12-19 16:41:31 +0000
commit1f12aa49270039ae864dd876aeab05269f94b45f (patch)
treed732eb5d62040a76bc09060c2e381e5657fe20c6 /sci-libs/vtk
parentStable for HPPA (bug #297306). (diff)
downloadgentoo-2-1f12aa49270039ae864dd876aeab05269f94b45f.tar.gz
gentoo-2-1f12aa49270039ae864dd876aeab05269f94b45f.tar.bz2
gentoo-2-1f12aa49270039ae864dd876aeab05269f94b45f.zip
New revision uses cmake-utils eclass and is significantly cleaned up. This should have also fixed bugs #295053 and #287591.
(Portage version: 2.1.7.14/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/vtk')
-rw-r--r--sci-libs/vtk/ChangeLog9
-rw-r--r--sci-libs/vtk/vtk-5.4.2-r1.ebuild245
2 files changed, 253 insertions, 1 deletions
diff --git a/sci-libs/vtk/ChangeLog b/sci-libs/vtk/ChangeLog
index fa05005f282f..a649aa03349f 100644
--- a/sci-libs/vtk/ChangeLog
+++ b/sci-libs/vtk/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-libs/vtk
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/ChangeLog,v 1.58 2009/12/17 23:43:31 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/ChangeLog,v 1.59 2009/12/19 16:41:31 markusle Exp $
+
+*vtk-5.4.2-r1 (19 Dec 2009)
+
+ 19 Dec 2009; Markus Dittrich <markusle@gentoo.org> +vtk-5.4.2-r1.ebuild:
+ New revision uses cmake-utils eclass and is significantly cleaned up.
+ This should have also fixed bugs #295053 and #287591.
+ Thanks much to Francois Bissey <f.r.bissey@massey.ac.nz> for his help.
17 Dec 2009; Markus Dittrich <markusle@gentoo.org> vtk-5.4.2.ebuild:
Updated dependency on cmake to >=2.6 (fixes bug #295531).
diff --git a/sci-libs/vtk/vtk-5.4.2-r1.ebuild b/sci-libs/vtk/vtk-5.4.2-r1.ebuild
new file mode 100644
index 000000000000..bca078e3d255
--- /dev/null
+++ b/sci-libs/vtk/vtk-5.4.2-r1.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.4.2-r1.ebuild,v 1.1 2009/12/19 16:41:31 markusle Exp $
+
+EAPI="2"
+inherit eutils flag-o-matic toolchain-funcs versionator java-pkg-opt-2 python qt3 qt4 cmake-utils
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org"
+SRC_URI="http://www.${PN}.org/files/release/${SPV}/${P}.tar.gz
+ examples? ( http://www.${PN}.org/files/release/${SPV}/${PN}data-${PV}.tar.gz )
+ doc? ( http://www.${PN}.org/doc/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )"
+
+LICENSE="BSD LGPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="boost cg doc examples mpi patented python tcl tk threads qt3 qt4"
+RDEPEND="mpi? ( || (
+ sys-cluster/openmpi
+ sys-cluster/lam-mpi
+ sys-cluster/mpich2[cxx] ) )
+ python? ( >=dev-lang/python-2.0 )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ tcl? ( >=dev-lang/tcl-8.2.3 )
+ tk? ( >=dev-lang/tk-8.2.3 )
+ java? ( >=virtual/jre-1.5 )
+ !qt4? ( qt3? ( >=x11-libs/qt-3.3.4:3 ) )
+ qt4? ( x11-libs/qt-core:4
+ x11-libs/qt-opengl:4
+ x11-libs/qt-gui:4 )
+ examples? ( x11-libs/qt-core:4[qt3support]
+ x11-libs/qt-gui:4[qt3support] )
+ dev-libs/expat
+ dev-libs/libxml2
+ media-libs/freetype
+ media-libs/jpeg
+ media-libs/libpng
+ media-libs/tiff
+ virtual/opengl
+ x11-libs/libXmu"
+
+DEPEND="${RDEPEND}
+ java? ( >=virtual/jdk-1.5 )
+ boost? ( dev-libs/boost )
+ >=dev-util/cmake-2.6"
+
+S="${WORKDIR}"/VTK
+
+pkg_setup() {
+ echo
+ einfo "Please note that the VTK build occasionally fails when"
+ einfo "using parallel make. Hence, if you experience a build"
+ einfo "failure please try re-emerging with MAKEOPTS=\"-j1\" first."
+ echo
+ epause 5
+
+ java-pkg-opt-2_pkg_setup
+ if use qt3 && use qt4; then
+ echo
+ ewarn "qt3 and qt4 support for vtk are mutually exclusive and"
+ ewarn "qt4 support has therefore been enabled by default."
+ echo
+ fi
+
+ if use qt4; then
+ qt4_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cg-path.patch
+ epatch "${FILESDIR}"/${PN}-5.2.0-tcl-install.patch
+ sed -e "s:@VTK_TCL_LIBRARY_DIR@:/usr/$(get_libdir):" \
+ -i Wrapping/Tcl/pkgIndex.tcl.in \
+ || die "Failed to fix tcl pkgIndex file"
+}
+
+src_configure() {
+ # general configuration
+ local mycmakeargs="
+ -Wno-dev
+ -DVTK_INSTALL_PACKAGE_DIR=/$(get_libdir)/${PN}-${SPV}
+ -DCMAKE_SKIP_RPATH=YES
+ -DVTK_DIR=${S}
+ -DVTK_INSTALL_LIB_DIR=/$(get_libdir)/
+ -DVTK_DATA_ROOT:PATH=/usr/share/${PN}/data
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DBUILD_SHARED_LIBS=ON
+ -DVTK_USE_SYSTEM_FREETYPE=ON
+ -DVTK_USE_SYSTEM_JPEG=ON
+ -DVTK_USE_SYSTEM_PNG=ON
+ -DVTK_USE_SYSTEM_TIFF=ON
+ -DVTK_USE_SYSTEM_ZLIB=ON
+ -DVTK_USE_SYSTEM_EXPAT=ON
+ -DVTK_USE_SYSTEM_LIBXML2=ON
+ -DBUILD_TESTING=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DVTK_USE_HYBRID=ON
+ -DVTK_USE_GL2PS=ON
+ -DVTK_USE_RENDERING=ON"
+
+ # use flag triggered options
+ mycmakeargs="${mycmakeargs}
+ $(cmake-utils_use boost VTK_USE_BOOST)
+ $(cmake-utils_use cg VTK_USE_CG_SHADERS)
+ $(cmake-utils_use tcl VTK_WRAP_TCL)
+ $(cmake-utils_use tk VTK_USE_TK)
+ $(cmake-utils_use threads VTK_USE_PARALLEL)
+ $(cmake-utils_use patented VTK_USE_PATENTED)
+ $(cmake-utils_use doc DOCUMENTATION_HTML_HELP)
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use mpi VTK_USE_MPI)"
+
+ # mpi needs the parallel framework
+ if use mpi && use !threads; then
+ mycmakeargs="${mycmakeargs}
+ -DVTK_USE_PARALLEL=ON"
+ fi
+
+ if use java; then
+ mycmakeargs="${mycmakeargs}
+ -DVTK_WRAP_JAVA=ON
+ -DJAVA_AWT_INCLUDE_PATH=`java-config -O`/include
+ -DJAVA_INCLUDE_PATH:PATH=`java-config -O`/include
+ -DJAVA_INCLUDE_PATH2:PATH=`java-config -O`/include/linux"
+
+ if [ "${ARCH}" == "amd64" ]; then
+ mycmakeargs="${mycmakeargs}
+ -DJAVA_AWT_LIBRARY=`java-config -O`/jre/lib/${ARCH}/libjawt.so"
+ else
+ mycmakeargs="${mycmakeargs}
+ -DJAVA_AWT_LIBRARY:PATH=`java-config -O`/jre/lib/i386/libjawt.so"
+ fi
+ fi
+
+ if use python; then
+ python_version
+ mycmakeargs="${mycmakeargs}
+ -DVTK_WRAP_PYTHON=ON
+ -DPYTHON_INCLUDE_PATH=/usr/include/python${PYVER}
+ -DPYTHON_LIBRARY=/usr/$(get_libdir)/libpython${PYVER}.so
+ -DVTK_PYTHON_SETUP_ARGS:STRING=--root=${D}"
+ fi
+
+ if use qt3 || use qt4 ; then
+ mycmakeargs="${mycmakeargs}
+ -DVTK_USE_GUISUPPORT=ON
+ -DVTK_USE_QVTK=ON
+ -DVTK_USE_QVTK_QTOPENGL=ON
+ -DQT_WRAP_CPP=ON
+ -DQT_WRAP_UI=ON"
+ fi
+
+ # these options we only enable if the use request qt3
+ # only. In case of qt3 && qt4 or qt4 only qt4 always
+ # overrides qt3
+ if use qt3 && use !qt4; then
+ mycmakeargs="${mycmakeargs}
+ -DVTK_INSTALL_QT_DIR=/qt/3/plugins/${PN}
+ -DDESIRED_QT_VERSION=3
+ -DQT_MOC_EXECUTABLE=/usr/qt/3/bin/moc
+ -DQT_UIC_EXECUTABLE=/usr/qt/3/bin/uic
+ -DQT_INCLUDE_DIR=/usr/qt/3/include
+ -DQT_QT_LIBRARY=/usr/qt/3/$(get_libdir)/libqt.so
+ -DQT_QMAKE_EXECUTABLE=/usr/qt/3/bin/qmake"
+ fi
+
+ if use qt4; then
+ mycmakeargs="${mycmakeargs}
+ -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/${PN}
+ -DDESIRED_QT_VERSION=4
+ -DQT_MOC_EXECUTABLE=/usr/bin/moc
+ -DQT_UIC_EXECUTABLE=/usr/bin/uic
+ -DQT_INCLUDE_DIR=/usr/include/qt4
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake"
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install docs
+ dohtml "${S}"/README.html || die "Failed to install docs"
+
+ # install Tcl docs
+ docinto vtk_tcl
+ dodoc "${S}"/Wrapping/Tcl/README || \
+ die "Failed to install Tcl docs"
+
+ # install examples
+ if use examples; then
+ dodir /usr/share/${PN} || \
+ die "Failed to create data/examples directory"
+
+ cp -pPR "${S}"/Examples "${D}"/usr/share/${PN}/examples || \
+ die "Failed to copy example files"
+
+ # fix example's permissions
+ find "${D}"/usr/share/${PN}/examples -type d -exec \
+ chmod 0755 {} \; || \
+ die "Failed to fix example directories permissions"
+ find "${D}"/usr/share/${PN}/examples -type f -exec \
+ chmod 0644 {} \; || \
+ die "Failed to fix example files permissions"
+
+ cp -pPR "${WORKDIR}"/VTKData "${D}"/usr/share/${PN}/data || \
+ die "Failed to copy data files"
+
+ # fix data's permissions
+ find "${D}"/usr/share/${PN}/data -type d -exec \
+ chmod 0755 {} \; || \
+ die "Failed to fix data directories permissions"
+ find "${D}"/usr/share/${PN}/data -type f -exec \
+ chmod 0644 {} \; || \
+ die "Failed to fix data files permissions"
+ fi
+
+ #install big docs
+ if use doc; then
+ cd "${WORKDIR}"/html
+ rm -f *.md5 || die "Failed to remove superfluous hashes"
+ einfo "Installing API docs. This may take some time."
+ insinto "/usr/share/doc/${PF}/api-docs"
+ doins -r ./* || die "Failed to install docs"
+ fi
+
+ # environment
+ echo "VTK_DATA_ROOT=/usr/share/${PN}/data" >> "${T}"/40${PN}
+ echo "VTK_DIR=/usr/$(get_libdir)/${PN}-${SPV}" >> "${T}"/40${PN}
+ echo "VTKHOME=/usr" >> "${T}"/40${PN}
+ doenvd "${T}"/40${PN}
+}
+
+pkg_postinst() {
+ if use patented; then
+ ewarn "Using patented code in VTK may require a license."
+ ewarn "For more information, please read:"
+ ewarn "http://public.kitware.com/cgi-bin/vtkfaq?req=show&file=faq07.005.htp"
+ fi
+}