# Template file for 'amdvlk'
pkgname=amdvlk
version=2024.Q1.3
revision=1
_xgl_commit=b7100c18eb2d134098738f97d7cc3a26e485862f
_pal_commit=42e29f4d3d528c6a59c2db77fb6d70127fb9ffab
_llpc_commit=14535c028dc70a093d95a95efedb749812c1e77d
_gpurt_commit=2e6d528610f45a99723d6e4f15f24da12fd6a1e5
_llvm_project_commit=da55e9e39bc7868016b7b265aa535dff84b7d591
_MetroHash_commit=18893fb28601bb9af1154cd1a671a121fff6d8d3
_CWPack_commit=4f8cf0584442a91d829d269158567d7ed926f026
_llvm_dialects_commit=3f9e17f5f44e825de6450cc8a5aff7f3d5a32ef2
archs="i686* x86_64*"
create_wrksrc=yes
build_wrksrc="xgl"
build_style=cmake
configure_args="-DBUILD_WAYLAND_SUPPORT=ON
 -DCMAKE_BUILD_TYPE=Release
 -DLLVM_PARALLEL_LINK_JOBS=2"
hostmakedepends="pkg-config python3 perl"
makedepends="libxml2-devel xorg-server-devel libXrandr-devel libffi-devel wayland-devel
 DirectXShaderCompiler-devel glslang-devel python3-Jinja2"
depends="vulkan-loader"
short_desc="AMD Open Source Driver For Vulkan"
maintainer="John <me@johnnynator.dev>"
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/gpurt/archive/${_gpurt_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-project/archive/${_llvm_project_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/MetroHash/archive/${_MetroHash_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/CWPack/archive/${_CWPack_commit}.tar.gz
 https://github.com/GPUOpen-Drivers/llvm-dialects/archive/${_llvm_dialects_commit}.tar.gz"
checksum="1d9c1d6db54f3f33882d01ce82bf6aa55f87e079d9ded460768392e07f0e939b
 a1d1640d7db89be37b76a595ec5cee3882575edfbe14964b7bbbd2e414ba0eef
 87c28616b8ce88bdbe58b988c8f18368e7dd6ff047b33058f5d9c21ca3cd69e6
 9aa6ef9dbddc37b0dff73f8fefdceea21d1b2aed306652e288d0b09d774e2599
 cbc83121e6a160d92b8f61c2911ea8fbf21e17c9310201fdb06c12cd356d854c
 6cf55ce86ff23d7e8924e145869af76905233d80b8f5cf5f1849f15e3b571236
 141e6c156a834b8e0f90ba108664d7f35193df11acddefa117f394dbf2b7371a
 87ed9209c129f47d0b64c914fb99d6c69e59a257445ec3a394c3e00d5e2b4484
 127ca534fcf8051aeba8cfe02d1dc309d0a6df2ba4d08508713ddea308370250"
nocross=yes
lib32files="/usr/share/vulkan/icd.d/amd_icd32.json"

case "$XBPS_TARGET_MACHINE" in
	i686*) nodebug=yes;;
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}/gpurt-${_gpurt_commit} ${wrksrc}/gpurt
	mv ${wrksrc}/llvm-project-${_llvm_project_commit} ${wrksrc}/llvm-project
	mkdir ${wrksrc}/third_party
	mv ${wrksrc}/MetroHash-${_MetroHash_commit} ${wrksrc}/third_party/metrohash
	mv ${wrksrc}/CWPack-${_CWPack_commit} ${wrksrc}/third_party/cwpack
	rmdir ${wrksrc}/llpc/imported/llvm-dialects/
	mv ${wrksrc}/llvm-dialects-${_llvm_dialects_commit}/ ${wrksrc}/llpc/imported/llvm-dialects/
}

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() {
	vinstall build/icd/amdvlk${XBPS_TARGET_WORDSIZE}.so 644 usr/lib/
	vinstall build/icd/amd_icd${XBPS_TARGET_WORDSIZE}.json \
		644 usr/share/vulkan/icd.d/
	vlicense ${wrksrc}/AMDVLK/LICENSE.txt
}
