#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export CARGO_NET_OFFLINE = true
export RUSTUP_TOOLCHAIN ?= 1.98.1
export CARGO_BUILD_JOBS ?= 2
export RUSTFLAGS = --remap-path-prefix=$(CURDIR)=. $(foreach flag,$(shell dpkg-buildflags --get LDFLAGS),-C link-arg=$(flag))

%:
	dh $@

override_dh_auto_configure:
	test -f .cargo/config.toml
	test -d vendor
	cargo --version
	rustc --version

override_dh_auto_build:
	cargo build --release --locked --offline

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	cargo test --locked --offline --all-targets
	PYTHONPATH=python python3 -m unittest discover -s python/tests -v
	PYTHONPATH=python python3 -m wp51_tools.pty_smoke target/release/goblin-purrfect
	PYTHONPATH=python python3 -m wp51_tools.pty_exit target/release/goblin-purrfect
	PYTHONPATH=python python3 -m wp51_tools.pty_equation target/release/goblin-purrfect
	PYTHONPATH=python python3 -m wp51_tools.pty_large_equation target/release/goblin-purrfect
	PYTHONPATH=python python3 -m wp51_tools.pty_document target/release/goblin-purrfect
	PYTHONPATH=python python3 -m wp51_tools.pty_spelling target/release/goblin-purrfect
endif

override_dh_auto_install:
	python3 packaging/debian/install.py debian/goblin-purrfect

override_dh_auto_clean:
	if test -d target; then cargo clean --offline; fi

# Cargo validates every vendored file. Cargo.toml.orig is an upstream input,
# not a patch backup; do not let debhelper's generic cleanup remove it.
override_dh_clean:
	dh_clean -Xvendor

# Keep all embedded dependency/font notices legible at the documented paths.
override_dh_compress:
	dh_compress -X.md -XNOTICE -XLICENSE -X.txt -X.TXT -Xassets -Xthird-party

override_dh_strip:
	dh_strip --no-automatic-dbgsym
