#!/usr/bin/make -f

%:
	dh $@ --with python2 --with python3

package=python-zope.interface
package3=python3-zope.interface

include /usr/share/dpkg/architecture.mk
ifneq ($(DEB_BUILD_MULTIARCH),$(DEB_HOST_MULTIARCH))
  SET_CROSS_ENV = PYTHONPATH=/usr/lib/python$$pv/plat-$(DEB_HOST_MULTIARCH)

  # FIXME: is this sufficient?
  SET_CROSS_ENV += _PYTHON_HOST_PLATFORM=$(DEB_HOST_GNU_CPU)
endif

override_dh_auto_clean:
	rm -rf build
	find -name __pycache__ | xargs -r rm -rf
	find -name '*.py[co]' | xargs -r rm -f

override_dh_auto_build:
	set -xe; for pv in $(shell pyversions -vr); do \
		$(SET_CROSS_ENV) python$$pv setup.py build; \
	done
	set -xe; for pv in $(shell py3versions -sv); do \
		$(SET_CROSS_ENV) python$$pv setup.py build; \
	done

override_dh_auto_install:
	set -xe; \
	for pv in $(shell pyversions -vr); do \
		$(SET_CROSS_ENV) python$$pv setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/$(package); \
	done
	set -xe; \
	for pv in $(shell py3versions -vs); do \
		$(SET_CROSS_ENV) python$$pv setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/$(package3); \
	done

override_dh_install:
	# remove C source
	find debian/$(package) -name '*.c' | xargs -r rm -f
	# remove debug symbols
	#rm debian/$(package)/usr/lib/python*/*-packages/zope/interface/_zope_interface_coptimizations_d.so
	# zope.interface provides the zope namespace __init__.py
	for pv in $(shell pyversions -vr debian/control); do \
	    cp src/zope/__init__.py debian/$(package)/usr/lib/python$$pv/*-packages/zope/; \
	done
	# python-zope.interface-dbg package
	for pv in $(shell pyversions -vr debian/control); do \
	    $(SET_CROSS_ENV) python$$pv-dbg setup.py install \
	    --no-compile --single-version-externally-managed \
	    $(py_setup_install_args) --root=debian/$(package)-dbg \
	    --install-layout=deb; \
	done
	find debian/$(package)-dbg
	find debian/$(package)-dbg ! -type d ! -name '*.so' | xargs rm -f
	find debian/$(package)-dbg -depth -empty -exec rmdir {} \;


	# remove C source
	find debian/$(package3) -name '*.c' | xargs -r rm -f
	# remove debug symbols
	#-rm debian/$(package3)/usr/lib/python3/dist-packages/zope/interface/_zope_interface_coptimizations_d.so
	# zope.interface provides the zope namespace __init__.py
	for py in $(shell py3versions -vs); do \
	    cp src/zope/__init__.py debian/$(package3)/usr/lib/python3/dist-packages/zope/; \
	done
	# python3-zope.interface-dbg package
	for pv in $(shell py3versions -vs); do \
	    $(SET_CROSS_ENV) python$$pv-dbg setup.py install \
	    --no-compile --single-version-externally-managed \
	    $(py_setup_install_args) --root=debian/$(package3)-dbg \
	    --install-layout=deb; \
	done
	find debian/$(package3)-dbg
	find debian/$(package3)-dbg ! -type d ! -name '*.so' | xargs rm -f
	find debian/$(package3)-dbg -depth -empty -exec rmdir {} \;

override_dh_gencontrol:
	dh_gencontrol

	# Workaround for dh_python3 not removing python-setuptools from requires.txt
	find debian/$(package3) -name requires.txt -exec sed -i '/^setuptools$$/d' {} \;

override_dh_installdocs:
	dh_installdocs -p$(package) README.rst
	dh_installdocs -p$(package)-dbg --link-doc=$(package)

	dh_installdocs -p$(package3) README.rst
	dh_installdocs -p$(package3)-dbg --link-doc=$(package3)

override_dh_installchangelogs:
	dh_installchangelogs -p$(package) CHANGES.rst
	dh_installchangelogs -p$(package3) CHANGES.rst

override_dh_strip:
	dh_strip -p$(package) --dbg-package=$(package)-dbg
	dh_strip -p$(package3) --dbg-package=$(package3)-dbg
