[53609] trunk/dports/graphics/vtk-devel/Portfile
dweber at macports.org
dweber at macports.org
Thu Jul 9 12:40:13 PDT 2009
Revision: 53609
http://trac.macports.org/changeset/53609
Author: dweber at macports.org
Date: 2009-07-09 12:40:13 -0700 (Thu, 09 Jul 2009)
Log Message:
-----------
About to move from user svn back to the trunk
Removed Paths:
-------------
trunk/dports/graphics/vtk-devel/Portfile
Deleted: trunk/dports/graphics/vtk-devel/Portfile
===================================================================
--- trunk/dports/graphics/vtk-devel/Portfile 2009-07-09 19:38:56 UTC (rev 53608)
+++ trunk/dports/graphics/vtk-devel/Portfile 2009-07-09 19:40:13 UTC (rev 53609)
@@ -1,775 +0,0 @@
-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
-# $Id$
-
-PortSystem 1.0
-
-name vtk-devel
-version 5.4.0
-revision 4
-set branch [join [lrange [split ${version} .] 0 1] .]
-
-categories graphics math science devel
-
-maintainers dweber openmaintainer
-
-description 3D visualization toolkit (www.vtk.org)
-
-long_description \
-An open source, freely available software system for computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python.
-
-homepage http://www.vtk.org/
-master_sites http://www.vtk.org/files/release/${branch} \
- http://www.vtk.org/doc/release/${branch}
-
-distname vtk-${branch}
-distfiles vtk-${version}.tar.gz
-
-checksums vtk-${version}.tar.gz \
- md5 3e7c6d5c37602c935674d580a8dd43c0 \
- sha1 a227caf932315d944cf72008d75df90dd4c554e7 \
- rmd160 e2140fc35ed974f5fde6b418089554904e197c21
-
-eval extract.only vtk-${version}.tar.gz
-
-
-platforms darwin
-
-depends_build port:cmake \
- port:readline \
- port:gnutar
-
-
-# Use gmake and build in a separate directory from the source
-build.type gnu
-build.dir ${workpath}/${distname}-build
-
-use_parallel_build no
-
-# Global variables (used in variants)
-set vtkDataFile vtkdata-${version}.tar.gz
-set vtkDataPath ${prefix}/share/${distname}/data
-set vtkDocFile vtkDocHtml-${version}.tar.gz
-set vtkDocPath ${prefix}/share/${distname}/doc
-set vtkExamplePath ${prefix}/share/${distname}/examples
-set vtkTestingPath ${prefix}/share/${distname}/testing
-set vtkLibPath ${prefix}/lib/${distname}
-set vtkBuildBinPath ${build.dir}/bin
-
-# Using this dummy stage to inspect MacPorts variables (using 'port -d fetch vtk-devel')
-#fetch { system "echo ${configure.args} " }
-
-post-extract {
- move ${workpath}/VTK ${worksrcpath}
-}
-
-configure {
- xinstall -d -m 0755 ${build.dir}
- system "cd ${build.dir} && cmake ${configure.args} ${worksrcpath}"
-}
-
-
-# From vtk5 - look into how this works and whether it will replace the need to
-# call install_name_tool in many variants. Disabled until it can be checked.
-#post-configure {
-# reinplace "s|c++|c++ -L${prefix}/lib |" \
-# ${worksrcpath}/Infovis/Testing/Cxx/CMakeFiles/InfovisCxxTests.dir/link.txt \
-# ${worksrcpath}/IO/Testing/Cxx/CMakeFiles/IOCxxTests.dir/link.txt \
-# ${worksrcpath}/Views/Testing/Cxx/CMakeFiles/ViewsCxxTests.dir/link.txt
-#
-# if {[variant_isset tcltk]} {
-# reinplace "s|c++|c++ -L${prefix}/lib |" \
-# ${worksrcpath}/Wrapping/Tcl/CMakeFiles/vtk.dir/link.txt
-# }
-#}
-
-
-# To double-check all the cmake variable settings after the configure
-#cd ${build.dir}
-#sudo cmake -LAH ../vtk-${branch} > ~/cmake_vars.txt
-# Similarly, for an interactive configuration with ccmake, try:
-#cd ${build.dir}
-#sudo ccmake ../vtk-${branch}
-
-configure.args \
- -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
- -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
- -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
- -DCMAKE_INCLUDE_PATH:PATH=${prefix}/include \
- -DCMAKE_LIBRARY_PATH:PATH=${prefix}/lib \
- -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib/${distname} \
- -DBUILD_DOCUMENTATION:BOOL=OFF \
- -DBUILD_EXAMPLES:BOOL=OFF \
- -DBUILD_TESTING:BOOL=OFF \
- -DBUILD_SHARED_LIBS:BOOL=OFF \
- -DVTK_DEBUG_LEAKS:BOOL=ON \
- -DVTK_USE_COCOA:BOOL=OFF \
- -DVTK_USE_CARBON:BOOL=OFF \
- -DVTK_USE_X:BOOL=OFF \
- -DVTK_USE_HYBRID:BOOL=ON \
- -DVTK_USE_GUISUPPORT:BOOL=ON \
- -DVTK_USE_INFOVIS:BOOL=ON \
- -DVTK_USE_PARALLEL:BOOL=ON \
- -DVTK_USE_RENDERING:BOOL=ON \
- -DVTK_USE_VIEWS:BOOL=ON \
- -DVTK_USE_GL2PS:BOOL=ON \
- -DVTK_USE_N_WAY_ARRAYS:BOOL=ON \
- -DVTK_WRAP_JAVA:BOOL=OFF \
- -DVTK_WRAP_PYTHON:BOOL=OFF \
- -DVTK_WRAP_TCL:BOOL=OFF
-
-if {[info exists universal_sysroot]} {
- configure.args-append \
- -DCMAKE_OSX_SYSROOT=${universal_sysroot}
-}
-
-
-# General post-destroot, see also variant specific sections below
-post-destroot {
- # create version specific binaries and symlinks
- if [file exists ${destroot}${prefix}/bin/vtkEncodeString] {
- move ${destroot}${prefix}/bin/vtkEncodeString ${destroot}${prefix}/bin/vtk-${branch}-EncodeString
- ln -f -s vtk-${branch}-EncodeString ${destroot}${prefix}/bin/vtkEncodeString
- }
- if [file exists ${destroot}${prefix}/bin/lproj] {
- move ${destroot}${prefix}/bin/lproj ${destroot}${prefix}/bin/vtk-${branch}-lproj
- ln -f -s vtk-${branch}-lproj ${destroot}${prefix}/bin/lproj
- }
-}
-
-
-# -----------------------------------------------------------------------------
-# PLATFORMS: platform darwin <version>
-# Can be used to handle different tasks depending
-# on the version of Mac OS X. The version can be:
-# 6 for 10.2 Jaguar,
-# 7 for 10.3 Panther,
-# 8 for 10.4 Tiger, or
-# 9 for 10.5 Leopard.
-
-# Nothing done here, but the darwin_8 platform needs to be initialized
-# for use inside the post-destroot phase of the data variant
-platform darwin 8 {}
-
-# When building VTK with Cocoa, in OSX >= 10.5.x, Cocoa supports two memory
-# models: reference counting and garbage collection. This compiler flag lets
-# it work with both.
-platform darwin 9 {
- configure.args-append \
- -DVTK_REQUIRED_OBJCXX_FLAGS="-fobjc-gc"
-}
-
-
-# -----------------------------------------------------------------------------
-# VARIANTS
-# variant name [requires variant] [conflicts variant] [description description]
-
-default_variants \
- +data \
- +doc \
- +examples \
- +shared \
- +testing
-
-if { ![variant_isset carbon] && ![variant_isset x11] } {
- default_variants-append +cocoa
-}
-
-
-# --- Convenience variants
-
-variant huge \
- requires core cocoa shared wrap database mpi boost \
- description "provide core cocoa shared wrap database mpi boost" {}
-
-variant core \
- requires data doc examples testing \
- description "provide data doc examples testing" {}
-
-variant wrap \
- requires java py26 tcl \
- description "provide java, py26, & tcl" {}
-
-variant database \
- requires mysql5 pgsql83 odbc \
- description "provide all database variants" {}
-
-
-# --- Build variants
-
-variant debug conflicts release description "debug build" {
- configure.args-delete \
- -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
- configure.args-append \
- -DCMAKE_BUILD_TYPE:STRING=Debug
-}
-
-variant release conflicts debug description "release build" {
- configure.args-delete \
- -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
- configure.args-append \
- -DCMAKE_BUILD_TYPE:STRING=Release
-}
-
-# Notes on RPATH settings for the shared dylib build and install:
-#
-# CMake book, Appendix A, p 234: "CMAKE_SKIP_BUILD_RPATH: Do not include RPATHs
-# in the build tree. Normally CMake uses the build tree for the RPATH when
-# building executables etc. on systems that use RPATH. When the software is
-# installed the executables etc. are relinked by CMake to have the install
-# RPATH. If this variable is set to true then the software is always built with
-# no RPATH."
-#
-# CMake book, Appendix B, p. 301: "... SKIP_BUILD_RPATH is a boolean specifying
-# whether to skip automatic generation of an rpath allowing the target to run
-# from the build tree. BUILD_WITH_INSTALL_RPATH is a boolean specifying whether
-# to link the target in the build tree with the INSTALL_RPATH. This takes
-# precedence over SKIP_BUILD_RPATH and avoids the need for relinking before
-# installation."
-#
-# Using CMAKE_SKIP_BUILD_RPATH:BOOL=OFF, we get all the executables and dylibs
-# built with the $build.dir in the rpath. For this to work, we must also have
-# CMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF. After the build, at the destroot
-# phase, all the installation candidates (which excludes the examples and
-# testing binaries) have their rpath settings reset to the INSTALL_RPATH (which
-# should point to $prefix..., not the $destroot location). VTK_USE_RPATH
-# is required to ensure that rpath is set for all the installed executables and
-# dylibs.
-
-variant shared description "build shared libraries (default)" {
- configure.args-delete \
- -DBUILD_SHARED_LIBS:BOOL=OFF
- configure.args-append \
- -DBUILD_SHARED_LIBS:BOOL=ON \
- -DCMAKE_SKIP_BUILD_RPATH:BOOL=OFF \
- -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF \
- -DCMAKE_INSTALL_RPATH:STRING=${prefix}/lib/${distname} \
- -DVTK_USE_RPATH:BOOL=ON
- # Additional options not required here:
- #-DCMAKE_EXE_LINKER_FLAGS:STRING=-rpath ${prefix}/lib \
- #-DVTK_REQUIRED_EXE_LINKER_FLAGS:STRING=-rpath ${prefix}/lib
-}
-
-
-#variant system_libs description "build with various system libs" {
-# configure.args-append \
-# -DVTK_USE_SYSTEM_EXPAT:BOOL=ON \
-# -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON \
-# -DVTK_USE_SYSTEM_JPEG:BOOL=ON \
-# -DVTK_USE_SYSTEM_LIBPROJ4:BOOL=ON \
-# -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON \
-# -DVTK_USE_SYSTEM_PNG:BOOL=ON \
-# -DVTK_USE_SYSTEM_TIFF:BOOL=ON \
-# -DVTK_USE_SYSTEM_ZLIB:BOOL=ON
-#}
-
-
-# --- Graphics build variants: carbon, cocoa, x11
-
-
-variant carbon conflicts cocoa x11 description "build with Carbon" {
- configure.args-delete \
- -DVTK_USE_CARBON:BOOL=OFF
- configure.args-append \
- -DVTK_USE_CARBON:BOOL=ON
-}
-
-
-variant cocoa conflicts carbon x11 description "build with Cocoa (default)" {
- configure.args-delete \
- -DVTK_USE_COCOA:BOOL=OFF
- configure.args-append \
- -DVTK_USE_COCOA:BOOL=ON
-}
-
-
-variant x11 conflicts cocoa carbon description "build with X11" {
- depends_lib-append port:mesa port:Xft2 port:xorg-libXScrnSaver port:xorg-libXt
- configure.args-delete \
- -DVTK_USE_X:BOOL=OFF
- configure.args-append \
- -DVTK_USE_X:BOOL=ON \
- -DOPENGL_gl_LIBRARY:FILEPATH=${prefix}/lib/libGL.dylib \
- -DOPENGL_glu_LIBRARY:FILEPATH=${prefix}/lib/libGLU.dylib \
- -DOPENGL_INCLUDE_DIR:PATH=${prefix}/include \
- -DVTK_GLEXT_FILE:FILEPATH=${prefix}/include/GL/glext.h \
- -DVTK_GLXEXT_FILE:FILEPATH=${prefix}/include/GL/glxext.h \
- -DVTK_OPENGL_HAS_OSMESA:BOOL=ON
- #-DVTK_USE_MANGLED_MESA:BOOL=OFF
-}
-
-
-# --- "Core" variants for VTK: data, doc, examples, testing
-
-
-variant data description "provide example data in: ${vtkDataPath}" {
- distfiles-append ${vtkDataFile}
- checksums-append ${vtkDataFile} \
- md5 283d40f3e499b3a6102d86855d2ca20b \
- sha1 a710227e7f7f25f481a36d2fa14bda49756bd39d \
- rmd160 160129a0580bd7b70b40d3f7fa61bbd78b586ad8
- configure.args-append \
- -DVTK_DATA_ROOT:PATH=${vtkDataPath}
- post-destroot {
- xinstall -d -o root -g admin -m 0755 ${destroot}/${vtkDataPath}
- system "gnutar --strip-components 1 -C ${destroot}/${vtkDataPath} -zxvf ${distpath}/${vtkDataFile}"
- }
-}
-
-
-variant doc description "provide doxygen documentation in: ${vtkDocPath}" {
- distfiles-append ${vtkDocFile}
- checksums-append ${vtkDocFile} \
- md5 eb8fcaa5fa8bc8f463084f071b2b978b \
- sha1 1a8f8ff20b18bc7ac707846a8ba056b04c827392 \
- rmd160 c657f9ce0850eca1bb0a0d7537f0bcf631132f30
- post-destroot {
- xinstall -d -o root -g admin -m 0755 ${destroot}/${vtkDocPath}
- xinstall -d -o root -g admin -m 0755 ${destroot}/${prefix}/share/doc
- # Add the doxygen documentation
- system "gnutar -C ${destroot}/${vtkDocPath} -zxf ${distpath}/${vtkDocFile}"
- # Add basic documentation
- file copy ${worksrcpath}/README.html ${destroot}/${vtkDocPath}
- file copy ${worksrcpath}/Copyright.txt ${destroot}/${vtkDocPath}
- file copy ${worksrcpath}/Testing.txt ${destroot}/${vtkDocPath}
- # Create a symlink to the $prefix path (not the destroot path); use the
- # system to do this because the $prefix path doesn't exist yet and the
- # tcl ln command fails, whereas this system command will allow it.
- system "ln -s ${vtkDocPath} ${destroot}/${prefix}/share/doc/${distname}"
- }
- # A doxygen dependency would add a lot of complexity to vtk, so
- # just use a download instead of building the docs. Otherwise:
- #depends_build-append port:doxygen
- #configure.args-append -DBUILD_DOCUMENTATION:BOOL=ON
-}
-
-
-proc resetLibLinks { inputPath } {
- # The example and testing binaries are built, but they are not
- # "installed" with the correct rpath settings. All their rpath settings
- # point to the build.dir, so they must be reset using install_name_tool for
- # the destroot install.
- global vtkBuildBinPath vtkLibPath
- foreach f [glob ${inputPath}/*] {
- if [string equal [file extension ${f}] ".app"] {
- set exeName [file rootname [lindex [file split ${f}] end]]
- set f [format "%s/Contents/MacOS/%s" ${f} ${exeName}]
- }
- if [expr [file isfile ${f}] && [file executable ${f}]] {
- foreach dep [exec otool -L ${f}] {
- if [string match "*/libvtk*.dylib" ${dep}] {
- set newdep [strsed ${dep} #${vtkBuildBinPath}#${vtkLibPath}#]
- system "install_name_tool -change ${dep} ${newdep} ${f}"
- }
- }
- }
- }
-}
-
-
-variant examples description "provide VTK examples in: ${vtkExamplePath}" {
- configure.args-delete \
- -DBUILD_EXAMPLES:BOOL=OFF
- configure.args-append \
- -DBUILD_EXAMPLES:BOOL=ON
- post-destroot {
- xinstall -d -o root -g admin -m 0755 ${destroot}/${vtkExamplePath}/bin
- foreach f [glob ${worksrcpath}/Examples/*] {
- file copy ${f} ${destroot}/${vtkExamplePath}/
- }
- # Installations for the example binaries are in ${build.dir}/bin/.
- foreach f [glob ${vtkBuildBinPath}/*] {
- if {![string match {*.dylib} ${f}]} {
- file copy ${f} ${destroot}/${vtkExamplePath}/bin/
- }
- }
- if [variant_isset shared] {
- resetLibLinks ${destroot}/${vtkExamplePath}/bin
- }
- }
-}
-
-
-variant testing requires data description "provide VTK tests in: ${vtkTestingPath}" {
- configure.args-delete \
- -DBUILD_TESTING:BOOL=OFF
- configure.args-append \
- -DBUILD_TESTING:BOOL=ON
- post-destroot {
- xinstall -d -o root -g admin -m 0755 ${destroot}/${vtkTestingPath}/bin
- # Copy the testing source tree
- foreach d [exec find ${worksrcpath} -type d -name Testing] {
- regsub ${worksrcpath} ${d} ${destroot}${vtkTestingPath} testpath;
- regsub Testing ${testpath} "" testpath;
- if {![string match *Examples* ${d}]} {
- xinstall -d -o root -g admin -m 0755 ${testpath}
- file copy ${d} ${testpath}
- }
- }
- # Installations for the test binaries are in ${build.dir}/bin/.
- foreach f [glob ${vtkBuildBinPath}/*Test*] {
- if {![string match {*.dylib} ${f}]} {
- file copy ${f} ${destroot}/${vtkTestingPath}/bin/
- }
- }
- if [variant_isset shared] {
- resetLibLinks ${destroot}/${vtkTestingPath}/bin
- }
- }
-}
-
-
-# --- Language wrappers: java, python, tcl
-#
-# VTK has its own language parser, it doesn't depend on swig or cableswig (as
-# of May 2009). Since the VTK CVS repository and source distributions include
-# the output of byacc and flex, there is no need for a dependency on these
-# to build VTK. If that were to change at some point, use byacc and not bison,
-# i.e.: depends_build-append port:byacc port:flex
-
-
-variant java description "java wrapper" {
- configure.args-delete \
- -DVTK_WRAP_JAVA:BOOL=OFF
- configure.args-append \
- -DVTK_WRAP_JAVA:BOOL=ON
- #
- # All of the following were detected automatically by cmake. They use the
- # system java framework. To replace them with a MacPorts java, reset
- # these variables and add the required dependencies.
- #
- #JAVA_ARCHIVE:FILEPATH=/usr/bin/jar
- #JAVA_AWT_INCLUDE_PATH:FILEPATH=/System/Library/Frameworks/JavaVM.framework/Headers
- #JAVA_AWT_LIBRARY:FILEPATH=-framework JavaVM
- #JAVA_COMPILE:FILEPATH=/usr/bin/javac
- #JAVA_INCLUDE_PATH:PATH=/System/Library/Frameworks/JavaVM.framework/Headers
- #JAVA_INCLUDE_PATH2:PATH=/System/Library/Frameworks/JavaVM.framework/Headers
- #JAVA_JVM_LIBRARY:FILEPATH=-framework JavaVM
- #JAVA_RUNTIME:FILEPATH=/usr/bin/java
- post-destroot {
- if [file exists ${destroot}${prefix}/bin/vtkWrapJava] {
- move ${destroot}${prefix}/bin/vtkWrapJava ${destroot}${prefix}/bin/vtk-${branch}-WrapJava
- ln -f -s vtk-${branch}-WrapJava ${destroot}${prefix}/bin/vtkWrapJava
- }
- if [file exists ${destroot}${prefix}/bin/vtkParseJava] {
- move ${destroot}${prefix}/bin/vtkParseJava ${destroot}${prefix}/bin/vtk-${branch}-ParseJava
- ln -f -s vtk-${branch}-ParseJava ${destroot}${prefix}/bin/vtkParseJava
- }
- }
-}
-
-
-# It might be possible to install vtk for both python25 and python26 (etc.), but
-# that may require separate ports because the build and install process for vtk
-# can only work with one at a time. The build is a lengthy process and there
-# may be, as yet, no easy way to run a post-build wrapper with a dependency on a
-# prior install of vtk. At present, if there are separate ports of vtk for
-# different versions of python, each port will incur a lengthy build process.
-# Moreover, it's not clear that the install process can be specifically selected
-# for python only, without also installing all of vtk. For that reason,
-# it may be best to avoid separate ports of vtk for each python version. The
-# preference should be to install vtk for the latest compatible version of
-# python.
-#
-# Hence, these variants for py25 and py26 must conflict. At some point, the
-# py25 variant could disappear. Likewise py26 could disappear if vtk works in
-# python 3.x
-
-# Note: currently vtkpython depends on libutil and finds it in:
-# // Utility library needed for vtkpython
-# PYTHON_UTIL_LIBRARY:FILEPATH=/usr/lib/libutil.dylib
-# I don't see a port for libutil. If one arises, it should become a
-# dependency for any python variant.
-#
-#// Extra libraries to link when linking to python (such as "z" for zlib).
-#// Separate multiple libraries with semicolons.
-#PYTHON_EXTRA_LIBS:STRING=
-#
-
-# A procedure to set or reset python variables (defaults to python26).
-# This is called from within pyXY variants like this: setPython X Y
-proc setPython { {major 2} {minor 6} } {
- global pyVer python pyPort pyBin pyLib pyInc pyFrame pySite
- set pyVer ${major}.${minor}
- set python python${pyVer}
- set pyPort python${major}${minor}
- set pyFrame Library/Frameworks/Python.framework/Versions/${pyVer}
- set pyLib ${pyFrame}/Python
- #set pyLib lib/${python}
- set pyBin bin/${python}
- set pyInc include/${python}
- set pySite lib/${python}/site-packages
- if [string match "2.6" ${pyVer}] {
- # python2.6 is a framework installation, whereas installs for 2.4
- # and 2.5 contain symlinks in the framework path to the prefix path;
- # those symlinks can break the file_map stage of port activation.
- set pyBin ${pyFrame}/bin/${python}
- set pyInc ${pyFrame}/include/${python}
- set pySite ${pyFrame}/lib/${python}/site-packages
- }
-}
-# Initialize the global variables for python26
-setPython
-
-proc pyPostDestroot { {major 2} {minor 6} } {
- global pyVer python pyPort pyBin pyLib pyInc pyFrame pySite
- global branch destroot prefix
- global vtkBuildBinPath vtkLibPath
- setPython $major $minor
- # Reset the name of the vtkpython binaries; create symlinks to the
- # version specific binaries, in case other apps look for them.
- if [file exists ${destroot}${prefix}/bin/vtkpython] {
- move ${destroot}${prefix}/bin/vtkpython ${destroot}${prefix}/bin/vtk-${branch}-${pyPort}
- ln -f -s vtk-${branch}-${pyPort} ${destroot}${prefix}/bin/vtkpython
- }
- if [file exists ${destroot}${prefix}/bin/pvtkpython] {
- move ${destroot}${prefix}/bin/pvtkpython ${destroot}${prefix}/bin/pvtk-${branch}-${pyPort}
- ln -f -s pvtk-${branch}-${pyPort} ${destroot}${prefix}/bin/pvtkpython
- }
- if [file exists ${destroot}${prefix}/bin/vtkWrapPython] {
- move ${destroot}${prefix}/bin/vtkWrapPython ${destroot}${prefix}/bin/vtk-${branch}-WrapPython${pyVer}
- ln -f -s vtk-${branch}-WrapPython${pyVer} ${destroot}${prefix}/bin/vtkWrapPython
- }
- if [file exists ${destroot}${prefix}/bin/vtkWrapPythonInit] {
- move ${destroot}${prefix}/bin/vtkWrapPythonInit ${destroot}${prefix}/bin/vtk-${branch}-WrapPython${pyVer}Init
- ln -f -s vtk-${branch}-WrapPython${pyVer}Init ${destroot}${prefix}/bin/vtkWrapPythonInit
- }
- ################################################################################
- # Is it possible to change the python site-package name and have it all work OK?
- # from: .../lib/python2.5/site-packages/vtk
- # to: .../lib/python2.5/site-packages/vtk-5.4
- ################################################################################
- # Reset the RPATH for all the python .so files
- set vtkSitePackage ${destroot}${prefix}/${pySite}/vtk
- foreach f [glob ${vtkSitePackage}/*.so] {
- foreach dep [exec otool -L ${f}] {
- if [string match "*libvtk*.dylib" ${dep}] {
- set newdep [strsed ${dep} #${vtkBuildBinPath}#${vtkLibPath}#]
- system "install_name_tool -change ${dep} ${newdep} ${f}"
- }
- }
- }
-}
-
-variant py25 conflicts py26 requires shared description "python 2.5 wrapper" {
- # Note that python25 is NOT installed as a framework (May 2009)
- setPython 2 5
- depends_lib-append \
- port:${pyPort}
- configure.args-delete \
- -DVTK_WRAP_PYTHON:BOOL=OFF
- configure.args-append \
- -DVTK_WRAP_PYTHON:BOOL=ON \
- -DVTK_NO_PYTHON_THREADS:BOOL=OFF \
- -DPYTHON_INCLUDE_PATH:FILEPATH=${prefix}/${pyInc} \
- -DPYTHON_LIBRARY:FILEPATH=${prefix}/${pyLib} \
- -DPYTHON_DEBUG_LIBRARY:FILEPATH=${prefix}/${pyLib} \
- -DPYTHON_EXECUTABLE:FILEPATH=${prefix}/${pyBin} \
- -DVTK_PYTHON_SETUP_ARGS:STRING='--prefix=${prefix} --root=${destroot}'
- # The VTK_PYTHON_SETUP_ARGS *MUST* be in single quotes
- post-destroot {
- pyPostDestroot 2 5
- }
-}
-
-variant py26 conflicts py25 requires shared description "python 2.6 wrapper" {
- # Note that python26 is installed as a framework (May 2009)
- setPython 2 6
- depends_lib-append \
- port:${pyPort}
- configure.args-delete \
- -DVTK_WRAP_PYTHON:BOOL=OFF
- configure.args-append \
- -DVTK_WRAP_PYTHON:BOOL=ON \
- -DVTK_NO_PYTHON_THREADS:BOOL=OFF \
- -DPYTHON_INCLUDE_PATH:FILEPATH=${prefix}/${pyInc} \
- -DPYTHON_LIBRARY:FILEPATH=${prefix}/${pyLib} \
- -DPYTHON_DEBUG_LIBRARY:FILEPATH=${prefix}/${pyLib} \
- -DPYTHON_EXECUTABLE:FILEPATH=${prefix}/${pyBin} \
- -DVTK_PYTHON_SETUP_ARGS:STRING='--prefix=${prefix}/${pyFrame} --root=${destroot}'
- #configure.args-append \
- -DPYTHON_INCLUDE_PATH:FILEPATH=${prefix}/${pyframe}/Headers \
- -DPYTHON_LIBRARY:FILEPATH=${prefix}/lib/lib${python}.dylib \
- -DPYTHON_DEBUG_LIBRARY:FILEPATH=${prefix}/lib/lib${python}.dylib \
- -DPYTHON_EXECUTABLE:FILEPATH=${prefix}/bin/${python} \
- -DVTK_PYTHON_SETUP_ARGS:STRING='--prefix=${prefix}/${pyframe} --root=${destroot}'
- # For 2.6, it needs to be installed into ${pyframe}/lib/${python}/site-packages
- # The VTK_PYTHON_SETUP_ARGS *MUST* be in single quotes
- post-destroot {
- pyPostDestroot 2 6
- }
-}
-
-
-proc tclPostDestroot {} {
- global branch destroot prefix
- # Reset the name of the vtk tcl binaries; create symlinks to the
- # version specific installation, in case other apps look for the binaries by
- # a default name; these symlinks might conflict across vtk versions, may
- # require a vtk-select port to set them if multiple vtk versions are
- # installed.
- if [file exists ${destroot}${prefix}/bin/vtk] {
- move ${destroot}${prefix}/bin/vtk ${destroot}${prefix}/bin/vtk-${branch}-tcl
- ln -f -s vtk-${branch}-tcl ${destroot}${prefix}/bin/vtk
- }
- if [file exists ${destroot}${prefix}/bin/pvtk] {
- move ${destroot}${prefix}/bin/pvtk ${destroot}${prefix}/bin/pvtk-${branch}-tcl
- ln -f -s pvtk-${branch}-tcl ${destroot}${prefix}/bin/pvtk
- }
- if [file exists ${destroot}${prefix}/bin/vtkWrapTcl] {
- move ${destroot}${prefix}/bin/vtkWrapTcl ${destroot}${prefix}/bin/vtk-${branch}-WrapTcl
- ln -f -s vtk-${branch}-WrapTcl ${destroot}${prefix}/bin/vtkWrapTcl
- }
- if [file exists ${destroot}${prefix}/bin/vtkWrapTclInit] {
- move ${destroot}${prefix}/bin/vtkWrapTclInit ${destroot}${prefix}/bin/vtk-${branch}-WrapTclInit
- ln -f -s vtk-${branch}-WrapTclInit ${destroot}${prefix}/bin/vtkWrapTclInit
- }
-}
-
-variant tcl conflicts tcl_apple description "tcl wrapper (MacPorts tcl/tk)" {
- depends_lib-append \
- port:tcl \
- port:tk
- configure.args-delete \
- -DVTK_WRAP_TCL:BOOL=OFF
- configure.args-append \
- -DVTK_WRAP_TCL:BOOL=ON \
- -DTCL_TCLSH:FILEPATH=${prefix}/bin/tclsh \
- -DTCL_INCLUDE_PATH:PATH=${prefix}/include \
- -DTCL_LIBRARY:FILEPATH=${prefix}/lib/libtcl.dylib \
- -DTK_INCLUDE_PATH:PATH=${prefix}/include \
- -DTK_LIBRARY:FILEPATH=${prefix}/lib/libtk.dylib
- # VTK_TCL_TK_STATIC is not specified here, it's OFF by default.
- post-destroot {
- tclPostDestroot
- }
-}
-
-variant tcl_apple conflicts tcl description "tcl wrapper (Apple tcl/tk framework)" {
- configure.args-delete \
- -DVTK_WRAP_TCL:BOOL=OFF
- configure.args-append \
- -DVTK_WRAP_TCL:BOOL=ON \
- -DTCL_TCLSH:FILEPATH=/usr/bin/tclsh \
- -DTCL_INCLUDE_PATH:PATH=/System/Library/Frameworks/Tcl.framework/Headers \
- -DTCL_LIBRARY:FILEPATH=/System/Library/Frameworks/tcl.framework \
- -DTK_INCLUDE_PATH:PATH=/System/Library/Frameworks/Tk.framework/Headers \
- -DTK_LIBRARY:FILEPATH=/System/Library/Frameworks/tk.framework
- post-destroot {
- tclPostDestroot
- }
-}
-
-
-# --- Database variants
-
-
-variant mysql5 description "build the MySQL driver for vtkSQLDatabase" {
- depends_lib-append \
- path:bin/mysql_config5:mysql5 \
- port:zlib
- pre-configure {
- # Find the directory containing mysql.h
- set includePath [exec ${prefix}/bin/mysql_config5 --include]
- set includePath [string trim ${includePath} -I ]
- #if [ exec find $includePath -name "mysql.h" ]
- set libs [exec ${prefix}/bin/mysql_config5 --libs]
- set libIdx [lsearch -regex $libs "${prefix}/lib/mysql"]
- set libPath [lindex $libs $libIdx]
- set libPath [string trim ${libPath} -L ]
- set libFile [exec find ${libPath} -name "libmysqlclient.dylib"]
- configure.args-append \
- -DVTK_USE_MYSQL:BOOL=ON \
- -DMYSQL_INCLUDE_DIRECTORIES:PATH=${includePath} \
- -DMYSQL_LIBRARY:FILEPATH=${libFile} \
- -DMYSQL_EXTRA_LIBRARIES:FILEPATH=${prefix}/lib/libz.dylib
- # A URL for a MySQL server of the form
- # mysql://[[username[:password]@]hostname[:port]]/[dbname]
- #VTK_MYSQL_TEST_URL:STRING=
- }
-}
-
-
-variant pgsql83 description "build the PostgreSQL 8.3 driver for vtkSQLDatabase" {
- depends_lib-append \
- path:lib/postgresql83/bin/pg_config:postgresql83
- pre-configure {
- set pgconf [exec ${prefix}/lib/postgresql83/bin/pg_config ]
- set includeIdx [lsearch -regex ${pgconf} "^INCLUDEDIR"]
- set includePath [lindex ${pgconf} [expr ${includeIdx} + 2]]
- set libIdx [lsearch -regex $pgconf "^LIBDIR"]
- set libPath [lindex $pgconf [expr $libIdx + 2]]
- set libFile [exec find ${libPath} -name "libpq.dylib"]
- configure.args-append \
- -DVTK_USE_POSTGRES:BOOL=ON \
- -DPOSTGRES_INCLUDE_DIRECTORIES:PATH=${includePath} \
- -DPOSTGRES_LIBRARIES:FILEPATH=${libFile}
- #// A URL for a PostgreSQL server of the form
- #// psql://[[username[:password]@]hostname[:port]]/[dbname]
- #VTK_PSQL_TEST_URL:STRING=
- }
-}
-
-
-variant odbc description "build the ODBC database interface" {
- depends_lib-append \
- port:unixODBC
- configure.args-append \
- -DVTK_USE_ODBC:BOOL=ON \
- -DODBC_INCLUDE_DIRECTORIES:PATH=${prefix}/include \
- -DODBC_LIBRARY:FILEPATH=${prefix}/lib/libodbc.dylib
- #// A data source name (DSN) for an ODBC database connection to use for testing.
- #-DVTK_ODBC_TEST_DSN:STRING=
-}
-
-
-# --- Miscellaneous variants
-
-
-variant mpi description "use message passing interface (mpich2) for parallel support" {
- set nCPU [expr [exec sysctl -n hw.logicalcpu_max]]
- depends_lib-append \
- port:mpich2
- configure.args-append \
- -DVTK_USE_MPI:BOOL=ON \
- -DMPI_COMPILER:FILEPATH=${prefix}/bin/mpicxx \
- -DMPIEXEC:FILEPATH=${prefix}/bin/mpiexec \
- -DMPIEXEC_MAX_NUMPROCS:STRING=${nCPU}
- # If the MPI_LIBRARY and-or MPI_INCLUDE_PATH are set, then the
- # FindMPI module will not determine all the cmake variables
- # automatically (don't set them). It should be sufficient to set the
- # MPI_COMPILER and leave the rest to the FindMPI module, see:
- # /opt/local/share/cmake-2.6/Modules/FindMPI.cmake
-}
-
-
-variant boost description "use Boost libraries - www.boost.org" {
- depends_lib-append \
- port:boost
- configure.args-append \
- -DVTK_USE_BOOST:BOOL=ON
- # All determined automatically:
- #Boost_INCLUDE_DIR:PATH=/opt/local/include
- #Boost_LIBRARY_DIRS:FILEPATH=/opt/local/lib
- #Boost_USE_MULTITHREADED:BOOL=ON
-}
-
-
-
-
-#variant qvtk "build QVTK widget and plugin for Qt" {
-# # Dependencies?
-# configure.args-append \
-# -DVTK_USE_QVTK:BOOL=ON
-#}
-
-
-#variant cg description "build pixel and vertex shader support for Cg" {
-# # Require a new port for cg_toolkit, see downloads at
-# # http://developer.download.nvidia.com/cg/Cg_2.2/Cg-2.2_April2009.dmg
-# depends_build-append \
-# port:cg_toolkit
-# configure.args-append \
-# -DVTK_USE_CG_SHADERS:BOOL=ON
-#}
-
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090709/a6ad6c36/attachment-0001.html>
More information about the macports-changes
mailing list