# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Tinxy <arch at tinx dot eu>

pkgname=hedgewars
pkgver=1.0.0
pkgrel=217
pkgdesc="Turn-based strategy artillery game similiar to Worms"
arch=('x86_64')
url="https://hedgewars.org"
license=('GPL' 'custom')
depends=('qt5-base' 'sdl2' 'sdl2_mixer' 'sdl2_image' 'sdl2_net' 'sdl2_ttf' 'lua51' 'ffmpeg' 'glut'
         'physfs' 'ghc-libs' 'haskell-entropy' 'haskell-sha' 'haskell-random' 'haskell-regex-tdfa'
         'haskell-sandi' 'haskell-hslogger' 'haskell-network' 'haskell-network-bsd'
         'haskell-utf8-string' 'haskell-vector')
makedepends=('fpc' 'cmake' 'qt5-tools' 'ghc' 'haskell-bytestring-show' 'haskell-zlib'
             'haskell-base-prelude' 'imagemagick' 'mesa')
source=("https://www.hedgewars.org/download/releases/hedgewars-src-$pkgver.tar.bz2"
        hedgewars-network-3.patch::https://github.com/hedgewars/hw/commit/f813f3d5b63bb5be1b5e0b44930e77656c547aad.patch)
sha512sums=('9aeb904550239040a878a0e7ae5006aa4d824124b61d813b9e6f6dfe1bd1c8f5fe395e0fd6e58d685ef1259abd4669e03b985be129c620be15f6e5ad82519ec2'
            '1b36e26986897f613a6ce98479114035be1d76fe256e50d4743506f8d5651ff09a1d694f501a286ca6444d21ca24d52f878cf42be098943fb798c44dca227abf')

prepare() {
  cd hedgewars-src-$pkgver
  patch -p1 -i ../hedgewars-network-3.patch 
  sed -i 's|set(ghc_flags|set(ghc_flags -dynamic|' gameServer/CMakeLists.txt
  sed -i '/#include <QSizePolicy>/a #include <QPainterPath>' QTfrontend/ui/page/pagegamestats.cpp

  # https://bugs.freepascal.org/view.php?id=37286
  sed -i 's/procedure ShiftWorld(Dir: LongInt); inline;/procedure ShiftWorld(Dir: LongInt);/' hedgewars/uWorld.pas
}

build() {
  cd hedgewars-src-$pkgver
  cmake \
    -DCMAKE_BUILD_TYPE="Release" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DDATA_INSTALL_DIR=/usr/share/hedgewars \
    -DNOSERVER=0 \
    .
  make

  # resize icon
  for _size in 16 32 48 64 128 256; do
    convert +set date:create +set date:modify misc/hedgewars.png -resize ${_size}x${_size} hedgewars_${_size}.png
  done
}

package() {
  cd hedgewars-src-$pkgver
  make DESTDIR="$pkgdir" install
  install -D -m644 Fonts_LICENSE.txt "$pkgdir"/usr/share/licenses/${pkgname}/Fonts_LICENSE.txt

  # install icons
  install -D -m644 misc/hedgewars.png "$pkgdir"/usr/share/icons/hicolor/512x512/apps/hedgewars.png
  for _size in 16 32 48 64 128 256; do
    install -D -m644 hedgewars_${_size}.png "$pkgdir"/usr/share/icons/hicolor/${_size}x${_size}/apps/hedgewars.png
  done
  rm -rf "$pkgdir"/usr/share/pixmaps

  install -D -m644 share/hedgewars/Data/misc/hedgewars.desktop "$pkgdir"/usr/share/applications/hedgewars.desktop
}
