# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>
# Contributor: Biswapriyo Nath <nathbappai@gmail.com>

_realname=spirv-headers
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
epoch=2
pkgver=1.4.304.1
pkgrel=2
pkgdesc='Machine-readable files for the SPIR-V Registry (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://www.khronos.org/registry/spir-v/'
msys2_repository_url="https://github.com/KhronosGroup/SPIRV-Headers"
license=('spdx:MIT')
groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja")
source=(https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-${pkgver}/${_realname}-${pkgver}.tar.gz
        https://github.com/KhronosGroup/SPIRV-Headers/commit/9ca0e67b.patch
        https://github.com/KhronosGroup/SPIRV-Headers/commit/2b2e05e0.patch)
sha256sums=('66e6cec19e7433fc58ace8cdf4040be0d52bb5920e54109967df2dd9598a8d48'
            '3135283afc390c431ea7fce5c2d816c32d0b7628b0ef32d891c6b5a9c6ea4c36'
            'ae265c8e206677e947337769052fe1f3f695e36bdc1754dcb55ba1d59c3b9201')

prepare() {
  cd SPIRV-Headers-vulkan-sdk-${pkgver}
  # backports required for spirv-llvm-translator 20
  patch -p1 -i "${srcdir}"/9ca0e67b.patch
  patch -p1 -i "${srcdir}"/2b2e05e0.patch
}

build() {
  mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM}

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake.exe \
    -G "Ninja" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    ../SPIRV-Headers-vulkan-sdk-${pkgver}

  ${MINGW_PREFIX}/bin/cmake.exe --build ./
}

package() {
  cd "${srcdir}"/build-${MSYSTEM}
  DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./

  install -Dm644 "${srcdir}"/SPIRV-Headers-vulkan-sdk-${pkgver}/README.md "${pkgdir}"${MINGW_PREFIX}/share/doc/${_realname}/README.md
  install -Dm644 "${srcdir}"/SPIRV-Headers-vulkan-sdk-${pkgver}/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
