# Maintainer: heavysink <winstonwu91@gmail.com>
_pkgname=eka2l1
pkgname="${_pkgname}-git"
pkgver=5852.e67f84dc6
pkgrel=5
pkgdesc="Experimental Symbian OS emulator (GIT version)"
arch=('x86_64')
url="https://github.com/EKA2L1/EKA2L1"
license=('GPL2')
makedepends=(
  'boost'
  'git'
  'ccache'
  'glfw'
  'vulkan-headers'
  'python'
  'qt6-tools'
  'qt6-declarative'
  'imagemagick'
  'clang'
  'cmake3-bin'
)
depends=(
  'qt6-base'
  'qt6-svg'
  'sdl2'
  'vulkan-icd-loader'
)
install="eka2l1-git.install"
provides=('eka2l1')
conflicts=('eka2l1')
options=('!lto')
source=(
  "${_pkgname}-git::git+https://github.com/EKA2L1/EKA2L1.git"
  "eka2l1_qt"
)
md5sums=('SKIP'
  '904f15dfd859ab3c10d7f1b9a78db41d')

pkgver() {
  cd "${_pkgname}-git"
  printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd "${srcdir}/${_pkgname}-git"
  git submodule update --recursive --init
  sed -i 's/-Werror//g' src/external/mbedtls/CMakeLists.txt
  sed -i 's/Gui REQUIRED)/Gui GuiPrivate REQUIRED)/g;s/Svg Network/Svg Network GuiPrivate/g;/Qt${QT_VERSION_MAJOR}::Network/a Qt${QT_VERSION_MAJOR}::GuiPrivate' src/emu/qt/CMakeLists.txt
  sed -i '/#include <cstdint>/a #include <algorithm>' src/emu/common/include/common/pystr.h
}

build() {
  cd "${srcdir}/${_pkgname}-git"

  export CFLAGS+=" -Wno-incompatible-pointer-types -Wno-int-conversion"
  cmake3 -B build -DCMAKE_BUILD_TYPE=Release -DEKA2L1_NO_TERMINAL=ON -DEKA2L1_ENABLE_UNEXPECTED_EXCEPTION_HANDLER=ON -DEKA2L1_BUILD_VULKAN_BACKEND=OFF -DEKA2L1_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/opt/eka2l1 -DCMAKE_POLICY_VERSION_MINIMUM=3.5 .

  cd build

  make VERBOSE=1
}

package() {
  cd "${srcdir}/${_pkgname}-git/build"

  install -d -m 755 "${pkgdir}/opt"
  install -d -m 777 "${pkgdir}/opt/eka2l1"
  install -d -m 755 "${pkgdir}/usr/bin"
  cp -R "${srcdir}/${_pkgname}-git/build/bin/." "${pkgdir}/opt/eka2l1"
  install -m 755 ${srcdir}/eka2l1_qt "${pkgdir}/usr/bin/eka2l1_qt"
  for s in 16 24 32 48 64 96 128 512; do
    install -d -m 755 "${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps"
    magick convert "${srcdir}/${_pkgname}-git/src/emu/qt/duck_tank.ico" -resize ${s}x${s} "${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/duck_tank.png"
  done
  install -d -m 755 "${pkgdir}/usr/share/applications"
  install -m 644 "${srcdir}/${_pkgname}-git/src/emu/qt/eka2l1.desktop" "${pkgdir}/usr/share/applications/eka2l1.desktop"
}
