# Template file for 'amdvlk'
pkgname=amdvlk
version=2019.Q2.3
revision=1
_llpc_commit=fdd5e24be2d9031ab685690cad1c9259d96518f6
_xgl_commit=eaecf6b9ad7bc3d310e752528f84fd52fba23747
_pal_commit=fb9a4dc951c0afd737460b26afb716c96e966b77
_llvm_commit=f41e1a873108a371ae5574d518c1ee6eb3814cee
_wsa_commit=f558403d3292039de4d17334e562bda58abfc72c
_spvgen_commit=5378c7618a2a3bf60ba01a86db980930e8581146
archs="i686* x86_64*"
create_wrksrc=yes
build_wrksrc="xgl"
build_style=cmake
configure_args="-DBUILD_WAYLAND_SUPPORT=ON -DBUILD_WSA=ON"
hostmakedepends="pkg-config python3 perl"
makedepends="libxml2-devel xorg-server-devel libXrandr-devel"
depends="vulkan-loader"
short_desc="AMD Open Source Driver For Vulkan"
maintainer="John <johnz@posteo.net>"
license="MIT"
homepage="https://github.com/GPUOpen-Drivers/AMDVLK"
distfiles="https://github.com/GPUOpen-Drivers/AMDVLK/archive/v-${version}.tar.gz
 https://github.com/GPUOpen-Drivers/llpc/archive/${_llpc_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/xgl/archive/${_xgl_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/pal/archive/${_pal_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/llvm/archive/${_llvm_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/wsa/archive/${_wsa_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/spvgen/archive/${_spvgen_commit}.tar.gz"
checksum="72574e88e336e24bbcbd1573edf24e786c6640f2716ddad602b39a440b9d9b29
 b55da7fd4712a1c9c1738c7e639c7aea2f469ae76e8276980c185a6fb6fbcffa
 5125b70b1f6319fb1da958f84c9c694c86dc0b9d029f6ca7f829db44c3d5763e
 36ce31be34c8c52b39865c9db1302ffe2ea91182530b327b402be3d865de80a2
 7e5688a66aff1e011f438e94dbe0b531ed65c6bfcea5a3a75fc5d9b49e42ead7
 b23e9453fa7b14bb13157fb645936ec74b18b12cdef301758452a92b23f27705
 48766a2ab78023b2c0e8c56eb45fb654e43440ef32c08978a303908e02dfca2a"
nocross=yes

case $XBPS_TARGET_MACHINE in
	*-musl) makedepends+=" rand48_r-devel"
esac

post_extract() {
	mv ${wrksrc}/AMDVLK-v-${version} ${wrksrc}/AMDVLK
	mv ${wrksrc}/xgl-${_xgl_commit} ${wrksrc}/xgl
	mv ${wrksrc}/pal-${_pal_commit} ${wrksrc}/pal
	mv ${wrksrc}/llpc-${_llpc_commit} ${wrksrc}/llpc
	mv ${wrksrc}/llvm-${_llvm_commit} ${wrksrc}/llvm
	mv ${wrksrc}/wsa-${_wsa_commit} ${wrksrc}/wsa
	mv ${wrksrc}/spvgen-${_spvgen_commit} ${wrksrc}/spvgen
}

pre_configure() {
	case "$XBPS_TARGET_MACHINE" in
		i686*) _arch="X86";;
		x86_64*) _arch="X86";;
	esac
	configure_args+=" -DLLVM_TARGET_ARCH=${_arch}"
	configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
}

do_install() {
	case $XBPS_TARGET_MACHINE in
		i686*|mips*|arm*|ppc|ppc-musl)
			vinstall build/icd/amdvlk32.so 644 usr/lib/
			vinstall ${wrksrc}/AMDVLK/json/Redhat/amd_icd32.json 644 usr/share/vulkan/icd.d/
			;;
		*)
			vinstall build/icd/amdvlk64.so 644 usr/lib/
			vinstall ${wrksrc}/AMDVLK/json/Redhat/amd_icd64.json 644 usr/share/vulkan/icd.d/
			vsed -i ${DESTDIR}/usr/share/vulkan/icd.d/amd_icd64.json -e 's#/usr/lib64/#/usr/lib/#g'
			;;
	esac
	vinstall build/wsa/wayland/libamdgpu_wsa_wayland.so 644 usr/lib/
	vlicense ${wrksrc}/AMDVLK/LICENSE.txt
}
