makedepends=(leveldb postgresql spatialindex cmake hiredis git)

description="Luanti (Formerly Minetest) - Multiplayer infinite-world block sandbox game - Server"
url="https://www.minetest.net/"

packager="Great-OS Team"
maintainer="Great-OS Team"

name=luanti-server
name2=luanti
version=5.15.0
release=2

source=(https://github.com/luanti-org/luanti/archive/refs/tags/$version.tar.gz
        luanti.service
        sysusers.d
        tmpfiles.d)

build() {
  mkdir build && cd build
  cmake -G Ninja \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_SERVER=1            \
    -DBUILD_CLIENT=0            \
    -DENABLE_GETTEXT=1          \
    -DENABLE_LEVELDB=1          \
    -DENABLE_POSTGRESQL=1       \
    -DENABLE_SPATIAL=1          \
    -DENABLE_REDIS=1            \
    ../$name2-$version
  ninja
  DESTDIR="$PKG" ninja install

  install -d "${PKG}"/usr/share/luanti
  cp -r $SRC/$name2-$version/games $SRC/$name2-$version/builtin $SRC/$name2-$version/textures "${PKG}"/usr/share/luanti/
  cp -r locale "${PKG}"/usr/share/luanti/
  for file in $SRC/$name2-$version/doc/{fst_api.txt,lua_api.md,menu_lua_api.md,protocol.txt,world_format.md}; do
    install -Dm644 $file "${PKG}"/usr/share/luanti/doc/$(basename $file)
  done
  
  install -d  "${PKG}"/etc/luanti
  # provide example conf
  install -Dm644 ../$name2-$version/minetest.conf.example \
    "${PKG}"/etc/luanti/luanti.conf

  install -Dm644 ../luanti.service \
    "${PKG}"/usr/lib/systemd/system/luanti@.service

  install -Dm644 "${SRC}"/tmpfiles.d "${PKG}"/usr/lib/tmpfiles.d/luanti-server.conf
  install -Dm644 "${SRC}"/sysusers.d "${PKG}"/usr/lib/sysusers.d/luanti-server.conf
}
