#!/usr/bin/make -f

DEB_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk

# cmake doesn't honor CPPFLAGS
CFLAGS += $(CPPFLAGS) -DDISABLE_LOG
CXXFLAGS += $(CPPFLAGS)

export CFLAGS CXXFLAGS LDFLAGS

FUNCTIONALTEST =
UNITTEST =
ifneq (,$(findstring ok installed,$(shell dpkg-query -W -f '$${Status}' lua-nvim)))
  FUNCTIONALTEST = functionaltest
endif

ifneq (,$(findstring ok installed,$(shell dpkg-query -W -f '$${Status}' luajit)))
  UNITTEST = unittest
endif

export USERNAME = pkg-vim-maintainers
export HOSTNAME = lists.alioth.debian.org

ID = $(shell id -u)
GID = $(shell id -g)

%:
	dh $@ --parallel

override_dh_auto_build:
	dh_auto_build --parallel -- VERBOSE=1 USE_BUNDLED_DEPS=OFF CMAKE_BUILD_TYPE=None "CMAKE_EXTRA_FLAGS=-DCMAKE_INSTALL_PREFIX=/usr -DBUSTED_OUTPUT_TYPE=TAP"

override_dh_auto_install:
	dh_auto_install --parallel -- VERBOSE=1 USE_BUNDLED_DEPS=OFF

override_dh_auto_clean:
	-[ -f debian/global_spec.lua ] && mv debian/global_spec.lua test/functional/ex_cmds/
	dh_auto_clean

override_dh_install:
	dh_install --fail-missing

debian/passwd:
	printf -- "$(USER):x:$(ID):$(GID):nvim test:$(CURDIR)/debian/fakehome:/bin/false\n" > debian/passwd
	printf -- "users:x:$(GID):\n" > debian/group

debian/fakehome:
	mkdir -p debian/fakehome

override_dh_auto_test-indep:

override_dh_auto_test-arch: debian/passwd debian/fakehome
	mv -f test/functional/ex_cmds/global_spec.lua debian/
	env "HOME=$(CURDIR)/debian/fakehome" LD_PRELOAD=libnss_wrapper.so "NSS_WRAPPER_PASSWD=$(CURDIR)/debian/passwd" "NSS_WRAPPER_GROUP=$(CURDIR)/debian/group" make $(UNITTEST) $(FUNCTIONALTEST) oldtest VERBOSE=1 USE_BUNDLED_DEPS=OFF
