| 1 | # -*- 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 |
|---|
| 2 | # $Id: Portfile 48149 2009-03-15 10:00:31Z takeshi@macports.org $ |
|---|
| 3 | |
|---|
| 4 | PortSystem 1.0 |
|---|
| 5 | |
|---|
| 6 | name vtk5 |
|---|
| 7 | version 5.2.1 |
|---|
| 8 | revision 1 |
|---|
| 9 | set branch [join [lrange [split ${version} .] 0 1] .] |
|---|
| 10 | categories graphics devel |
|---|
| 11 | maintainers nomaintainer |
|---|
| 12 | description 3D visualization toolkit |
|---|
| 13 | long_description an open source, freely available software system \ |
|---|
| 14 | for 3D computer graphics, image processing, and visualization \ |
|---|
| 15 | used by thousands of researchers and developers around the world. \ |
|---|
| 16 | VTK consists of a C++ class library, and several interpreted \ |
|---|
| 17 | interface layers including Tcl/Tk, Java, and Python. |
|---|
| 18 | |
|---|
| 19 | homepage http://www.vtk.org/ |
|---|
| 20 | platforms darwin freebsd |
|---|
| 21 | master_sites http://www.vtk.org/files/release/${branch}/ |
|---|
| 22 | checksums vtk-${version}.tar.gz md5 d59520d5f6c49c8b4e3b9227e341b19f \ |
|---|
| 23 | vtk-${version}.tar.gz sha1 e08ee5c9d738c2fe774fdb3111818b9899a7b751 \ |
|---|
| 24 | vtk-${version}.tar.gz rmd160 c6cdee0c76e243d21d802690f138faab1c6eb863\ |
|---|
| 25 | vtkdata-${version}.tar.gz md5 3cd99917ab1ec3ef369dd40db74b93b1 \ |
|---|
| 26 | vtkdata-${version}.tar.gz sha1 a625f4934d0fbaad2242ae2bc920084775438933 \ |
|---|
| 27 | vtkdata-${version}.tar.gz rmd160 5628fec27673d99426922dcd32b8d66a0d86c9ec |
|---|
| 28 | |
|---|
| 29 | depends_build bin:cmake:cmake \ |
|---|
| 30 | port:readline |
|---|
| 31 | distfiles vtk-${version}.tar.gz \ |
|---|
| 32 | vtkdata-${version}.tar.gz |
|---|
| 33 | distname VTK |
|---|
| 34 | |
|---|
| 35 | use_parallel_build yes |
|---|
| 36 | |
|---|
| 37 | post-extract { |
|---|
| 38 | delete ${worksrcpath}/Utilities/vtktiff/tif_fax3sm.c |
|---|
| 39 | } |
|---|
| 40 | |
|---|
| 41 | configure { system "cd ${worksrcpath} && ${configure.env} cmake ${configure.args} ${worksrcpath}" } |
|---|
| 42 | configure.args \ |
|---|
| 43 | -DBUILD_SHARED_LIBS:BOOL=ON \ |
|---|
| 44 | -DVTK_USE_RPATH:BOOL=ON \ |
|---|
| 45 | -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \ |
|---|
| 46 | -DCMAKE_INSTALL_RPATH:STRING=${prefix}/lib/vtk-5.2 \ |
|---|
| 47 | -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib/vtk-5.2 \ |
|---|
| 48 | -DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \ |
|---|
| 49 | -DCMAKE_LIBRARY_PATH:PATH=${prefix}/lib \ |
|---|
| 50 | -DCMAKE_INCLUDE_PATH:PATH=${prefix}/include \ |
|---|
| 51 | -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ |
|---|
| 52 | -DVTK_INSTALL_PREFIX:PATH=${prefix} \ |
|---|
| 53 | -DVTK_USE_HYBRID:BOOL=ON \ |
|---|
| 54 | -DVTK_USE_TK:BOOL=OFF \ |
|---|
| 55 | -DVTK_WRAP_TCL:BOOL=OFF \ |
|---|
| 56 | -DTK_INCLUDE_PATH=${prefix}/include \ |
|---|
| 57 | -DTK_LIBRARY=${prefix}/lib/libtk.dylib \ |
|---|
| 58 | -DVTK_USE_CARBON:BOOL=OFF \ |
|---|
| 59 | -DVTK_USE_COCOA:BOOL=ON \ |
|---|
| 60 | -DVTK_DATA_ROOT:PATH=${prefix}/share/VTKData \ |
|---|
| 61 | -DVTK_USE_GL2PS:BOOL=ON \ |
|---|
| 62 | -DVTK_WRAP_PYTHON:BOOL=OFF |
|---|
| 63 | |
|---|
| 64 | configure.env \ |
|---|
| 65 | LDFLAGS="-L${prefix}/lib" \ |
|---|
| 66 | CPPFLAGS="-I${prefix}/include" |
|---|
| 67 | |
|---|
| 68 | post-configure { |
|---|
| 69 | reinplace "s|c++|c++ -L${prefix}/lib |" \ |
|---|
| 70 | ${worksrcpath}/Infovis/Testing/Cxx/CMakeFiles/InfovisCxxTests.dir/link.txt \ |
|---|
| 71 | ${worksrcpath}/IO/Testing/Cxx/CMakeFiles/IOCxxTests.dir/link.txt \ |
|---|
| 72 | ${worksrcpath}/Views/Testing/Cxx/CMakeFiles/ViewsCxxTests.dir/link.txt |
|---|
| 73 | |
|---|
| 74 | if {[variant_isset tcltk]} { |
|---|
| 75 | reinplace "s|c++|c++ -L${prefix}/lib |" \ |
|---|
| 76 | ${worksrcpath}/Wrapping/Tcl/CMakeFiles/vtk.dir/link.txt |
|---|
| 77 | } |
|---|
| 78 | } |
|---|
| 79 | |
|---|
| 80 | build.env-append DYLD_LIBRARY_PATH=${worksrcpath}/bin |
|---|
| 81 | |
|---|
| 82 | platform darwin 8 { |
|---|
| 83 | configure.env-append CC=/usr/bin/gcc-4.0 CPP=/usr/bin/cpp-4.0 MACOSX_DEPLOYMENT_TARGET=10.4 |
|---|
| 84 | } |
|---|
| 85 | |
|---|
| 86 | platform darwin 9 { |
|---|
| 87 | configure.env-append MACOSX_DEPLOYMENT_TARGET=10.5 |
|---|
| 88 | } |
|---|
| 89 | |
|---|
| 90 | default_variants +x11 +tcltk +python |
|---|
| 91 | |
|---|
| 92 | variant x11 conflicts carbon description {use X11} { |
|---|
| 93 | depends_build-append port:xorg-libs |
|---|
| 94 | configure.args-delete -DVTK_USE_COCOA:BOOL=ON |
|---|
| 95 | configure.args-append \ |
|---|
| 96 | -DVTK_USE_COCOA:BOOL=OFF \ |
|---|
| 97 | -DVTK_USE_X:BOOL=ON \ |
|---|
| 98 | -DOPENGL_gl_LIBRARY:FILEPATH=${x11prefix}/lib/libGL.dylib \ |
|---|
| 99 | -DOPENGL_glu_LIBRARY:FILEPATH=${x11prefix}/lib/libGLU.dylib |
|---|
| 100 | } |
|---|
| 101 | |
|---|
| 102 | variant tcltk conflicts carbon description {build with Tcl wrappers and Tk support} { |
|---|
| 103 | configure.args-delete \ |
|---|
| 104 | -DVTK_USE_TK:BOOL=OFF \ |
|---|
| 105 | -DVTK_WRAP_TCL:BOOL=OFF |
|---|
| 106 | configure.args-append \ |
|---|
| 107 | -DVTK_USE_TK:BOOL=ON \ |
|---|
| 108 | -DVTK_WRAP_TCL:BOOL=ON \ |
|---|
| 109 | -DTCL_INCLUDE_PATH=${prefix}/include \ |
|---|
| 110 | -DTCL_LIBRARY=${prefix}/lib/libtcl.dylib |
|---|
| 111 | } |
|---|
| 112 | |
|---|
| 113 | variant carbon conflicts x11 tcltk description {Use Carbon. Allows embedding VTK within qt4-mac (and py25-pyqt4 when used with Python)} { |
|---|
| 114 | configure.args-delete \ |
|---|
| 115 | -DVTK_USE_COCOA:BOOL=ON \ |
|---|
| 116 | -DVTK_USE_CARBON:BOOL=OFF |
|---|
| 117 | configure.args-append \ |
|---|
| 118 | -DVTK_USE_COCOA:BOOL=OFF \ |
|---|
| 119 | -DVTK_USE_CARBON:BOOL=ON |
|---|
| 120 | } |
|---|
| 121 | |
|---|
| 122 | variant python description {builds python wrappers} { |
|---|
| 123 | depends_build-append port:python25 |
|---|
| 124 | configure.args-delete \ |
|---|
| 125 | -DVTK_WRAP_PYTHON:BOOL=OFF |
|---|
| 126 | configure.args-append \ |
|---|
| 127 | -DPYTHON_DEBUG_LIBRARY:FILEPATH=${prefix}/lib/libpython2.5.dylib \ |
|---|
| 128 | -DPYTHON_EXECUTABLE:FILEPATH=${prefix}/bin/python2.5 \ |
|---|
| 129 | -DPYTHON_INCLUDE_PATH:FILEPATH=${prefix}/include/python2.5 \ |
|---|
| 130 | -DPYTHON_LIBRARY:FILEPATH=${prefix}/lib/libpython2.5.dylib \ |
|---|
| 131 | -DVTK_WRAP_PYTHON:BOOL=ON \ |
|---|
| 132 | -DVTK_INSTALL_NO_PYTHON:BOOL=ON |
|---|
| 133 | } |
|---|
| 134 | |
|---|
| 135 | set vtkdest ${destroot}${prefix}/share/doc/${name} |
|---|
| 136 | |
|---|
| 137 | post-destroot { |
|---|
| 138 | if {[variant_isset python]} { |
|---|
| 139 | file mkdir ${destroot}${prefix}/lib/python2.5/site-packages |
|---|
| 140 | system "cd ${worksrcpath}/Wrapping/Python; ${prefix}/bin/python2.5 setup.py install --prefix=${prefix} --root=${destroot}" |
|---|
| 141 | } |
|---|
| 142 | |
|---|
| 143 | xinstall -d -m 0755 ${vtkdest} |
|---|
| 144 | file copy ${worksrcpath}/README.html ${vtkdest} |
|---|
| 145 | file copy ${worksrcpath}/Copyright.txt ${vtkdest} |
|---|
| 146 | file copy ${worksrcpath}/Testing.txt ${vtkdest} |
|---|
| 147 | |
|---|
| 148 | # Provide some examples |
|---|
| 149 | file copy ${worksrcpath}/Examples ${vtkdest} |
|---|
| 150 | foreach x {CommonCxxTests FilteringCxxTests GenericFilteringCxxTests GraphicsCxxTests IOCxxTests} { file copy ${worksrcpath}/bin/$x ${vtkdest}/Examples } |
|---|
| 151 | foreach x {ImagingCxxTests RenderingCxxTests TestCxxFeatures TestInstantiator VTKBenchMark VolumeRenderingCxxTests WidgetsCxxTests} { file copy ${worksrcpath}/bin/$x ${vtkdest}/Examples } |
|---|
| 152 | |
|---|
| 153 | # Provide data files |
|---|
| 154 | system "tar -C ${destroot}${prefix}/share -xzvf ${distpath}/vtkdata-${version}.tar.gz" |
|---|
| 155 | } |
|---|