# Maintainer: nippy <nippy@tuta.io>
# Contributor: Rustmilian Rustmilian@proton.me

_pkgname="calamares"
pkgname="$_pkgname"
pkgver=3.4.2
pkgrel=15
pkgdesc="Distribution-independent installer framework"
url="https://codeberg.org/Calamares/calamares"
license=("GPL-3.0-or-later")
arch=('x86_64')

depends=(
  'kcoreaddons'
  'kcrash'
  'kpmcore'
  'libpwquality'
  'python'
  'qt6-declarative'
  'qt6-svg'
  'yaml-cpp'
)
makedepends=(
  'extra-cmake-modules'
  'ninja'
  'python'
  'qt6-tools'
  'qt6-translations'
)

_pkgsrc="$_pkgname"
_pkgext="tar.gz"
source=("$_pkgname-$pkgver.$_pkgext"::"$url/releases/download/v$pkgver/$_pkgname-$pkgver.$_pkgext"
        "0001-support-yay.patch"
        "0002-limit-translations.patch"
        "0003-raveos-panelek.patch"
        "0004-raveos-telepites-haladas.patch"
        "0005-raveos-qml-forditas.patch"
        "0006-raveos-lepesre-ugras.patch"
        "0007-raveos-naplo-hozzajarulas.patch")
sha256sums=('733bbbb00dc9f84874bd5c22960952f317ea2537565431179fa2152b2fbfdccc'
            '286a652c3666f5390010c60225bb54077d484639c7c9a1ab5eb693013361e8c2'
            '06560b7e9ce9ae84c2f2af91b68b9051a89d58ef6da552632d41912e674dd7d6'
            '0c15377385f5c87db25f464c5c8369322bf7865226c8af7f2df37d6be8d0e0d0'
            'd3aade3c7aba9b640753c40bfde9187c00b43b81e8be68a3d05a5e62ad9b2568'
            '6498f0b475bfa32f7689cfb1ec5db98bf94f1a47f4bfb31404da155eae079dcf'
            '9a1af33283744af9a1c9bf4199bdc12361e3bdb5052e7ffd604b7328a7c30775'
            '8eb6adc2985e4c0a3e3ae2f691c76523e318ebab0e8c56f1675ec2ecf96d962c')
	    
prepare() {
    cd $srcdir/$_pkgname-$pkgver
    patch -Np1 -i ../0001-support-yay.patch
    patch -Np1 -i ../0002-limit-translations.patch
    patch -Np1 -i ../0003-raveos-panelek.patch
    patch -Np1 -i ../0004-raveos-telepites-haladas.patch
    patch -Np1 -i ../0005-raveos-qml-forditas.patch
    patch -Np1 -i ../0006-raveos-lepesre-ugras.patch
    patch -Np1 -i ../0007-raveos-naplo-hozzajarulas.patch
    
    # Copy across the custom images
    cp -a ${startdir}/images/partition-alongside.svg $srcdir/$_pkgname-$pkgver/data/images/partition-alongside.svg
    cp -a ${startdir}/images/partition-disk.svg $srcdir/$_pkgname-$pkgver/data/images/partition-disk.svg
    cp -a ${startdir}/images/partition-erase-auto.svg $srcdir/$_pkgname-$pkgver/data/images/partition-erase-auto.svg
    cp -a ${startdir}/images/partition-manual.svg $srcdir/$_pkgname-$pkgver/data/images/partition-manual.svg
    cp -a ${startdir}/images/partition-partition.svg $srcdir/$_pkgname-$pkgver/data/images/partition-partition.svg
    cp -a ${startdir}/images/partition-replace-os.svg $srcdir/$_pkgname-$pkgver/data/images/partition-replace-os.svg
 }

build() {
  local _skip_modules=(
    dracut
    dracutlukscfg
    dummycpp
    dummyprocess
    initramfs
    initramfscfg
    interactiveterminal
    services-openrc
  )

  local _pkgsrc_dir="$srcdir/$_pkgname-$pkgver"

  local _cmake_options=(
    -B build
    -S "$_pkgsrc_dir"
    -G Ninja
    -DCMAKE_BUILD_TYPE=Release
    -DCMAKE_INSTALL_PREFIX='/usr'
    -DCMAKE_INSTALL_LIBDIR='lib'
    -DWITH_QT6=ON
    -DINSTALL_CONFIG=ON
    -DWITH_PYTHON=ON
    -DWITH_NETINSTALL=ON
    -DBUILD_TESTING=OFF
    -Wno-dev
  )

  cmake "${_cmake_options[@]}"
  cmake --build build
}

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