#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
export DH_VERBOSE = 1

export PYBUILD_VERBOSE = 1

PYTHON3_VERSIONS = $(shell py3versions -r)


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

override_dh_auto_clean:
	dh_auto_clean -D openpaperwork-core --buildsystem=pybuild -- --name openpaperwork-core
	dh_auto_clean -D openpaperwork-gtk --buildsystem=pybuild -- --name openpaperwork-gtk
	dh_auto_clean -D paperwork-gtk --buildsystem=pybuild -- --name paperwork-gtk
	dh_auto_clean -D paperwork-backend --buildsystem=pybuild -- --name paperwork-backend
	dh_auto_clean -D paperwork-shell --buildsystem=pybuild -- --name paperwork-shell
	make -C paperwork-gtk/src/paperwork_gtk/model/help clean
	make -C paperwork-gtk/src/paperwork_gtk/icon clean

override_dh_auto_configure:
	dh_auto_configure -D openpaperwork-core --buildsystem=pybuild -- --name openpaperwork-core
	dh_auto_configure -D openpaperwork-gtk --buildsystem=pybuild -- --name openpaperwork-gtk
	dh_auto_configure -D paperwork-gtk --buildsystem=pybuild -- --name paperwork-gtk
	dh_auto_configure -D paperwork-backend --buildsystem=pybuild -- --name paperwork-backend
	dh_auto_configure -D paperwork-shell --buildsystem=pybuild -- --name paperwork-shell

override_dh_auto_build:
	dh_auto_build -D openpaperwork-core --buildsystem=pybuild -- --name openpaperwork-core
	PYTHONPATH=openpaperwork-core/src python3 -m sphinx -N -bhtml openpaperwork-core/doc _build/openpaperwork_core/html
	dh_auto_build -D openpaperwork-gtk --buildsystem=pybuild -- --name openpaperwork-gtk
	PYTHONPATH=openpaperwork-gtk/src python3 -m sphinx -N -bhtml openpaperwork-gtk/doc _build/openpaperwork_gtk/html
	make -C paperwork-gtk/src/paperwork_gtk/icon data
	dh_auto_build -D paperwork-gtk --buildsystem=pybuild -- --name paperwork-gtk
	make -C paperwork-backend data
	dh_auto_build -D paperwork-backend --buildsystem=pybuild -- --name paperwork-backend
	PYTHONPATH=paperwork-backend/src python3 -m sphinx -N -bhtml paperwork-backend/doc _build/paperwork_backend/html
	dh_auto_build -D paperwork-shell --buildsystem=pybuild -- --name paperwork-shell
	rst2man debian/paperwork-gtk.rst debian/paperwork-gtk.1
	rst2man debian/paperwork-cli.rst debian/paperwork-cli.1
	rst2man debian/paperwork-json.rst debian/paperwork-json.1
	make l10n_compile

override_dh_auto_install:
	mkdir -p debian/tmp/usr/bin
	for pyver in $(PYTHON3_VERSIONS); do \
		mkdir -p debian/tmp/usr/lib/$$pyver/dist-packages; \
	done
	dh_auto_install -D openpaperwork-core --buildsystem=pybuild -- --name openpaperwork-core
	for pyver in $(PYTHON3_VERSIONS); do \
		mv debian/python3-openpaperwork-core/usr/lib/$$pyver/dist-packages/openpaperwork_core* debian/tmp/usr/lib/$$pyver/dist-packages/.; \
	done
	dh_auto_install -D openpaperwork-gtk --buildsystem=pybuild -- --name openpaperwork-gtk
	for pyver in $(PYTHON3_VERSIONS); do \
		mv debian/python3-openpaperwork-gtk/usr/lib/$$pyver/dist-packages/openpaperwork_gtk* debian/tmp/usr/lib/$$pyver/dist-packages/.; \
	done
	dh_auto_install -D paperwork-gtk --buildsystem=pybuild -- --name paperwork-gtk
	mv debian/python3-paperwork-gtk/usr/bin/paperwork-gtk debian/tmp/usr/bin/.
	for pyver in $(PYTHON3_VERSIONS); do \
		mv debian/python3-paperwork-gtk/usr/lib/$$pyver/dist-packages/paperwork_gtk* debian/tmp/usr/lib/$$pyver/dist-packages/.; \
	done
	dh_auto_install -D paperwork-backend --buildsystem=pybuild -- --name paperwork-backend
	for pyver in $(PYTHON3_VERSIONS); do \
		mv debian/python3-paperwork-backend/usr/lib/$$pyver/dist-packages/paperwork_backend* debian/tmp/usr/lib/$$pyver/dist-packages/.; \
	done
	dh_auto_install -D paperwork-shell --buildsystem=pybuild -- --name paperwork-shell
	mv debian/python3-paperwork-shell/usr/bin/paperwork-* debian/tmp/usr/bin/.
	for pyver in $(PYTHON3_VERSIONS); do \
		mv debian/python3-paperwork-shell/usr/lib/$$pyver/dist-packages/paperwork_shell* debian/tmp/usr/lib/$$pyver/dist-packages/.; \
	done
	PYTHONPATH="$(CURDIR)/debian/tmp/usr/lib/$(shell py3versions -d)/dist-packages/" PAPERWORK_TEST_DOCUMENTS="$(CURDIR)/test-documents/" PATH="$(CURDIR)/debian/tmp/usr/bin:$(PATH)" make -C paperwork-gtk/src/paperwork_gtk/model/help data
	mkdir -p debian/tmp/usr/share
	mkdir -p debian/tmp/paperwork-home/config
	PYTHONPATH="$(CURDIR)/debian/tmp/usr/lib/$(shell py3versions -d)/dist-packages/" PATH="$(CURDIR)/debian/tmp/usr/bin:$(PATH)" XDG_DATA_HOME="$(CURDIR)/debian/tmp/usr/share" XDG_CONFIG_HOME="$(CURDIR)/debian/tmp/paperwork-home/config" paperwork-gtk plugins add paperwork_gtk.cmd.install
	PYTHONPATH="$(CURDIR)/debian/tmp/usr/lib/$(shell py3versions -d)/dist-packages/" PATH="$(CURDIR)/debian/tmp/usr/bin:$(PATH)" XDG_DATA_HOME="$(CURDIR)/debian/tmp/usr/share" XDG_CONFIG_HOME="$(CURDIR)/debian/tmp/paperwork-home/config" paperwork-gtk install --user
	$(RM) -r debian/tmp/usr/share/paperwork2
	$(RM) -r debian/tmp/paperwork-home

override_dh_auto_test:

# Do not compress pdf files as they are needed in paperwork and compressed files
# are not supported yet see https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1079
override_dh_compress:
	dh_compress -X.pdf
