#!/usr/bin/make -f

include /usr/share/dpkg/default.mk
include /usr/share/rustc/architecture.mk

export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE

export PYBUILD_NAME=matrix-synapse

export PATH := /usr/share/cargo/bin:$(PATH)

export CARGO=/usr/share/cargo/bin/cargo
export CARGO_HOME=$(CURDIR)/debian/cargo_home

export DEB_CARGO_CRATE=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM)

%:
	dh $@ --buildsystem=pybuild

execute_before_dh_auto_configure:
	sed -i '/common/s/~=/>=/' pyproject.toml
	$(CARGO) prepare-debian debian/cargo_registry --link-from-system

execute_after_dh_auto_clean:
	rm -rf debian/cargo_registry
	mv Cargo.lock debian/Cargo.lock.orig || true

override_dh_auto_install:
	dh_auto_install
	for f in $$(find debian/$(PYBUILD_NAME) -name 'jquery*min.js'); \
	do \
	    rm $$f; \
	    ln -s /usr/share/javascript/jquery/jquery.min.js $$f; \
	done
	sed -i \
		-e 's,#!/usr/bin/env perl,#!/usr/bin/perl,' \
		debian/*/usr/bin/*
	mv debian/*/usr/bin/* debian/*/usr/libexec/*/
	/usr/share/cargo/bin/dh-cargo-built-using matrix-synapse

execute_after_dh_installdocs:
	mv debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/installation.md \
	   debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/INSTALL.md
	mv debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/upgrade.md \
	   debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/UPGRADE.md
	ln -sr debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/UPGRADE.md \
	       debian/$(PYBUILD_NAME)/usr/share/doc/matrix-synapse/UPGRADE.rst
	sed -i \
		-e 's,/opt/venvs/matrix-synapse/bin/python,/usr/bin/python3,' \
		-e 's,Restart=always,Restart=on-failure,' \
		debian/*/usr/share/doc/matrix-synapse/misc/systemd-with-workers/system/*.service

override_dh_compress:
	dh_compress -XREADME

override_dh_auto_clean:
	mv debian/Cargo.lock.orig Cargo.lock || true
	dh_auto_clean

PYTHONS=$(wildcard /usr/bin/python3.? /usr/bin/python3.??)
CURRENT_PYTHON=$(shell readlink -f /usr/bin/python3)
OTHER_PYTHONS=$(filter-out $(CURRENT_PYTHON),$(PYTHONS))
OTHER_PYTHON_VERSIONS=$(subst /usr/bin/python,,$(OTHER_PYTHONS))

pybuild-autopkgtest: export PYBUILD_VERBOSE=1
pybuild-autopkgtest: export PYBUILD_DISABLE=$(OTHER_PYTHON_VERSIONS)

.PHONY: pybuild-autopkgtest
