# Maintainer: Vladislav Nepogodin <nepogodin.vlad@gmail.com>

pkgname=cachyos-kernel-manager
pkgver=1.19.0
pkgrel=1
pkgdesc="Simple kernel manager"
arch=(aarch64 x86_64)
url="https://github.com/cachyos/kernel-manager"
license=(GPL-3.0-or-later)
depends=('qt6-base' 'polkit' 'chwd' 'scx-manager')
makedepends=('cmake' 'ninja' 'git' 'python' 'polkit-qt6' 'qt6-tools' 'cargo' 'lld' 'clang' 'llvm')
groups=('cachyos')
source=("kernel-manager::git+$url.git#tag=v${pkgver}?signed"
        fix-installed-db.patch)
sha256sums=('1a7e6ac9e98c1b54e62d47e3ce4f6b0b2933af640329ad980c9b4f3399de1e2d'
            '455c136513110b88e8234b8e4b25fd739804122ba6a492cde369b1f76c90960c')
validpgpkeys=(
  'B1B70BB1CD56047DEF31DE2EB62C3D10C54D5DA9'  # Vladislav Nepogodin <nepogodin.vlad@gmail.com>
)

prepare() {
  cd ${srcdir}/kernel-manager

  # patch cmake to not check for existence of installeddb api
  patch -Np1 -i ../fix-installed-db.patch
}

build() {
  cd ${srcdir}/kernel-manager

  # we are building with llvm stack here, due to rust
  export AR=llvm-ar
  export CC=clang
  export CXX=clang++
  export NM=llvm-nm
  export RANLIB=llvm-ranlib

  export RUSTFLAGS="-Cembed-bitcode -C opt-level=3 -Ccodegen-units=1 -Clinker=clang -C link-arg=-flto -Clink-arg=-fuse-ld=/usr/bin/ld.lld"

  cmake -S . -Bbuild \
        -GNinja \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib
  cmake --build build
}

package() {
  cd ${srcdir}/kernel-manager

  # we are building with llvm stack here, due to rust
  export AR=llvm-ar
  export CC=clang
  export CXX=clang++
  export NM=llvm-nm
  export RANLIB=llvm-ranlib

  export RUSTFLAGS="-Cembed-bitcode -C opt-level=3 -Ccodegen-units=1 -Clinker=clang -C link-arg=-flto -Clink-arg=-fuse-ld=/usr/bin/ld.lld"

  DESTDIR="${pkgdir}" cmake --build build --target install
}

# vim:set sw=2 sts=2 et:
