summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3aecfedaf1d895bdc21a262f5c153855f5058cec (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
# Maintainer: bartus <arch-user-repoᘓbartus.33mail.com>
# Maintainer: Bruno Pagani <archange@archlinux.org>
# Maintainer: Mathieu Westphal <mathieu.westphal@kitware.com>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: <xantares09@hotmail.com>
# shellcheck disable=SC2034,SC2154,SC2164

_pkg=paraview
_mpi=openmpi
pkgname=${_pkg}-opt
#-${_mpi}
pkgver=5.9.1
pkgrel=3
pkgdesc="Parallel Visualization application using VTK (${_mpi} version): installed to /opt/"
arch=(x86_64)
provides=("${_pkg}")
conflicts=("${_pkg}")
url="https://www.paraview.org"
license=(BSD custom)
depends=(boost-libs qt5-tools qt5-x11extras qt5-svg intel-tbb openmpi ffmpeg
         adios2 liblas ospray pdal python-numpy cgns protobuf
         double-conversion expat freetype2 gdal gl2ps glew hdf5 libjpeg jsoncpp
         libjsoncpp.so libharu libxml2 lz4 xz python-mpi4py netcdf libogg
         libpng pugixml libtheora libtiff zlib)
optdepends=(python-matplotlib python-pandas)
makedepends=(cmake boost mesa gcc-fortran ninja qt5-tools qt5-xmlpatterns eigen utf8cpp)
# pegtl https://gitlab.kitware.com/vtk/vtk/-/issues/18151
source=(${url}/files/v${pkgver:0:3}/ParaView-v${pkgver/R/-R}.tar.xz
        vtk-comp-missing-includes.patch
        paraview.sh)
sha256sums=('0d486cb6fbf55e428845c9650486f87466efcb3155e40489182a7ea85dfd4c8d'
            'c400753e386601008a2ed0269a58be76f06cc3c084f2dd48e87f6f04e8eca77f'
            'ed1d597139473f24441e5c10038e988d64ab1d904e0c5ecaf24069734989bff4')

prepare() {
    cd ParaView-v${pkgver/R/-R}
    # We have a patched libharu
    sed -i "s|2.4.0|2.3.0|" VTK/ThirdParty/libharu/CMakeLists.txt
    # Missing includes with GCC11
    patch -p1 -d VTK <../vtk-comp-missing-includes.patch
    # Fix build with HDF5 1.12.1, https://gitlab.kitware.com/vtk/vtk/-/issues/18265
    sed -i 's/typedef int hid_t;/typedef int64_t hid_t;/' VTK/ThirdParty/xdmf3/vtkxdmf3/core/XdmfHDF5Controller.hpp
}

build() {
  # LICENSEDIR blocked by https://gitlab.kitware.com/vtk/vtk/-/issues/18266
  cmake -B build -S ParaView-v${pkgver/R/-R} -G Ninja \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/opt/paraview \
        -DCMAKE_SKIP_INSTALL_RPATH=OFF \
        -DPARAVIEW_ENABLE_ADIOS2=ON \
        -DPARAVIEW_ENABLE_FFMPEG=ON \
        -DPARAVIEW_ENABLE_FIDES=ON \
        -DPARAVIEW_ENABLE_GDAL=ON \
        -DPARAVIEW_ENABLE_LAS=ON \
        -DPARAVIEW_ENABLE_MOTIONFX=ON \
        -DPARAVIEW_ENABLE_PDAL=ON \
        -DPARAVIEW_ENABLE_RAYTRACING=ON \
        -DPARAVIEW_ENABLE_VISITBRIDGE=ON \
        -DPARAVIEW_ENABLE_XDMF3=ON \
        -DPARAVIEW_USE_MPI=ON \
        -DPARAVIEW_USE_PYTHON=ON \
        -DPARAVIEW_VERSIONED_INSTALL=OFF \
        -DPARAVIEW_BUILD_WITH_EXTERNAL=ON \
        -DVTK_SMP_IMPLEMENTATION_TYPE=TBB \
        -DVTKm_ENABLE_MPI=ON \
        -DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=OFF \
        -DVTK_MODULE_ENABLE_VTK_IOGDAL=YES \
        -DVTK_MODULE_ENABLE_VTK_IOPDAL=YES \
        -DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON \
    -Wno-dev
    export NINJA_STATUS="[%p | %f<%r<%u | %cbps ] "
  # shellcheck disable=SC2086 # to allowing MAKEFLAGS to expand into multiple flags.
    ninja -C build ${MAKEFLAGS:--j1}
}

package() {
    DESTDIR="${pkgdir}" ninja -C build install

    # add paraview to PATH
    install -Dm755 paraview.sh -t "${pkgdir}"/etc/profile.d

    # Install licenses,shortcuts,icons
    install -dm755 "${pkgdir}"/usr/share
    mv "${pkgdir}"/{opt/paraview,usr}/share/licenses
    mv "${pkgdir}"/usr/share/licenses/{ParaView,paraview-opt}
    mv "${pkgdir}"/{opt/paraview,usr}/share/applications
    mv "${pkgdir}"/{opt/paraview,usr}/share/icons
}
# vim:set sw=2 ts=2 et: