# Maintainer: Daniel Bermond <dbermond@archlinux.org>
# Maintainer: Bruno Pagani <archange@archlinux.org>

pkgbase=level-zero
pkgname=(level-zero-headers level-zero-loader)
pkgver=1.17.6
pkgrel=1
pkgdesc="API for accessing low level interfaces in oneAPI platform devices"
arch=(x86_64 aarch64)
url="https://spec.oneapi.com/versions/latest/elements/l0/source/index.html"
license=(MIT)
makedepends=(git cmake fmt opencl-headers spdlog)
source=(https://github.com/oneapi-src/level-zero/archive/v${pkgver}/${pkgbase}-${pkgver}.tar.gz
        010-level-zero-use-system-spdlog.patch::https://github.com/oneapi-src/level-zero/commit/a65b33209544312e7f64cb49c5ea268dc0f10d47.patch)
sha256sums=('a018923fa0732c4fb9228ff668124363de18f376a314113aa6aaf0a6b5d1ab3b'
            'cf6b537a8193d3085d997494044e9eac69d10f8c859b36b83900c6ef5a178818')

prepare() {
  printf '%s\n' ${pkgver##*.} > ${pkgbase}-${pkgver}/VERSION_PATCH
  
  patch -d ${pkgbase}-${pkgver} -Np1 -i "${srcdir}"/010-level-zero-use-system-spdlog.patch
}

build() {
  cmake -B build -S ${pkgbase}-${pkgver} \
    -G 'Unix Makefiles' \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DSYSTEM_SPDLOG:BOOL=ON \
    -Wno-dev
  cmake --build build
}

package_level-zero-headers() {
  pkgdesc+=" (headers)"
  #arch=(any) # Not supported for now, maybe later
  
  DESTDIR="${pkgdir}" cmake --install build
  install -Dm644 ${pkgbase}-${pkgver}/LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
  
  # remove loader files
  [ -d 'loader' ] && rm -rf loader
  install -d loader/lib
  mv "${pkgdir}"/usr/lib/*so* loader/lib
}

package_level-zero-loader() {
  pkgdesc+=" (loader)"
  depends=(fmt spdlog)
  
  mv loader "${pkgdir}"/usr
  install -Dm644 ${pkgbase}-${pkgver}/LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
}
