#!/usr/bin/make -f

%:
	dh $@ --with python3,bash-completion --buildsystem=pybuild

destdir = debian/silkaj
cmd = silkaj
python3path = $(destdir)/usr/lib/$(shell py3versions -d)/dist-packages
python3path_build = .pybuild/cpython3_$(shell py3versions -dv)/build
path_build = build/scripts-$(shell py3versions -dv):$(PATH)

# generate manpage with help2man from --help option of python script
_mkman = PYTHONPATH=$(python3path) \
 help2man $(patsubst %,--name %,$3) --no-info --output $2 $1 \
 || { PYTHONPATH=$(python3path) $1 --help; false; }

# generate shell completion scripts
override_dh_auto_build:
	dh_auto_build
	PATH="$(path_build)" PYTHONPATH="$(python3path_build)" \
	  _SILKAJ_COMPLETE=source silkaj \
		> debian/bash-completion || true
	PATH="$(path_build)" PYTHONPATH="$(python3path_build)" \
	  _SILKAJ_COMPLETE=source_zsh $(cmd) \
		> debian/_silkaj || true

# check shell script
override_dh_auto_test:
	dh_auto_test
	shellcheck --shell bash --exclude=SC2086,SC2206,SC2207,SC2235 \
		debian/bash-completion

# generate manpage based on --help option of script itself
# * Fix encode special Duniter signature "Ğ"
override_dh_auto_install:
	dh_auto_install
	$(call _mkman, $(destdir)/usr/bin/$(cmd), debian/$(cmd).1, \
		command-line client for Duniter)
	perl -i -pe 's/\?\?(?=1|Test)/ \\\[u011E\]/g' \
		debian/$(cmd).1
	find $(destdir)/usr/lib -name '*.pyc' -delete
	find $(destdir)/usr/lib -type d -empty -delete
