# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>

pkgname=ccache
pkgver=4.12.1
pkgrel=2.1
pkgdesc='Compiler cache that speeds up recompilation by caching previous compilations'
url='https://ccache.dev/'
arch=('x86_64' 'aarch64')
license=('GPL-3.0-or-later')
depends=(
  'fmt'
  'gcc-libs'
  'glibc'
  'hiredis'
  'libblake3'
  'libxxhash.so'
  'libzstd.so'
  'xxhash'
  'zstd'
)
makedepends=(
  'asciidoctor'
  'cmake'
  'perl'
  'tl-expected'
)
checkdepends=('doctest')
source=(https://github.com/ccache/ccache/releases/download/v${pkgver}/ccache-${pkgver}.tar.xz{,.minisig})
sha512sums=('f6618026b99d7352fc59d8233dd1cb307970baceb37b3c0c8f5360ca485141ca12da5bcf1e58deaa9e2c383cf40b56eb6fae70a51db90f54ae126596e841eb57'
            'c66612a70ffeaf29f04d0109d4171d0baf3de0b4b456e968942efc9be644e5e7a74ad0f9597d1f4bf8390a74e9f9f8ce456ec52e95d35411fa689fed28af2d4a')
b2sums=('1ff3ddede9f60471cbfaede36722b399f45c4f33f7012db31e2f806db63ffccf1985681d414a91d391391efcd10453f0be666afbbf0c5cafad70b487ab5fd504'
        'a8f97d4ec3ead39d8a49e737d1bf36c9f65b9255846f76a35d09450f88026dc4aabd520f704da44f8453812c557d85ded944b7599e2da2a4e3ba1e4f523c8521')
validpgpkeys=('5A939A71A46792CF57866A51996DDA075594ADB8') # Joel Rosdahl <joel@rosdahl.net>

build() {
  cd ${pkgname}-${pkgver}
  cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=None \
    -Wno-dev \
    -B build \
    -S .
  cmake --build build
  cmake --build build --target doc
}

check() {
  cd ${pkgname}-${pkgver}
  ctest --test-dir build --output-on-failure
}

package() {
  cd ${pkgname}-${pkgver}

  make DESTDIR="${pkgdir}" install -C build
  make DESTDIR="${pkgdir}" install -C build/doc

  install -vDm 644 doc/*.md doc/*.adoc -t "${pkgdir}/usr/share/doc/${pkgname}"

  install -vdm 755 "${pkgdir}/usr/lib/ccache/bin"
  local _prog
  for _prog in gcc g++ c++; do
    ln -vs /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/$_prog"
    ln -vs /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/${CHOST}-$_prog"
  done
  for _prog in cc clang clang++; do
    ln -vs /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/$_prog"
  done
}

# vim: ts=2 sw=2 et:
