# $Id: PKGBUILD 139769 2015-09-10 06:13:18Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Konsta Kokkinen <kray@tsundere.fi>

pkgname=('minetest' 'minetest-server' 'minetest-common')
pkgver=0.4.13
pkgrel=2
arch=('i686' 'x86_64')
url='http://minetest.net/'
license=('GPL')
makedepends=('sqlite' 'freetype2' 'leveldb' 'openal' 'libvorbis' 'curl' 'irrlicht'
             'hicolor-icon-theme' 'cmake' 'hiredis' 'clang')
source=($pkgname-$pkgver.tar.gz::https://github.com/minetest/minetest/archive/$pkgver.tar.gz
        $pkgname-data-$pkgver.tar.gz::https://github.com/minetest/minetest_game/archive/$pkgver.tar.gz
        minetest@.service)
md5sums=('e3385b55faeb1164ac5349dd9b21b461'
         'cc02e8844bbfbd14a3545a202ef38772'
         'ec193b09eb85f2518aaa17506ad06c57')

prepare() {
  install -d build-{client,server}
}

build() {
  cd "$srcdir"/build-client
  cmake ../$pkgname-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_CLIENT=1 \
    -DENABLE_GETTEXT=1 \
    -DENABLE_FREETYPE=1 \
    -DENABLE_LEVELDB=0 \
    -DENABLE_REDIS=0 \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++
  make

  cd "$srcdir"/build-server
  cmake ../$pkgname-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_CLIENT=0 \
    -DBUILD_SERVER=1 \
    -DENABLE_LEVELDB=1 \
    -DENABLE_REDIS=1 \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++
  make
}

package_minetest() {
  pkgdesc='Multiplayer infinite-world block sandbox game'
  depends=('minetest-common' 'irrlicht' 'curl' 'libvorbis' 'sqlite'
           'openal' 'hicolor-icon-theme' 'desktop-file-utils' 'xdg-utils')
  install=$pkgname.install

  cd build-client
  make DESTDIR="$pkgdir" install
  cp -r locale "$pkgdir"/usr/share/

  rm -rf "$pkgdir"/usr/share/{minetest,doc}
  rm "$pkgdir"/usr/share/man/man6/minetestserver.6
}

package_minetest-server() {
  pkgdesc='Server of infinite-world block sandbox game'
  depends=('minetest-common' 'leveldb' 'curl' 'sqlite' 'hiredis')
  install=$pkgname.install

  cd build-server
  make DESTDIR="$pkgdir" install
  install -d  "$pkgdir"/etc/minetest
  install -Dm644 ../minetest@.service \
    "$pkgdir"/usr/lib/systemd/system/minetest@.service

  rm -rf "$pkgdir"/usr/share/{minetest,appdata,applications,icons,doc}
  rm "$pkgdir"/usr/share/man/man6/minetest.6
}

package_minetest-common() {
  pkgdesc='Common data files for minetest and minetest-server'

  cd $pkgbase-$pkgver
  install -d "$pkgdir"/usr/share/minetest

  cp -r games builtin client fonts textures "$pkgdir"/usr/share/minetest/
  cp -r "$srcdir"/minetest_game-$pkgver "$pkgdir"/usr/share/minetest/games/minetest
  rm "$pkgdir"/usr/share/minetest/games/minetest/.gitignore

  for file in doc/{lua_api,mapformat,menu_lua_api}.txt minetest.conf.example; do
    install -Dm644 $file "$pkgdir"/usr/share/minetest/doc/$(basename $file)
  done
}
