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

pkgname=cachyos-kernel-manager-git
pkgver=1.14.0.r5.gf3eeaf6
pkgrel=1
epoch=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-scheds')
makedepends=('cmake' 'ninja' 'git' 'python' 'polkit-qt6' 'qt6-tools' 'cargo' 'lld' 'clang' 'llvm')
source=("${pkgname}::git+$url.git"
        fix-installed-db.patch)
sha256sums=('SKIP'
            '455c136513110b88e8234b8e4b25fd739804122ba6a492cde369b1f76c90960c')
provides=('cachyos-kernel-manager')
conflicts=('cachyos-kernel-manager')
options=(strip)

pkgver() {
  cd "${srcdir}/${pkgname}"
  git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  cd "${srcdir}/${pkgname}"

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

build() {
  cd "${srcdir}/${pkgname}"

  # 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}/${pkgname}"

  # 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:
