# Template file for 'ccache'
pkgname=ccache
version=4.8.3
revision=1
build_style=cmake
configure_args="-DENABLE_TESTING=OFF -DREDIS_STORAGE_BACKEND=OFF
 -DENABLE_DOCUMENTATION=OFF"
makedepends="libzstd-devel"
short_desc="Fast C/C++ Compiler Cache"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="https://ccache.dev"
changelog="https://ccache.dev/releasenotes.html"
distfiles="https://github.com/ccache/ccache/releases/download/v${version}/ccache-${version}.tar.xz
 https://github.com/ccache/ccache/releases/download/v${version}/ccache-${version}-linux-x86_64.tar.xz"
checksum="e47374c810b248cfca3665ee1d86c7c763ffd68d9944bc422d9c1872611f2b11
 1021f6dc9641447524cc7bceb72f807f2d6502df118d69dc3f0f86cacf048e79"

if [ -n "$XBPS_CHECK_PKGS" ]; then
	configure_args+=" -DENABLE_TESTING=ON"
fi

post_extract() {
	mv ccache-${version}/* .
}

post_install() {
	vmkdir usr/lib/ccache/bin
	# clang
	for f in clang clang++; do
		ln -sfr ${DESTDIR}/usr/bin/ccache ${DESTDIR}/usr/lib/ccache/bin/${f}
	done
	# gcc
	for f in gcc cc c++ g++; do
		ln -sfr ${DESTDIR}/usr/bin/ccache ${DESTDIR}/usr/lib/ccache/bin/${f}
		# cross compilers
		for x in aarch64-linux-gnu aarch64-linux-musl arm-linux-gnueabi \
			arm-linux-gnueabihf arm-linux-musleabi arm-linux-musleabihf \
			arm-none-eabi armv7l-linux-gnueabihf armv7l-linux-musleabihf \
			avr i686-linux-musl i686-pc-linux-gnu mips-linux-musl \
			mips-linux-muslhf mipsel-linux-musl mipsel-linux-muslhf musl-gcc \
			or1k-none-elf powerpc-linux-gnu powerpc-linux-musl \
			powerpc64-linux-gnu powerpc64-linux-musl powerpc64le-linux-gnu \
			powerpc64le-linux-musl powerpcle-linux-gnu powerpcle-linux-musl \
			riscv64-linux-gnu riscv64-linux-musl x86_64-linux-gnu \
			x86_64-linux-musl ; do
			ln -sfr ${DESTDIR}/usr/bin/ccache ${DESTDIR}/usr/lib/ccache/bin/${x}-${f}
		done
	done
	# pregenerated manpage to avoid bringing ruby into the build
	vman ccache-${version}-linux-x86_64/ccache.1
}
