#!/usr/bin/make -f
# -*- makefile -*-

pybasever  := 3.6
pyshortver := 36

version				:= 20.2.4
_prefix				:= /opt/alt/python$(pyshortver)
_sysconfdir			:= ${_prefix}/etc
_bindir				:= ${_prefix}/bin
_libdir				:= ${_prefix}/lib
_datadir			:= ${_prefix}/share
pylibdir			:= ${_libdir}/python$(pybasever)
srcname				:= pip
__alt_pythonXY		:= ${_bindir}/python$(pybasever)
buildroot			:= ${CURDIR}/debian/tmp
alt_pythonXY_sitelib	:= $(shell $(__alt_pythonXY) -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
python_wheelname	:= ${srcname}-${version}-py2.py3-none-any.whl
python_wheeldir		:= ${_datadir}/python-wheels
python_record		:= ${alt_pythonXY_sitelib}/${srcname}-${version}.dist-info/RECORD
alt_bashcompdir		:= $(_datadir)/bash-completion/completions

export PYBUILD_DISABLE_python2=1
export PYTHONWARNINGS=d
export ALTNAME=alt-python$(pyshortver)-${srcname}
export PYTHONPATH="${_bindir}:${_libdir}:${alt_pythonXY_sitelib}:${python_wheeldir}"
export bashcompdir=${_sysconfdir}/bash_completion.d
export CFLAGS="-I/opt/alt/python$(pyshortver)/include"

%:
	dh $@

override_dh_auto_build:
	patch -p1 < debian/patches/emit-a-warning-when-running-with-root-privileges.patch
	patch -p1 < debian/patches/html_theme_path.patch
	patch -p1 < debian/patches/remove-existing-dist-only-if-path-conflicts.patch
	patch -p1 < debian/patches/debian-dummy-certifi.patch
	patch -p1 < debian/patches/nowarn-pip._internal.main.patch
	rm src/pip/_vendor/certifi/*.pem
	# tests expect wheels in here
	ln -s ${python_wheeldir} tests/data/common_wheels
	${__alt_pythonXY} setup.py bdist_wheel

override_dh_auto_install:
	${__alt_pythonXY} dist/${python_wheelname}/pip install -I dist/${python_wheelname} --root ${buildroot} --no-deps
	if [ -d ${buildroot}${_prefix}/local ]; then \
	  mv ${buildroot}${_prefix}/local/* ${buildroot}${_prefix}; \
	  rmdir ${buildroot}${_prefix}/local; \
	fi
	# before we ln -s anything, we apply patch to all pips:
	for PIP in ${buildroot}${_bindir}/pip*; do \
	  patch -p1 --no-backup-if-mismatch $${PIP} < debian/patches/pip-allow-different-versions.patch; \
	done
	mkdir -p ${buildroot}${alt_bashcompdir}
	PYTHONPATH=${buildroot}${alt_pythonXY_sitelib} \
		${buildroot}${_bindir}/pip completion --bash \
	    > ${buildroot}${alt_bashcompdir}/pip3
	# Make bash completion apply to all the 5 symlinks we install
	sed -i -e "s/^\\(complete.*\\) pip\$$/\\1 pip pip{,-}{3,$(pybasever)}}/" \
	    -e s/_pip_completion/_pip3_completion/ \
	    ${buildroot}${alt_bashcompdir}/pip3
	# Provide symlinks to executables to comply with Fedora guidelines for Python
	ln -s ./pip$(pybasever) ${buildroot}${_bindir}/pip-$(pybasever)
	ln -s ./pip-$(pybasever) ${buildroot}${_bindir}/pip-3
	echo apt > ${buildroot}${alt_pythonXY_sitelib}/pip-${version}.dist-info/INSTALLER
	mkdir -p ${buildroot}${python_wheeldir}
	install -p dist/${python_wheelname} -t ${buildroot}${python_wheeldir}
	dh_movefiles -palt-python$(pyshortver)-pip \
		.${_bindir}/* \
		.${alt_pythonXY_sitelib}/pip-${version}.dist-info/ \
		.${alt_pythonXY_sitelib}/pip/ \
		.${alt_bashcompdir}/*
	dh_movefiles -palt-python$(pyshortver)-pip-wheel \
		.${python_wheeldir}/${python_wheelname}

override_dh_builddeb:
	dh_builddeb
	if [ $(shell find $(buildroot) -type f | wc -l) -gt 0 ]; then \
		echo "Installed but unpackaged:"; \
		find $(buildroot) -type f -exec echo "{}" \; | sed -e 's#$(buildroot)##g'; \
		exit 1; \
	fi

.PHONY: clean
