# Maintainer: aur.chaotic.cx

_pkgname=openttd
pkgname="$_pkgname-git"
pkgver=14.1.r1961.g0055e16
pkgrel=1
pkgdesc="Engine for running Transport Tycoon Deluxe"
url="https://github.com/OpenTTD/OpenTTD"
license=('GPL-2.0-only')
arch=('x86_64')

depends=(
  'fluidsynth'
  'fontconfig'
  'hicolor-icon-theme'
  'sdl2'
)
makedepends=(
  'cmake'
  'git'
  'ninja'
)
optdepends=(
  'openttd-opengfx: free graphics'
  'openttd-opensfx: free soundset'
)

provides=("$_pkgname=${pkgver%%.r}")
conflicts=("$_pkgname")

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git")
sha256sums=('SKIP')

pkgver() {
  cd "$_pkgsrc"
  local _tag _version _revision _hash
  _tag=$(git tag | grep -Ev '[a-zA-Z]{2}' | sort -rV | head -1)
  _version="${_tag:?}"
  _revision=$(git rev-list --count --cherry-pick "$_tag"...HEAD)
  _hash=$(git rev-parse --short=7 HEAD)
  printf '%s.r%s.g%s' "${_version:?}" "${_revision:?}" "${_hash:?}"
}

build() {
  export CFLAGS CXXFLAGS
  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=?/_FORTIFY_SOURCE=2}"
  CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=?/_FORTIFY_SOURCE=2}"

  local _cmake_options=(
    -B build
    -S "$_pkgsrc"
    -G Ninja
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX='/usr'
    -DCMAKE_INSTALL_BINDIR='bin'
    -DCMAKE_INSTALL_DATADIR='/usr/share'
    -DBUILD_TESTING=OFF
    -Wno-dev
  )

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

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