# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
# Contributor: Johan Förberg <johan@forberg.se>

pkgname=zstd
pkgver=1.5.5
pkgrel=1.1
pkgdesc='Zstandard - Fast real-time compression algorithm'
url='https://facebook.github.io/zstd/'
license=(BSD GPL2)
ncxfat_makedepends=(binutils glibc gcc zlib xz lz4)
ncxfab_makedepends=(base-devel cmake ninja)
source=(https://github.com/facebook/zstd/releases/download/v${pkgver}/zstd-${pkgver}.tar.zst{,.sig}
       aarch64.cmake)
sha256sums=('ce264bca60eb2f0e99e4508cffd0d4d19dd362e84244d7fc941e79fa69ccf673'
            'SKIP'
            'SKIP')
b2sums=('2c2dc95f227e661ada23d8f6141bcd293505ce14e605f946ae00d4d4ac37d10b4eb08279ef7560618c67caf266431f76686fda5ae1921d698a6a93bbaf9a0052'
        'SKIP'
        'SKIP')
validpgpkeys=(4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD)

prepare() {
  cd zstd-${pkgver}
  # avoid error on tests without static libs, we use LD_LIBRARY_PATH
  sed '/build static library to build tests/d' -i build/cmake/CMakeLists.txt
  sed 's/libzstd_static/libzstd_shared/g' -i build/cmake/tests/CMakeLists.txt
  cp ../${MPKG_TARGETARCH}.cmake build/cmake
}

build() {
  cd zstd-${pkgver}
  export CFLAGS+=' -ffat-lto-objects'
  export CXXFLAGS+=' -ffat-lto-objects'

  # make aarch64build

  if (( MPKG_CROSSCOMPILED )); then
      CROSS_OPT="-DCMAKE_TOOLCHAIN_FILE=${MPKG_TARGETARCH}.cmake"
  fi

  cmake -S build/cmake -B build -G Ninja \
    $CROSS_OPT \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=$MPKG_USRPATH \
    -DZSTD_ZLIB_SUPPORT=ON \
    -DZSTD_LZMA_SUPPORT=ON \
    -DZSTD_LZ4_SUPPORT=ON \
    -DZSTD_BUILD_CONTRIB=ON \
    -DZSTD_BUILD_STATIC=OFF \
    -DZSTD_BUILD_TESTS=ON \
    -DZSTD_BUILD_CONTRIB=OFF \
    -DZSTD_PROGRAMS_LINK_SHARED=ON
  cmake --build build
}

package() {
  ncxfat_depends=(glibc gcc zlib xz lz4)
  provides=(libzstd.so)
  cd zstd-${pkgver}
  DESTDIR="${pkgdir}" cmake --install build
  install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

# vim: ts=2 sw=2 et:
