#!/usr/bin/make -f

# 3.11
pybasever  := 3.11
# 311 / -internal
pyshortver := 311

export PYBUILD_DISABLE_python2=1
export PYTHONWARNINGS=d
export NAME=alt-python$(pyshortver)-setuptools
export srcname=setuptools

bootstrap            ?= 0
with_tests           ?= 0
buildroot            := $(CURDIR)/debian/tmp
_prefix              := /opt/alt/python$(pyshortver)
_bindir              := $(_prefix)/bin
_libdir              := ${_prefix}/lib
_datadir             := ${_prefix}/share
__alt_pythonXY       := $(_bindir)/python3
python_wheeldir      := ${_datadir}/python-wheels
alt_pythonXY_sitelib := $(shell $(__alt_pythonXY) -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True))")
version              := 65.6.3
CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic'
LDFLAGS='-Wl,-z,relro '
python3_record       := ${alt_pythonXY_sitelib}/${srcname}-${version}.dist-info/RECORD
export PYTHONPATH="$(buildroot)$(_libdir)/python$(pybasever):$(buildroot)$(sitelib):${_bindir}:${_libdir}:${alt_pythonXY_sitelib}:${python_wheeldir}"

ifeq ($(bootstrap),0)
  python3_wheelname := $(srcname)-$(version)-py3-none-any.whl
  python3_wheeldir :=  $(_datadir)/python-wheels
endif


%:
	dh $@

override_dh_auto_build:
	# Strip shbang
	find setuptools pkg_resources -name \*.py | xargs sed -i -e '1 {/^#!\//d}'
	find -name requires.txt -delete
	# Remove bundled exes
	rm -f setuptools/*.exe
	# Remove bundled exes
	rm setuptools/tests/test_integration.py
	# Spurious executable perm https://github.com/pypa/setuptools/pull/1441
ifeq ($(bootstrap),1)
	$(__alt_pythonXY) setup.py build --executable="$(__alt_pythonXY) -s"
else
	$(__alt_pythonXY) setup.py bdist_wheel
endif

override_dh_auto_install:
ifeq ($(bootstrap),0)
	${_bindir}/pip$(pybasever) install -I dist/${python3_wheelname} --root $(buildroot) --no-deps
	sed -i '/\/usr\/bin\/easy_install,/d' $(buildroot)$(python3_record)
	sed -i '/^setuptools\/tests\//d' $(buildroot)$(python3_record)
else
	$(__alt_pythonXY) setup.py install -O1 --skip-build --root $(buildroot) \
		--prefix=$(_prefix) --install-lib=$(alt_pythonXY_sitelib)
endif
	rm -rf $(buildroot)$(alt_pythonXY_sitelib)/setuptools/tests
	find $(buildroot)$(alt_pythonXY_sitelib) -name '*.exe' | xargs rm -f

ifeq ($(bootstrap),0)
	mkdir -p $(buildroot)$(python3_wheeldir)
	install -p dist/$(python3_wheelname) -t $(buildroot)$(python3_wheeldir)
endif

ifeq ($(with_tests),1)
	PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=$(pwd) pytest-$(pybasever) \
    	--ignore=pavement.py \
    	--deselect=setuptools/tests/test_setuptools.py::TestDepends::testRequire
endif # with tests

	dh_movefiles -palt-python$(pyshortver)-setuptools \
		.$(alt_pythonXY_sitelib)/*.pth \
		.$(alt_pythonXY_sitelib)/_distutils_hack/ \
		.$(alt_pythonXY_sitelib)/pkg_resources/ \
		.$(alt_pythonXY_sitelib)/setuptools/

ifeq ($(bootstrap),1)
	dh_movefiles -palt-python$(pyshortver)-setuptools \
		.$(alt_pythonXY_sitelib)/setuptools-$(version)-py$(pybasever).egg-info/
endif

	dh_installdocs -palt-python$(pyshortver)-setuptools \
		docs/*

ifeq ($(bootstrap),0)
	dh_movefiles -palt-python$(pyshortver)-setuptools \
		.$(alt_pythonXY_sitelib)/$(srcname)-$(version).dist-info/

	dh_movefiles -palt-python$(pyshortver)-setuptools-wheel \
		.$(python3_wheeldir)/$(python3_wheelname)
endif

override_dh_missing:
	dh_missing --fail-missing

override_dh_auto_clean:
override_dh_auto_test:
