# Maintainer: Torsten Keßler <tpkessler at archlinux dot org>

pkgname=composable-kernel
pkgver=6.0.2
pkgrel=1
pkgdesc="High Performance Composable Kernel for AMD GPUs"
arch=('x86_64' 'aarch64')
url="https://github.com/ROCm/composable_kernel"
license=('MIT')
depends=('rocm-core' 'glibc' 'gcc-libs' 'hip')
makedepends=('git' 'cmake' 'ninja' 'rocm-cmake' 'rocm-llvm' 'openmp')
source=("$pkgname-$pkgver.tar.gz::$url/archive/rocm-$pkgver.tar.gz")
sha256sums=('f648a99388045948b7d5fbf8eb8da6a1803c79008b54d406830b7f9119e1dcf6')
# Build without default flags as they cause the final linking step to fail
# https://github.com/ROCmSoftwarePlatform/composable_kernel/issues/736
options=(!lto !buildflags)
_dirname="$(basename "$url")-$(basename "${source[0]}" .tar.gz)"

prepare() {
    # Remove tests as they require a supported AMD GPU to run
    sed -i '/add_subdirectory(test)/d' "$_dirname/CMakeLists.txt"
}

build() {
  local _cmake_args=(
    -Wno-dev
    -G Ninja
    -B build
    -S "$_dirname"
    -D CMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc
    -D CMAKE_BUILD_TYPE=Release
    -D CMAKE_INSTALL_PREFIX=/opt/rocm
    -D BUILD_DEV=OFF
    -D INSTANCES_ONLY=ON
  )
  cmake "${_cmake_args[@]}"
  cmake --build build
}

package() {
  DESTDIR="$pkgdir" cmake --install build

  install -Dm644 "$_dirname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
