#!/usr/bin/make -f # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 include /usr/share/dpkg/architecture.mk # magic debhelper rule %: dh $@ --with fortran # To aid reproducible builds LC_ALL=C export LC_ALL PYTHON_PLATFORM:=$(shell python3 -c 'import sysconfig; print(sysconfig.get_platform())') FC:=$(shell dh_fortran get_fc_default) LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH) INSTALLDIR:=$(CURDIR)/debian/tmp PY3:=$(shell py3versions -s) override_dh_auto_build: cp -a bin/build_fonts/unix bin/build_fonts/unix.bak cp debian/platform_specific.mk.debian.$(FC) platform_specific.mk.debian cp debian/ef_utility/platform_specific.mk.debian.$(FC) external_functions/ef_utility/platform_specific.mk.debian sed -e 's%@ARCH@%${DEB_HOST_MULTIARCH}%' \ -e 's%@PYTHON@%${PY3}%' \ -e 's%@LIBDIR@%${LIBDIR}%' \ -e 's%@CURDIR@%${CURDIR}%' \ -e 's%@INSTALLDIR@%${INSTALLDIR}%' \ < debian/site_specific.mk.in > site_specific.mk cp site_specific.mk external_functions/ef_utility override_dh_auto_install: # Build and install # Horrible hack breaks The Debian Way. I'm doing the build in the 'install' phase, as i'm installing into debian/tmp # Doing it any earlier, and dh_prep will remove debian/tmp. # This means I'm also doing 'test' after the Install, not between during make & install. gack. for p in $(PY3) ; do \ mkdir -p $(INSTALLDIR)/lib/$$p ; \ m=`echo $$p | tr -d 'python' ` ; \ n=`echo $$p | tr -d 'python' | tr -d '.' ` ; \ ln -s $(CURDIR)/build/lib.$(PYTHON_PLATFORM)-cpython-$$n/pyferret/libpyferret.cpython-$$n-$(DEB_HOST_MULTIARCH).so \ $(INSTALLDIR)/lib/$$p/libpyferret.so ; \ $(MAKE) HOSTTYPE=debian PYTHON_EXE=$$p INSTALLDIR=debian/tmp-$$p clean all install ; \ cp $(CURDIR)/install/local/lib/$$p/dist-packages/pyferret-7.65-py$$m-$(PYTHON_PLATFORM).egg/pyferret/libpyferret.cpython-$$n-$(DEB_HOST_MULTIARCH).so \ $(INSTALLDIR)/lib/$$p ; \ done find debian \( -name '*.pyo' -o -name '*.pyc' \) -delete find debian -type d -name __pycache__ -delete @echo "Now doing bench tests" # ln -s debian/pyferret3 $(INSTALLDIR)/lib/$(shell py3versions -d)/pyferret # First build necessary files for p in $(shell py3versions -d) ; do \ sed -e 's%@ARCH@%${DEB_HOST_MULTIARCH}%' \ -e 's%@LIBDIR@%${LIBDIR}%' \ -e 's%@CURDIR@%${CURDIR}%' \ -e "s%@PYTHON@%$$p%" \ -e 's%@INSTALLDIR@%${INSTALLDIR}%' \ < debian/site_specific.mk.in > site_specific.mk ; \ PATH=$(INSTALLDIR)/lib/$$p:$(PATH) PYTHONPATH=$(INSTALLDIR)/lib/$$p/site-packages \ $(MAKE) HOSTTYPE=debian PYTHON_EXE=$$p INSTALLDIR=debian/tmp-$$p clean all install ; \ done execute_after_dh_install: dh_numpy3 # This will return 1 because of recursion, so true (find debian -name '*.egg' -exec rm -rf {} \; || true) override_dh_auto_test: @echo "Dummy test, to avoid calling make. Do test later" override_dh_auto_clean: # use system xpm.h, not supplied ones rm -f fer/gui/xpm*.h rm -rf ./build ./install if [ -d "bin/build_fonts/unix.bak" ] ; then rm -rf bin/build_fonts/unix; mv bin/build_fonts/unix.bak bin/build_fonts/unix ; fi find . -type l -delete ( find . -name '*.egg*' -exec rm -rf {} \; || true ) find . \( -name '*.a' -o -name '*.o' -o -name '*.so' \) -delete [ ! -f platform_specific_flags.mk.debian ] || $(MAKE) clean HOSTTYPE=debian rm -f external_functions/ef_utility/platform_specific.mk.debian \ external_functions/ef_utility/site_specific.mk \ site_specific.mk platform_specific.mk.debian rm -f fer/special/xmake_date_data.F fer/special/xplatform_type_data.F fer/special/xrevision_type_data.F