summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c29ccb933cf2875fc1984bbf3d407a526cfc73f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Maintainer: eolianoe <eolianoe [at] gmail [DoT] com>
# Contributor: Ray Rashif <schiv@archlinux.org>
# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >

# Based on the PKGBUILD of vtk in community

pkgname='vtk-visit'
_pkgname=vtk
_PKGNAME=VTK
pkgver=6.1.0
pkgrel=6
pkgdesc='A software system for 3D computer graphics, image processing, and visualization (legacy version for VisIt).'
arch=('i686' 'x86_64')
url='http://www.vtk.org/'
license=('BSD')
depends=('gcc-libs')
makedepends=('boost' 'cmake' 'ninja'
             'java-environment' 'doxygen' 'gnuplot'
             'tk' 'wget'
             'python2-matplotlib' 'python2-twisted' 'python2-mpi4py' 'python2-autobahn'
             'unixodbc' 'gdal' 'openmpi' 'mariadb' 'glew' 'gl2ps'
             'ffmpeg' 'lesstif' 'qt5-webkit' 'qt5-tools' 'jsoncpp')
optdepends=('python2: python bindings'
            'java-runtime: java bindings'
            'tk: tcl bindings'
            'gnuplot: plotting tools'
            'graphviz: drawing tools'
            'python2-matplotlib: for Matplotlib rendering'
            'python2-twisted: for vtkWeb'
            'python2-autobahn: for vtkWeb'
            'openmpi: OpenMPI support'
            'python2-mpi4py: OpenMPI python support'
            'unixodbc'
            'glew'
            'gl2ps'
            'gdal'
            'mariadb')
provides=('vtk=6.1.0')
source=("http://www.vtk.org/files/release/${pkgver:0:3}/${_PKGNAME}-${pkgver}.tar.gz"
        'mesa.patch' 'vtk-type.patch' 'gdal2.patch' 'gcc6.patch' 'ffmpeg3_compat.patch')
sha256sums=('bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34'
            '47fee3346c0d751ef58d1049c2c2160f741b3122058c0f0482ff6153c6c2f3f8'
            '32a2a771cc6b0aa8c98399fa0b0294e2a1f98c15a5d7ad9cccf2bc50c68da492'
            '57ae622a7e281887f7948f4d5a53ff0e0301bbdf70594691dd74f20f14b6e882'
            '44ed94ca9fcc073f93938f44050a8af883f211b126fafaf860fa1be5af60c769'
            'fb1c2b404193fce1383c5b7fb18b6fec69fc3126a488c3903a51d8aa5528a9c5')

prepare() {
  cd "${srcdir}/${_PKGNAME}-${pkgver}"

  # fix compilation errors:
  patch -Np1 -i "${srcdir}/mesa.patch"
  patch -Np1 -i "${srcdir}/vtk-type.patch"
  patch -Np1 -i "${srcdir}/gdal2.patch"
  patch -Np1 -i "${srcdir}/gcc6.patch"
  patch -Np1 -i "${srcdir}/ffmpeg3_compat.patch"

  # Use python2
  sed -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
      -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
      -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
      -i $(find . -name '*.py')

  # Out of source build
  cd "${srcdir}"
  rm -rf -- build
  mkdir -p build
}

build() {
  cd "${srcdir}/build"

  # To help cmake find java
  export JAVA_HOME=/usr/lib/jvm/default

  # Flags to enable using system libs
  local vtk_system_flags=""
  for lib in AUTHOBAHN EXPAT FREETYPE GLEW GL2PS JPEG JSONCPP LIBXML2 MPI4PY OGGTHEORA PNG SIX TIFF TWISTED ZLIB ZOPE; do
    vtk_system_flags+="-DVTK_USE_SYSTEM_${lib}:BOOL=ON "
  done

  cmake \
    -GNinja \
    -Wno-dev \
    -DBUILD_SHARED_LIBS:BOOL=ON \
    -DCMAKE_BUILD_TYPE:STRING=Release \
    -DCMAKE_INSTALL_PREFIX:FILEPATH=/opt/${_pkgname}-${pkgver} \
    -DPYTHON_EXECUTABLE:PATH=/usr/bin/python2 \
    -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python2.7 \
    -DPYTHON_LIBRARY:PATH=/usr/lib/libpython2.7.so \
    -DPYTHON_VERSION:STRING=2 \
    -DVTK_BUILD_ALL_MODULES:BOOL=ON \
    -DVTK_USE_FFMPEG_ENCODER:BOOL=ON \
    ${vtk_system_flags} \
    -DVTK_QT_VERSION:STRING=5 \
    -DVTK_WRAP_JAVA:BOOL=ON \
    -DVTK_WRAP_PYTHON:BOOL=ON \
    -DVTK_WRAP_TCL:BOOL=ON \
    "${srcdir}/${_PKGNAME}-${pkgver}"

    ninja ${MAKEFLAGS}
}

package() {
  cd "${srcdir}/build"

  DESTDIR="${pkgdir}" ninja install

  # Install license
  install -dv "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 "${srcdir}/${_PKGNAME}-$pkgver/Copyright.txt"\
    "${pkgdir}/usr/share/licenses/${pkgname}"
}