#!/usr/bin/make -f
SHELL=bash  # needed for the <(echo …) process subsitution temporary file
# tricks with help2man

export PYBUILD_NAME=mypy
export PYBUILD_DESTDIR_python3=debian/python3-$(PYBUILD_NAME)

export PYBUILD_DISABLE=test
PPATH=$(CURDIR)
PY3V=$(shell py3versions -dv)
include /usr/share/dpkg/pkg-info.mk
%:
	dh $@ --with python3,sphinxdoc --buildsystem=pybuild

override_dh_auto_build:
	dh_auto_build
	PYTHONPATH=$(PPATH) help2man 'python3 -m mypy' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --name 'Optional Static Typing for Python' > debian/mypy.1
	sed -i 's/python3 -m mypy/mypy/g' debian/mypy.1
	sed -i 's/python3/mypy/g' debian/mypy.1
	sed -i 's/PYTHON3/MYPY/g' debian/mypy.1
	PYTHONPATH=$(PPATH) help2man scripts/dmypy --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --name 'Client for mypy daemon mode' > debian/dmypy.1
	sed -i '/\.\.\./d' debian/dmypy.1 # Delete the "..."
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy start' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_start \- Start a mypy daemon") \
		   > debian/dmypy-start.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy restart' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_restart \- Restart a mypy daemon") \
		   > debian/dmypy-restart.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy status' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_status \- Show a mypy daemon status") \
		   > debian/dmypy-status.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy stop' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_stop \- Stop a mypy daemon") \
		   > debian/dmypy-stop.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy kill' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_kill \- Kill a mypy daemon") \
		   > debian/dmypy-kill.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy check' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_check \- Type check some Python files with a mypy daemon") \
		   > debian/dmypy-check.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy recheck' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_recheck \- Type check the same files from the previous run") \
		   > debian/dmypy-recheck.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy hang' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_hang \- Hang a mypy daemon, as a debug hack") \
		   > debian/dmypy-hang.1
	PYTHONPATH=$(PPATH) help2man 'scripts/dmypy daemon' --no-info \
		   --version-string="${DEB_VERSION_UPSTREAM}" \
		   --include <(echo -e "[NAME]\ndmypy_daemon \- Run a mypy daemon in the foreground") \
		   > debian/dmypy-daemon.1
	PYTHONPATH=$(PPATH) help2man 'python${PY3V} scripts/stubgen' --no-info \
		   --no-discard-stderr --version-string="${DEB_VERSION_UPSTREAM}" \
		   --name 'Generate draft stubs for Python modules.' > \
		   debian/stubgen.1
	PYTHONPATH=$(CURDIR) $(MAKE) -C docs html

override_dh_auto_clean:
	rm -f debian/*.1
	dh_auto_clean
	$(MAKE) -C docs clean

override_dh_auto_install:
	dh_auto_install
	dh_movefiles --package=mypy --sourcedir=$(PYBUILD_DESTDIR_python3) usr/bin
