# Maintainer: aur.chaotic.cx

_pkgname='drawpile'
pkgname="$_pkgname"
pkgver=2.3.0
pkgrel=3
pkgdesc="Collaborative drawing program specially made for use with pen tablets"
url="https://github.com/drawpile/Drawpile"
license=('GPL-3.0-or-later')
arch=('x86_64')

depends=(
  'libavcodec.so'  # ffmpeg
  'libavfilter.so' # ffmpeg
  'libavformat.so' # ffmpeg
  'libavutil.so'   # ffmpeg
  'libsodium.so'   # libsodium
  'libswscale.so'  # ffmpeg
  'libwebp.so'     # libwebp
  'libz.so'        # zlib
  'libzip.so'      # libzip
  'libzstd.so'     # zstd
  'qt6-multimedia'
  'qt6-svg'
  'qt6-websockets'
)
makedepends=(
  'cargo'
  'cmake'
  'extra-cmake-modules'
  'git'
  'ninja'
  'qt6-tools'
)

conflicts=(
  'drawpile-client'
  'drawpile-server'
  'drawpile-tools'
)

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git#tag=$pkgver")
sha256sums=('8f018c99b19621ce1639af3c808c8012916ad02e291e215c99fb482e9c3f78f5')

prepare() {
  cd "$_pkgsrc"

  # fix for Qt 6.2.0
  sed -E -e 's&\.arg\((e->buttons\(\))\)&.arg(\1.toInt())&' -i src/desktop/widgets/tablettest.cpp
}

build() {
  local _cmake_options=(
    -B build
    -S "$_pkgsrc"
    -G Ninja
    -DCMAKE_BUILD_TYPE=Release
    -DCMAKE_INSTALL_PREFIX='/usr'
    -Wno-author

    -DBUILTINSERVER=ON
    -DCLIENT=ON
    -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF
    -DENABLE_ARCH_NATIVE=OFF
    -DQT_VERSION=6
    -DSERVER=ON
    -DSERVERGUI=ON
    -DSOURCE_ASSETS=OFF
    -DTESTS=OFF
    -DTOOLS=ON
  )

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

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