#!/usr/bin/make -f

# build-hardening flags
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# stackrpms,4
export _prefix=debian/mineclonia/usr
export _prefixserver=debian/mineclonia-server/usr
export _prefixdata=debian/mineclonia-data/usr
export _prefixtmp=debian/tmp/usr

# ignore Lua destructor test failures on archs where it doesn't pass
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),armel armhf loong64 mips64el ppc64el))
	export LUANTI_CMAKE_TEST_FLAGS = -DIGNORE_LUA_DESTRUCTOR_TEST_FAILURE=TRUE
endif

override_dh_auto_configure:
	dh_auto_configure -- \
		-DRUN_IN_PLACE=0 \
		-DBUILD_DOCUMENTATION=FALSE \
		-DCMAKE_VERBOSE_MAKEFILE=ON \
		-DENABLE_SYSTEM_JSONCPP=1 \
		-DENABLE_SYSTEM_GMP=1 \
		-DENABLE_SPATIAL=ON \
		-DJSON_INCLUDE_DIR=/usr/include/jsoncpp \
		-DENABLE_GETTEXT=1 \
		-DFREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 \
		-DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \
		-DENABLE_LEVELDB=1 \
		-DENABLE_POSTGRESQL=1 \
		-DLEVELDB_INCLUDE_DIR=/usr/include/leveldb \
		-DCUSTOM_LOCALEDIR=/usr/share/locale \
		-DCUSTOM_SHAREDIR=/usr/share/mineclonia \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DBUILD_SERVER=1 \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DENABLE_UPDATE_CHECKER=OFF \
		-DREQUIRE_LUAJIT=TRUE \
		-DINSTALL_DEVTEST=TRUE \
		-DENABLE_PROMETHEUS=TRUE \
		${LUANTI_CMAKE_TEST_FLAGS}

override_dh_installchangelogs:
	dh_installchangelogs debian/changelog.upstream

override_dh_auto_test:
	#HOME=$$(mktemp -d) bin/luanti --run-unittests
	#dh_auto_test

override_dh_auto_install:
	dh_auto_install
	install -D -m0444 $(CURDIR)/debian/mineclonia.64.png $(CURDIR)/$(_prefixdata)/share/icons/hicolor/64x64/apps/mineclonia.png
	install -D -m0444 $(CURDIR)/debian/net.ddns.bgstack15.mineclonia.metainfo.xml $(CURDIR)/$(_prefixtmp)/share/metainfo
	install -d -m0755 $(CURDIR)/$(_prefix)/libexec/mineclonia $(CURDIR)/$(_prefix)/share/mineclonia/clientmods
	rm -f $(CURDIR)/$(_prefixtmp)/bin/minetest* \
		$(CURDIR)/$(_prefixtmp)/share/icons/hicolor/*/apps/luanti.* \
		$(CURDIR)/$(_prefixtmp)/share/applications/org.luanti.luanti.desktop \
		$(CURDIR)/$(_prefixtmp)/share/metainfo/org.luanti.luanti.metainfo.xml
	cp -pr $(CURDIR)/debian/mcl_localplayer $(CURDIR)/$(_prefix)/share/mineclonia/clientmods/
	ls -alhR
	for word in share/man/man6/luanti.6 \
		share/man/man6/luantiserver.6 \
		bin/luanti bin/luantiserver \
		share/doc/luanti \
		; do \
			DIRNAME="$$( dirname "$${word}" )" ; \
			NEW="$${DIRNAME}/$$( basename "$${word}" | sed -r -e 's/luanti/mineclonia/;' )" ; \
			set -x ; \
			mv -f "$(CURDIR)/$(_prefixtmp)/$${word}" "$(CURDIR)/$(_prefixtmp)/$${NEW}" ; \
			set +x ; \
		done
%:
	dh ${@}
