# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
# Contributor: William Rea <sillywilly@gmail.com>

pkgname=gpsbabel
pkgver=1.7.0
pkgrel=2
pkgdesc="Read, write and manipulate GPS waypoints in a variety of formats"
arch=(x86_64)
url="https://www.gpsbabel.org/"
license=(GPL)
depends=(hicolor-icon-theme libusb qt5-base)
makedepends=(libicns qt5-tools)
source=(https://github.com/gpsbabel/$pkgname/archive/${pkgname}_${pkgver//./_}.tar.gz
        gpsbabel.appdata.xml
        install.patch
        no-map.patch)
sha256sums=('30b186631fb43db576b8177385ed5c31a5a15c02a6bc07bae1e0d7af9058a797'
            '5eb52ab0c4bdde61c747856e849f9bce9ca660e942c15f730a4330a38fd6a39a'
            'a12a48f2bcad5c2184cf2157488ee18d90f3415cb406eb8b70513f35dfe26b16'
            '378202355f7dd5a01df554af6298b8871e8ab8112aa2a7fa727d26434623da21')

prepare() {
  icns2png -x $pkgname-${pkgname}_${pkgver//./_}/gui/images/appicon.icns

  cd $pkgname-${pkgname}_${pkgver//./_}

  # Support make install for GUI on Linux systems
  # https://github.com/gpsbabel/gpsbabel/pull/391
  patch -Np1 -i ../install.patch
  sed -i '/INSTALLS +=/ s/ icon//' gui/app.pro

  # Remove map due to heavy WebEngine dependency
  # https://github.com/gpsbabel/gpsbabel/pull/606
  patch -Np1 -i ../no-map.patch
}

build() {
  cd $pkgname-${pkgname}_${pkgver//./_}
  ./configure --prefix=/usr
  make

  # GUI
  cd gui
  qmake PREFIX=/usr
  lrelease *.ts
  make
}

package() {
  cd $pkgname-${pkgname}_${pkgver//./_}
  make DESTDIR="$pkgdir" install

  # GUI
  cd gui
  make INSTALL_ROOT="$pkgdir" install
  install -Dm644 ../../$pkgname.appdata.xml "$pkgdir/usr/share/metainfo/$pkgname.appdata.xml"

  for res in 16 32 128 256 512; do
    install -Dm644 ../../appicon_${res}x${res}x32.png \
      "$pkgdir/usr/share/icons/hicolor/${res}x${res}/apps/$pkgname.png"
  done
}
