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

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# Don't use Debian-provided flags for now; they slow down the build
CFLAGS :=
CXXFLAGS :=
LDFLAGS :=

%:
	dh $@ 

override_dh_auto_configure:
	mkdir build
	# Get libTAU (for cnmultifit) and put in search path
	cd build && wget https://integrativemodeling.org/libTAU/libTAU-1.0.4.zip
	cd build && echo "2c92a29613a422ee3f3db0cbbf1fe53c0500b5b6  libTAU-1.0.4.zip" | sha1sum -c --quiet
	cd build && unzip libTAU-1.0.4.zip && mv libTAU-1.0.4/include libTAU
	[ "`uname -m`" = "aarch64" ] && SUBDIR=Ubuntu18.04.arm64 || SUBDIR=Fedora23.x86_64; cd build/libTAU-1.0.4/lib && ln -sf $${SUBDIR} debian
	cd build/libTAU-1.0.4/lib/debian && ln -sf libTAU.so.1 libTAU.so
	# Allow mpiexec to work inside a docker/podman container (as root)
	perl -pi -e 's#\{MPIEXEC_PREFLAGS\}#\{MPIEXEC_PREFLAGS\};--allow-run-as-root#' modules/mpi/dependency/MPI.cmake
	cd build && py3_ver=`python3 -c "import sys; print('%d.%d' % sys.version_info[:2])"` \
	         && cmake .. -DCMAKE_BUILD_TYPE=Release \
		-DCGAL_DIR=/usr/lib/`uname -m`-linux-gnu/cmake/CGAL/ \
	        -DCMAKE_INSTALL_PYTHONDIR=/usr/lib/python$${py3_ver}/dist-packages \
	        -DCMAKE_INCLUDE_PATH=`pwd` \
	        -DCMAKE_LIBRARY_PATH=`pwd`/libTAU-1.0.4/lib/debian \
                -DCMAKE_INSTALL_PREFIX=/usr \
                -DIMP_TIMEOUT_FACTOR=4 \
                -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/imp \
                -DIMP_DISABLED_MODULES=scratch

override_dh_auto_build:
	mkdir build/logs
	cd build && python3 ../tools/nightly-tests/build_all.py --run-tests=fast --outdir=logs --summary=logs/summary.pck "make -k -j4"

override_dh_install:
	$(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install
	# Bundle libTAU so users don't have to get it separately
	cp build/libTAU-1.0.4/lib/debian/libTAU.so.1 debian/tmp/usr/lib/*linux*/
	(cd debian/tmp/usr/lib/*linux*/ && ln -sf libTAU.so.1 libTAU.so)
	# Don't package MPI for -dev
	rm -f debian/tmp/usr/lib/*/libimp_mpi*.so
	rm -f debian/tmp/usr/lib/*/libimp_spb*.so
	# Make sure all Python applications use the system Python in /usr/bin
	perl -pi -e 's@^#!.*python.*$$@#!/usr/bin/python3@' debian/tmp/usr/bin/*
	# Don't distribute example application or dependency
	rm -rf debian/tmp/usr/bin/imp_example_app \
	       debian/tmp/usr/lib/*/libexample* \
	       debian/tmp/usr/include/example*
	dh_install --fail-missing

override_dh_compress:
	# Don't compress example files, since then they won't work!
	dh_compress -Xexamples
