# Contributor: <xmingske@gmail.com>
# Maintainer:
setvar pkgname = 'minetest'
setvar pkgver = '0.4.16'
setvar pkgrel = '0'
setvar pkgdesc = ""An infinite-world block sandbox game and a game engine""
setvar url = ""http://minetest.net/""
# luajit is not available for disabled arches
setvar arch = ""all !s390x""
setvar install = ""$pkgname-server.pre-install""
setvar license = ""LGPL2.1 CCBY-SA3.0""
setvar depends = ""$pkgname-common""
setvar pkgusers = ""minetest""
setvar pkggroups = ""minetest""
setvar makedepends = ""sqlite-dev bzip2-dev libressl-dev irrlicht-dev cmake libvorbis-dev
	libjpeg-turbo-dev libpng-dev openal-soft-dev libogg-dev mesa-dev
	sqlite-dev luajit-dev hiredis-dev curl-dev""
setvar source = ""$pkgname-$pkgver.tar.gz::https://codeload.github.com/minetest/${pkgname}/tar.gz/${pkgver}
	minetest-server.confd
	minetest-server.initd
	""
setvar subpackages = ""$pkgname-doc $pkgname-common::noarch $pkgname-server""

setvar _builddir = ""${srcdir}"/${pkgname}-${pkgver}"

proc prepare {
	local pf
	cd ${_builddir}
	for pf in $source {
		case (pf) {
		*.patch { msg $pf; patch -p1 -i "$srcdir"/${pf} || return 1}
		}
	}
}

proc build {
	mkdir "${_builddir}"/.build_client
	cd "${_builddir}"/.build_client
	cmake -DCUSTOM_BINDIR=/usr/bin \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCUSTOM_DOCDIR="/usr/share/doc/${pkgname}" \
		-DCUSTOM_SHAREDIR="/usr/share/${pkgname}" \
		-DDISABLE_LUAJIT=0 \
		-DBUILD_CLIENT=1 \
		-DBUILD_SERVER=0 \
		-DENABLE_REDIS=0 \
		-DENABLE_CURL=1 \
		-DRUN_IN_PLACE=0 \
		..
	make || return 1
	mkdir "${_builddir}"/.build_server
	cd "${_builddir}"/.build_server
	cmake -DCUSTOM_BINDIR=/usr/bin \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
		-DCUSTOM_SHAREDIR="/usr/share/minetest" \
		-DDISABLE_LUAJIT=1 \
		-DBUILD_CLIENT=0 \
		-DBUILD_SERVER=1 \
		-DENABLE_REDIS=1 \
		-DENABLE_CURL=1 \
		-DRUN_IN_PLACE=0 \
		..
	make || return 1
}

proc common {
	install -o minetest -g minetest -d "$subpkgdir"/var/lib/minetest \
		|| return 1
	mkdir -p "${subpkgdir}/usr/share/minetest"
	mv "${pkgdir}/usr/share/minetest/builtin" \
		"${subpkgdir}/usr/share/minetest" || return 1
	mv "${pkgdir}/usr/share/minetest/games" \
		"${subpkgdir}/usr/share/minetest" || return 1
}

proc package {
	cd "${_builddir}"/.build_client
	make DESTDIR="${pkgdir}" install || return 1
}

proc server {
	mkdir -p "${subpkgdir}/usr/bin"
	cd ${_builddir}
	install -m644 -D $pkgname.conf.example \
		"$subpkgdir"/etc/$pkgname/$pkgname.conf || return 1
	install -D -m755 "$srcdir"/minetest-server.initd \
		"$subpkgdir"/etc/init.d/minetest-server || return 1
	install -D -m644 "$srcdir"/minetest-server.confd \
		"$subpkgdir"/etc/conf.d/minetest-server || return 1
	cp bin/minetestserver ${subpkgdir}/usr/bin
}

setvar sha512sums = ""a7bc8efabebceccee54c1e7733076d0551a9ce442a2e2b976a19bb5f8c1bdca1dd536b1aac60baa7ef3af5595232a10d6d6bcac30662bc4a2f62b7eed42e81bf  minetest-0.4.16.tar.gz
7bca17dc0bd59db9c07c160677498aa09297026104e922bf93b7629c274d0aebd226af60c5e82f49ffe3cc5c1e4448e3798b6c2a44144fc6eca4d3aaed3384bb  minetest-server.confd
c27aea87468538b48b5e0a66fa5cdde4fc67f3c00a0e57f359a2f044a31c5617d1b5f3dec72e015537ee3bf126bd1073878c0f4447de67db9be2c4cf21416dd7  minetest-server.initd""