# Maintainer : Sven-Hendrik Haase <svenstaro@archlinux.org>
pkgname=openvdb
pkgver=13.0.0
pkgrel=1
pkgdesc='A large suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids'
url='https://github.com/AcademySoftwareFoundation/openvdb'
arch=('x86_64' 'aarch64')
license=('MPL-2.0')
depends=('boost-libs' 'intel-tbb' 'zlib' 'jemalloc' 'blosc' 'log4cplus' 'imath' 'robin-map')
makedepends=('doxygen' 'boost' 'cmake' 'mesa' 'cppunit' 'glfw-x11' 'glu' 'python'
             'python-numpy' 'ninja' 'nanobind')
optdepends=('glfw: for tools'
            'glu: for tools'
            'python-numpy: python module')
source=("$pkgname-$pkgver.tar.gz::https://github.com/AcademySoftwareFoundation/openvdb/archive/v${pkgver}.tar.gz"
        openvdb-tbb2023.patch::https://patch-diff.githubusercontent.com/raw/AcademySoftwareFoundation/openvdb/pull/2200.patch)
sha512sums=('d5cb9e4ab6a1434c9d30fd645a4c1154ce6a16c711e48ca5643fa748d8f51c9920b5bdeb5496ccf0908c6f085b7afcbb0ed2b9387e1ab471ec262733eb6fde4d'
            '3129d373ce177c06ad07cc4a06cb5eaaa14ac5f033a622c435504a0e535693d1add265ba37528e17ff493189044eb43171290932905159033bbcb5ce43f7d57c')

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  patch -p1 -i "${srcdir}/openvdb-tbb2023.patch"
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  local _pyversion=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")

  cmake \
    -Bbuild \
    -GNinja \
    -DUSE_IMATH_HALF=ON \
    -DUSE_LOG4CPLUS=ON \
    -DUSE_NANOVDB=ON \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DOPENVDB_BUILD_PYTHON_MODULE=ON \
    -DOPENVDB_BUILD_DOCS=ON \
    -DOPENVDB_BUILD_UNITTESTS=OFF

  ninja -C build
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}/build"

  DESTDIR="${pkgdir}" ninja install
  # Try to workaround FS#72653 for now
  mkdir -p "${pkgdir}"/usr/share/cmake/Modules/
  ln -s /usr/lib/cmake/OpenVDB/{OpenVDBUtils,FindOpenVDB,FindBlosc}.cmake "${pkgdir}"/usr/share/cmake/Modules/
}

# vim:set sw=2 sts=2 et:
