#!/bin/bash
# shellcheck shell=bash disable=SC2034
# Packager: storm

pkgname=uzdoom
pkgver=4.14.3
pkgrel=1slint
url="https://zdoom.org/"
source=(
  "https://github.com/UZDoom/UZDoom/archive/refs/tags/${pkgver}.tar.gz"
  "README.SBo"
)
depends=("zmusic")
options=("nosrcpack")

slackdesc=(
#|-----handy-ruler------------------------------------------------------|
"uzdoom (feature-centric Doom source port)"
""
"UZDoom is a feature-centric port for Doom-engine games, based on"
"GZDoom. It adds an advanced renderer and powerful scripting"
"capabilities."
)

doinst() {
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi
}

build() {
  cd "$SRC/UZDoom-$pkgver" || return 1

  # Upstream's generated revision step does not work from release tarballs.
  sed -i '/COMMAND.*UpdateRevision/s,^,# ,' src/CMakeLists.txt || return 1
  {
    echo "#define GIT_DESCRIPTION \"$pkgver\""
    echo '#define GIT_HASH "release"'
    echo '#define GIT_TIME __DATE__'
  } > src/gitinfo.h

  cmake \
    -B build \
    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -DNDEBUG -DSHARE_DIR=\\\"/usr/share/uzdoom\\\"" \
    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -DNDEBUG -DSHARE_DIR=\\\"/usr/share/uzdoom\\\"" \
    -DINSTALL_DOCS_PATH="share/doc/$pkgname-$pkgver" \
    -DINSTALL_PK3_PATH=share/uzdoom \
    -DINSTALL_SOUNDFONT_PATH=share/uzdoom \
    -DINSTALL_RPATH=/usr/lib"$LIBDIRSUFFIX" \
    -DSYSTEMINSTALL=ON \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_SKIP_RPATH=TRUE \
    . || return 1
  make -C build VERBOSE=1 || return 1
  make -C build install/strip DESTDIR="$PKG" || return 1

  install -Dm0644 src/posix/zdoom.xpm \
    "$PKG/usr/share/icons/hicolor/256x256/apps/org.zdoom.UZDoom.xpm" || return 1
  install -Dm0644 src/posix/freedesktop/org.zdoom.UZDoom.desktop \
    "$PKG/usr/share/applications/org.zdoom.UZDoom.desktop" || return 1

  install -Dm0644 "$SRC/README.SBo" \
    "$PKG/usr/doc/$pkgname-$pkgver/README.SBo" || return 1
  sed -i 's/\r//' "$PKG/usr/doc/$pkgname-$pkgver/"*.* || return 1
}
