# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Guillaume Horel <guillaume.horel@gmail.com>

_pkg=orc
pkgname=apache-${_pkg}
pkgver=2.0.1
pkgrel=5
pkgdesc="Columnar storage for Hadoop workloads."
arch=(x86_64 aarch64)
url="https://orc.apache.org"
license=(Apache)
depends=(lz4 protobuf snappy zlib zstd)
makedepends=(cmake)
checkdepends=(gtest)
source=(https://archive.apache.org/dist/${_pkg}/${_pkg}-${pkgver}/${_pkg}-${pkgver}.tar.gz{,.asc})
sha256sums=('1ffac0228aa83f04a1b1cf2788a3af5953e82587ae3a77c41900e99f2557132d'
            'SKIP')
validpgpkeys=(F28C9C925C188C35E345614DEDA00CE834F0FC5C  # Dongjoon Hyun (CODE SIGNING KEY) <dongjoon@apache.org>
              AA94E2A8F0A0B7167305C5232D9F6201DECDFA29) # William Hyun (CODE SIGNING KEY) <william@apache.org>

prepare(){
  cd ${_pkg}-${pkgver}
  sed -i 's/orc STATIC/orc SHARED/' c++/src/CMakeLists.txt
# Fix build with protobuf 27
  sed -e 's|PROTOBUF_INCLUDE_DIR protobuf::libprotoc|PROTOBUF_INCLUDE_DIR protobuf::libprotobuf|' -i cmake_modules/FindProtobuf.cmake
}

build(){
  cmake -B build -S ${_pkg}-${pkgver} \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX="/usr" \
    -DSTOP_BUILD_ON_WARNING=OFF \
    -DLZ4_HOME="/usr" \
    -DPROTOBUF_HOME="/usr" \
    -DSNAPPY_HOME="/usr" \
    -DZLIB_HOME="/usr" \
    -DZSTD_HOME="/usr" \
    -DGTEST_HOME="/usr" \
    -DORC_PREFER_STATIC_PROTOBUF=OFF \
    -DORC_PREFER_STATIC_SNAPPY=OFF \
    -DORC_PREFER_STATIC_LZ4=OFF \
    -DORC_PREFER_STATIC_ZSTD=OFF \
    -DORC_PREFER_STATIC_ZLIB=OFF \
    -DBUILD_LIBHDFSPP=OFF \
    -DBUILD_JAVA=OFF \
    -DINSTALL_VENDORED_LIBS=OFF
  make -C build
}

check(){
  # Some tests failures https://github.com/apache/orc/issues/1068
  make -C build test-out || echo "Warning: Tests failed"
}

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