diff options
author | Justin Lecher <jlec@gentoo.org> | 2011-04-16 11:04:30 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2011-04-16 11:04:30 +0000 |
commit | feffc2a450c52e3ea5670ca0eb470a3cecbe6bea (patch) | |
tree | 66e65418c509eff9859aa721e6795ac231b5cc8f | |
parent | Fix dependency on aspell, bug 363379. (diff) | |
download | gentoo-2-feffc2a450c52e3ea5670ca0eb470a3cecbe6bea.tar.gz gentoo-2-feffc2a450c52e3ea5670ca0eb470a3cecbe6bea.tar.bz2 gentoo-2-feffc2a450c52e3ea5670ca0eb470a3cecbe6bea.zip |
Version Bump, Fixes for ffmpeg, Fortify source, py-2.7; #362701, #350318, #344065, #338819, #334705, #327957
(Portage version: 2.2.0_alpha30/cvs/Linux x86_64)
-rw-r--r-- | sci-libs/vtk/ChangeLog | 11 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch | 42 | ||||
-rw-r--r-- | sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch | 42 | ||||
-rw-r--r-- | sci-libs/vtk/vtk-5.6.0-r2.ebuild | 28 | ||||
-rw-r--r-- | sci-libs/vtk/vtk-5.6.0-r3.ebuild | 245 | ||||
-rw-r--r-- | sci-libs/vtk/vtk-5.6.1.ebuild | 245 |
6 files changed, 598 insertions, 15 deletions
diff --git a/sci-libs/vtk/ChangeLog b/sci-libs/vtk/ChangeLog index 007a9f44ae15..0e0c9b51680e 100644 --- a/sci-libs/vtk/ChangeLog +++ b/sci-libs/vtk/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for sci-libs/vtk # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/ChangeLog,v 1.82 2011/03/31 15:50:21 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/ChangeLog,v 1.83 2011/04/16 11:04:30 jlec Exp $ + +*vtk-5.6.1 (16 Apr 2011) +*vtk-5.6.0-r3 (16 Apr 2011) + + 16 Apr 2011; Justin Lecher <jlec@gentoo.org> vtk-5.6.0-r2.ebuild, + +vtk-5.6.0-r3.ebuild, +files/vtk-5.6.0-ffmpeg.patch, +vtk-5.6.1.ebuild, + +files/vtk-5.6.1-ffmpeg.patch: + Version Bump, Fixes for ffmpeg, Fortify source, py-2.7; #362701, #350318, + #344065, #338819, #334705, #327957 31 Mar 2011; Tomáš Chvátal <scarabeus@gentoo.org> vtk-5.6.0-r2.ebuild: Depend on virtual/ffmpeg instead of media-video/ffmpeg. diff --git a/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch b/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch new file mode 100644 index 000000000000..2b600c067bc9 --- /dev/null +++ b/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch @@ -0,0 +1,42 @@ + CMake/vtkFFMPEGTestAvAlloc.cxx | 2 +- + CMake/vtkFFMPEGTestURLFClose.cxx | 2 +- + IO/vtkFFMPEGWriter.cxx | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMake/vtkFFMPEGTestAvAlloc.cxx b/CMake/vtkFFMPEGTestAvAlloc.cxx +index ad691e3..1025c22 100644 +--- a/CMake/vtkFFMPEGTestAvAlloc.cxx ++++ b/CMake/vtkFFMPEGTestAvAlloc.cxx +@@ -1,6 +1,6 @@ + extern "C" { + #ifdef HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavformat/avformat.h> + #else + # include <libavformat/avformat.h> + #endif +diff --git a/CMake/vtkFFMPEGTestURLFClose.cxx b/CMake/vtkFFMPEGTestURLFClose.cxx +index 0bf4314..8c1df58 100644 +--- a/CMake/vtkFFMPEGTestURLFClose.cxx ++++ b/CMake/vtkFFMPEGTestURLFClose.cxx +@@ -1,6 +1,6 @@ + extern "C" { + #ifdef HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavformat/avformat.h> + #else + # include <libavformat/avformat.h> + #endif +diff --git a/IO/vtkFFMPEGWriter.cxx b/IO/vtkFFMPEGWriter.cxx +index b109c08..e056418 100644 +--- a/IO/vtkFFMPEGWriter.cxx ++++ b/IO/vtkFFMPEGWriter.cxx +@@ -22,7 +22,7 @@ + + extern "C" { + #ifdef VTK_FFMPEG_HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavformat/avformat.h> + #else + # include <libavformat/avformat.h> + #endif diff --git a/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch b/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch new file mode 100644 index 000000000000..0a347770b0e7 --- /dev/null +++ b/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch @@ -0,0 +1,42 @@ + CMake/vtkFFMPEGTestAvAlloc.cxx | 2 +- + CMake/vtkFFMPEGTestURLFClose.cxx | 2 +- + IO/vtkFFMPEGWriter.cxx | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMake/vtkFFMPEGTestAvAlloc.cxx b/CMake/vtkFFMPEGTestAvAlloc.cxx +index ad691e3..32489d5 100644 +--- a/CMake/vtkFFMPEGTestAvAlloc.cxx ++++ b/CMake/vtkFFMPEGTestAvAlloc.cxx +@@ -1,6 +1,6 @@ + extern "C" { + #ifdef HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavcodec/avformat.h> + #else + # include <libavformat/avformat.h> + #endif +diff --git a/CMake/vtkFFMPEGTestURLFClose.cxx b/CMake/vtkFFMPEGTestURLFClose.cxx +index 0bf4314..1c10a93 100644 +--- a/CMake/vtkFFMPEGTestURLFClose.cxx ++++ b/CMake/vtkFFMPEGTestURLFClose.cxx +@@ -1,6 +1,6 @@ + extern "C" { + #ifdef HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavcodec/avformat.h> + #else + # include <libavformat/avformat.h> + #endif +diff --git a/IO/vtkFFMPEGWriter.cxx b/IO/vtkFFMPEGWriter.cxx +index 52673ef..ffbb78f 100644 +--- a/IO/vtkFFMPEGWriter.cxx ++++ b/IO/vtkFFMPEGWriter.cxx +@@ -22,7 +22,7 @@ + + extern "C" { + #ifdef VTK_FFMPEG_HAS_OLD_HEADER +-# include <ffmpeg/avformat.h> ++# include <libavcodec/avformat.h> + #else + # include <libavformat/avformat.h> + #endif diff --git a/sci-libs/vtk/vtk-5.6.0-r2.ebuild b/sci-libs/vtk/vtk-5.6.0-r2.ebuild index 92b235c6bebf..3cb3bb8b42c2 100644 --- a/sci-libs/vtk/vtk-5.6.0-r2.ebuild +++ b/sci-libs/vtk/vtk-5.6.0-r2.ebuild @@ -1,17 +1,18 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.6.0-r2.ebuild,v 1.8 2011/03/31 15:50:21 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.6.0-r2.ebuild,v 1.9 2011/04/16 11:04:30 jlec Exp $ EAPI="3" + PYTHON_DEPEND="python? 2" -inherit eutils flag-o-matic java-pkg-opt-2 python qt4 versionator toolchain-funcs cmake-utils +inherit eutils flag-o-matic java-pkg-opt-2 python qt4-r2 versionator toolchain-funcs cmake-utils # Short package version SPV="$(get_version_component_range 1-2)" DESCRIPTION="The Visualization Toolkit" -HOMEPAGE="http://www.vtk.org" +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 )" @@ -37,9 +38,9 @@ RDEPEND=" x11-libs/qt-opengl:4 x11-libs/qt-sql:4 x11-libs/qt-webkit:4 ) - tcl? ( >=dev-lang/tcl-8.2.3 ) + tcl? ( dev-lang/tcl ) theora? ( media-libs/libtheora ) - tk? ( >=dev-lang/tk-8.2.3 ) + tk? ( dev-lang/tk ) R? ( dev-lang/R ) dev-libs/expat dev-libs/libxml2:2 @@ -57,8 +58,7 @@ RDEPEND=" DEPEND="${RDEPEND} java? ( >=virtual/jdk-1.5 ) boost? ( >=dev-libs/boost-1.40.0[mpi?] ) - mpi? ( >=dev-util/cmake-2.8.1-r2 ) - >=dev-util/cmake-2.6" + dev-util/cmake" S="${WORKDIR}"/VTK @@ -72,17 +72,17 @@ pkg_setup() { java-pkg-opt-2_pkg_setup use python && python_set_active_version 2 - use qt4 && qt4_pkg_setup append-cppflags -D__STDC_CONSTANT_MACROS } src_prepare() { - epatch "${FILESDIR}"/${P}-cg-path.patch - epatch "${FILESDIR}"/${PN}-5.2.0-tcl-install.patch - epatch "${FILESDIR}"/${P}-boost-property_map.patch - epatch "${FILESDIR}"/${P}-libpng14.patch - epatch "${FILESDIR}"/${P}-R.patch - epatch "${FILESDIR}"/${P}-odbc.patch + epatch \ + "${FILESDIR}"/${P}-cg-path.patch \ + "${FILESDIR}"/${PN}-5.2.0-tcl-install.patch \ + "${FILESDIR}"/${P}-boost-property_map.patch \ + "${FILESDIR}"/${P}-libpng14.patch \ + "${FILESDIR}"/${P}-R.patch \ + "${FILESDIR}"/${P}-odbc.patch sed -e "s:@VTK_TCL_LIBRARY_DIR@:/usr/$(get_libdir):" \ -i Wrapping/Tcl/pkgIndex.tcl.in \ || die "Failed to fix tcl pkgIndex file" diff --git a/sci-libs/vtk/vtk-5.6.0-r3.ebuild b/sci-libs/vtk/vtk-5.6.0-r3.ebuild new file mode 100644 index 000000000000..b358d4637b83 --- /dev/null +++ b/sci-libs/vtk/vtk-5.6.0-r3.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.6.0-r3.ebuild,v 1.1 2011/04/16 11:04:30 jlec Exp $ + +EAPI="3" + +PYTHON_DEPEND="python? 2" + +inherit eutils flag-o-matic java-pkg-opt-2 python qt4-r2 versionator toolchain-funcs 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 ffmpeg java mpi mysql odbc patented postgres python qt4 tcl theora tk threads R" +RDEPEND=" + cg? ( media-gfx/nvidia-cg-toolkit ) + examples? ( + x11-libs/qt-core:4[qt3support] + x11-libs/qt-gui:4[qt3support] ) + ffmpeg? ( virtual/ffmpeg ) + java? ( >=virtual/jre-1.5 ) + mpi? ( virtual/mpi[cxx,romio] ) + mysql? ( virtual/mysql ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql-base ) + qt4? ( + x11-libs/qt-core:4 + x11-libs/qt-gui:4 + x11-libs/qt-opengl:4 + x11-libs/qt-sql:4 + x11-libs/qt-webkit:4 ) + tcl? ( dev-lang/tcl ) + theora? ( media-libs/libtheora ) + tk? ( dev-lang/tk ) + R? ( dev-lang/R ) + dev-libs/expat + dev-libs/libxml2:2 + media-libs/freetype + virtual/jpeg + media-libs/libpng + media-libs/mesa + media-libs/tiff + sys-libs/zlib + virtual/opengl + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libXt" + +DEPEND="${RDEPEND} + java? ( >=virtual/jdk-1.5 ) + boost? ( >=dev-libs/boost-1.40.0[mpi?] ) + dev-util/cmake" + +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 + + java-pkg-opt-2_pkg_setup + + use python && python_set_active_version 2 + append-cppflags -D__STDC_CONSTANT_MACROS +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-cg-path.patch \ + "${FILESDIR}"/${PN}-5.2.0-tcl-install.patch \ + "${FILESDIR}"/${P}-boost-property_map.patch \ + "${FILESDIR}"/${P}-libpng14.patch \ + "${FILESDIR}"/${P}-R.patch \ + "${FILESDIR}"/${P}-odbc.patch \ + "${FILESDIR}"/${P}-ffmpeg.patch + # Fix sure buffer overflow on some processors as reported by Flameyes in #338819 + sed -e "s:CHIPNAME_STRING_LENGTH (48 + 1):CHIPNAME_STRING_LENGTH (79 + 1):" \ + -i Utilities/kwsys/SystemInformation.cxx \ + || die "Failed to fix SystemInformation.cxx buffer overflow" + sed -e "s:@VTK_TCL_LIBRARY_DIR@:/usr/$(get_libdir):" \ + -i Wrapping/Tcl/pkgIndex.tcl.in \ + || die "Failed to fix tcl pkgIndex file" + # Patch FindPythonLibs.cmake for python-2.7, removing it does more harm than good. + sed -e "s:2.6 2.5 2.4 2.3 2.2 2.1 2.0:2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0:" \ + -i CMake/FindPythonLibs.cmake || die "failed to patch for python 2.7" +} + +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="${EPREFIX}"/usr/share/${PN}/data + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DBUILD_SHARED_LIBS=ON + -DVTK_USE_SYSTEM_EXPAT=ON + -DVTK_USE_SYSTEM_FREETYPE=ON + -DVTK_USE_SYSTEM_JPEG=ON + -DVTK_USE_SYSTEM_LIBXML2=ON + -DVTK_USE_SYSTEM_PNG=ON + -DVTK_USE_SYSTEM_TIFF=ON + -DVTK_USE_SYSTEM_ZLIB=ON + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DVTK_USE_HYBRID=ON + -DVTK_USE_GL2PS=ON + -DVTK_USE_RENDERING=ON) + + # use flag triggered options + mycmakeargs+=( + $(cmake-utils_use boost VTK_USE_BOOST) + $(cmake-utils_use cg VTK_USE_CG_SHADERS) + $(cmake-utils_use doc DOCUMENTATION_HTML_HELP) + $(cmake-utils_use_build doc DOCUMENTATION) + $(cmake-utils_use java VTK_USE_JAVA) + $(cmake-utils_use mpi VTK_USE_MPI) + $(cmake-utils_use patented VTK_USE_PATENTED) + $(cmake-utils_use qt4 VTK_USE_QT) + $(cmake-utils_use tcl VTK_WRAP_TCL) + $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER) + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) + $(cmake-utils_use tk VTK_USE_TK) + $(cmake-utils_use threads VTK_USE_PARALLEL) + $(cmake-utils_use R VTK_USE_GNU_R) + $(cmake-utils_use mysql VTK_USE_MYSQL) + $(cmake-utils_use postgres VTK_USE_POSTGRES) + $(cmake-utils_use odbc VTK_USE_ODBC) ) + + use theora && + mycmakeargs+=(-DVTK_USE_SYSTEM_OGGTHEORA=ON) + + # mpi needs the parallel framework + if use mpi && use !threads; then + mycmakeargs+=(-DVTK_USE_PARALLEL=ON) + fi + + if use java; then + 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+=(-DJAVA_AWT_LIBRARY=`java-config -O`/jre/lib/${ARCH}/libjawt.so) + else + mycmakeargs+=(-DJAVA_AWT_LIBRARY:PATH=`java-config -O`/jre/lib/i386/libjawt.so) + fi + fi + + if use python; then + mycmakeargs+=( + -DVTK_WRAP_PYTHON=ON + -DPYTHON_INCLUDE_PATH=$(python_get_includedir) + -DPYTHON_LIBRARY=$(python_get_library) + -DVTK_PYTHON_SETUP_ARGS:STRING=--root="${D}") + fi + + if use qt4 ; then + mycmakeargs+=( + -DVTK_USE_GUISUPPORT=ON + -DVTK_USE_QVTK=ON + -DVTK_USE_QVTK_QTOPENGL=ON + -DQT_WRAP_CPP=ON + -DQT_WRAP_UI=ON + -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/${PN} + -DDESIRED_QT_VERSION=4 + -DQT_MOC_EXECUTABLE="${EPREFIX}"/usr/bin/moc + -DQT_UIC_EXECUTABLE="${EPREFIX}"/usr/bin/uic + -DQT_INCLUDE_DIR="${EPREFIX}"/usr/include/qt4 + -DQT_QMAKE_EXECUTABLE="${EPREFIX}"/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 + insinto /usr/share/${PN} + mv -v Examples examples + doins -r examples || die + mv -v VTKData data || die + doins -r data || die + 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 + cat >> "${T}"/40${PN} <<- EOF + VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data + VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV} + VTKHOME=${EPREFIX}/usr + EOF + 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 + + if use python; then + python_mod_optimize vtk + fi +} + +pkg_postrm() { + if use python; then + python_mod_cleanup vtk + fi +} diff --git a/sci-libs/vtk/vtk-5.6.1.ebuild b/sci-libs/vtk/vtk-5.6.1.ebuild new file mode 100644 index 000000000000..93ae71e09401 --- /dev/null +++ b/sci-libs/vtk/vtk-5.6.1.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/vtk/vtk-5.6.1.ebuild,v 1.1 2011/04/16 11:04:30 jlec Exp $ + +EAPI="3" + +PYTHON_DEPEND="python? 2" + +inherit eutils flag-o-matic java-pkg-opt-2 python qt4-r2 versionator toolchain-funcs 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 ffmpeg java mpi mysql odbc patented postgres python qt4 tcl theora tk threads R" +RDEPEND=" + cg? ( media-gfx/nvidia-cg-toolkit ) + examples? ( + x11-libs/qt-core:4[qt3support] + x11-libs/qt-gui:4[qt3support] ) + ffmpeg? ( virtual/ffmpeg ) + java? ( >=virtual/jre-1.5 ) + mpi? ( virtual/mpi[cxx,romio] ) + mysql? ( virtual/mysql ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql-base ) + qt4? ( + x11-libs/qt-core:4 + x11-libs/qt-gui:4 + x11-libs/qt-opengl:4 + x11-libs/qt-sql:4 + x11-libs/qt-webkit:4 ) + tcl? ( dev-lang/tcl ) + theora? ( media-libs/libtheora ) + tk? ( dev-lang/tk ) + R? ( dev-lang/R ) + dev-libs/expat + dev-libs/libxml2:2 + media-libs/freetype + virtual/jpeg + media-libs/libpng + media-libs/mesa + media-libs/tiff + sys-libs/zlib + virtual/opengl + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libXt" +DEPEND="${RDEPEND} + java? ( >=virtual/jdk-1.5 ) + boost? ( >=dev-libs/boost-1.40.0[mpi?] ) + dev-util/cmake" + +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 + + java-pkg-opt-2_pkg_setup + + use python && python_set_active_version 2 + append-cppflags -D__STDC_CONSTANT_MACROS +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-5.6.0-cg-path.patch \ + "${FILESDIR}"/${PN}-5.2.0-tcl-install.patch \ + "${FILESDIR}"/${PN}-5.6.0-boost-property_map.patch \ + "${FILESDIR}"/${PN}-5.6.0-libpng14.patch \ + "${FILESDIR}"/${PN}-5.6.0-R.patch \ + "${FILESDIR}"/${PN}-5.6.0-odbc.patch \ + "${FILESDIR}"/${P}-ffmpeg.patch + + # Fix sure buffer overflow on some processors as reported by Flameyes in #338819 + sed -e "s:CHIPNAME_STRING_LENGTH (48 + 1):CHIPNAME_STRING_LENGTH (79 + 1):" \ + -i Utilities/kwsys/SystemInformation.cxx \ + || die "Failed to fix SystemInformation.cxx buffer overflow" + sed -e "s:@VTK_TCL_LIBRARY_DIR@:/usr/$(get_libdir):" \ + -i Wrapping/Tcl/pkgIndex.tcl.in \ + || die "Failed to fix tcl pkgIndex file" + # Patch FindPythonLibs.cmake for python-2.7, removing it does more harm than good. + sed -e "s:2.6 2.5 2.4 2.3 2.2 2.1 2.0:2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0:" \ + -i CMake/FindPythonLibs.cmake || die "failed to patch for python 2.7" +} + +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="${EPREFIX}"/usr/share/${PN}/data + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DBUILD_SHARED_LIBS=ON + -DVTK_USE_SYSTEM_EXPAT=ON + -DVTK_USE_SYSTEM_FREETYPE=ON + -DVTK_USE_SYSTEM_JPEG=ON + -DVTK_USE_SYSTEM_LIBXML2=ON + -DVTK_USE_SYSTEM_PNG=ON + -DVTK_USE_SYSTEM_TIFF=ON + -DVTK_USE_SYSTEM_ZLIB=ON + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DVTK_USE_HYBRID=ON + -DVTK_USE_GL2PS=ON + -DVTK_USE_RENDERING=ON) + + # use flag triggered options + mycmakeargs+=( + $(cmake-utils_use boost VTK_USE_BOOST) + $(cmake-utils_use cg VTK_USE_CG_SHADERS) + $(cmake-utils_use doc DOCUMENTATION_HTML_HELP) + $(cmake-utils_use_build doc DOCUMENTATION) + $(cmake-utils_use java VTK_USE_JAVA) + $(cmake-utils_use mpi VTK_USE_MPI) + $(cmake-utils_use patented VTK_USE_PATENTED) + $(cmake-utils_use qt4 VTK_USE_QT) + $(cmake-utils_use tcl VTK_WRAP_TCL) + $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER) + $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER) + $(cmake-utils_use tk VTK_USE_TK) + $(cmake-utils_use threads VTK_USE_PARALLEL) + $(cmake-utils_use R VTK_USE_GNU_R) + $(cmake-utils_use mysql VTK_USE_MYSQL) + $(cmake-utils_use postgres VTK_USE_POSTGRES) + $(cmake-utils_use odbc VTK_USE_ODBC) ) + + use theora && + mycmakeargs+=(-DVTK_USE_SYSTEM_OGGTHEORA=ON) + + # mpi needs the parallel framework + if use mpi && use !threads; then + mycmakeargs+=(-DVTK_USE_PARALLEL=ON) + fi + + if use java; then + 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+=(-DJAVA_AWT_LIBRARY=`java-config -O`/jre/lib/${ARCH}/libjawt.so) + else + mycmakeargs+=(-DJAVA_AWT_LIBRARY:PATH=`java-config -O`/jre/lib/i386/libjawt.so) + fi + fi + + if use python; then + mycmakeargs+=( + -DVTK_WRAP_PYTHON=ON + -DPYTHON_INCLUDE_PATH=$(python_get_includedir) + -DPYTHON_LIBRARY=$(python_get_library) + -DVTK_PYTHON_SETUP_ARGS:STRING=--root="${D}") + fi + + if use qt4 ; then + mycmakeargs+=( + -DVTK_USE_GUISUPPORT=ON + -DVTK_USE_QVTK=ON + -DVTK_USE_QVTK_QTOPENGL=ON + -DQT_WRAP_CPP=ON + -DQT_WRAP_UI=ON + -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/${PN} + -DDESIRED_QT_VERSION=4 + -DQT_MOC_EXECUTABLE="${EPREFIX}"/usr/bin/moc + -DQT_UIC_EXECUTABLE="${EPREFIX}"/usr/bin/uic + -DQT_INCLUDE_DIR="${EPREFIX}"/usr/include/qt4 + -DQT_QMAKE_EXECUTABLE="${EPREFIX}"/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 + insinto /usr/share/${PN} + mv -v Examples examples + doins -r examples || die + mv -v VTKData data || die + doins -r data || die + 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 + cat >> "${T}"/40${PN} <<- EOF + VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data + VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV} + VTKHOME=${EPREFIX}/usr + EOF + 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 + + if use python; then + python_mod_optimize vtk + fi +} + +pkg_postrm() { + if use python; then + python_mod_cleanup vtk + fi +} |