#!/usr/bin/make -f

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

export DEB_HOST_GNU_TYPE
export DEB_HOST_RUST_TYPE

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

export CARGO = /usr/share/cargo/bin/cargo
export CARGO_HOME = $(CURDIR)/debian/cargo_home
export CARGO_REGISTRY = $(CURDIR)/debian/cargo_registry
export DEB_CARGO_CRATE = $(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM)

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
	dh $@

override_dh_auto_configure:
	$(CARGO) prepare-debian $(CARGO_REGISTRY) --link-from-system
	rm -f Cargo.lock
	dh_auto_configure -- -Dhost_arch="$(DEB_HOST_RUST_TYPE)"

execute_after_dh_auto_test:
	TEST_FEATURES=none xvfb-run -a -s "-screen 0 1024x768x24" ./run-tests.sh

execute_after_dh_auto_clean:
	rm -rf $(CARGO_REGISTRY)

# Generate (Static-)Built-Using
# Symlink the meson target dir to target/$(DEB_HOST_RUST_TYPE)/release
# since dh-cargo-built-using expects it there
execute_after_dh_auto_install:
	mkdir -p $(CURDIR)/target/$(DEB_HOST_RUST_TYPE)/
	ln -s $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/target/$(DEB_HOST_RUST_TYPE)/release $(CURDIR)/target/$(DEB_HOST_RUST_TYPE)/
	/usr/share/cargo/bin/dh-cargo-built-using gst-pipeline-studio
