#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

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 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)

# Starting with a library package $*, remove the ABI and append a
# -MAJOR.MINOR suffix without the third component of the upstream version.
ABIVirtualPackage = $(shell echo $* | sed 's/abi[0-9]\+//')-$(basename $(DEB_VERSION_UPSTREAM))
pkgs_lib = $(filter-out %-dev %-doc %-dbg %-data %-bin %-plugins,$(filter lib%,$(shell dh_listpackages)))

%:
	dh $@


override_dh_auto_clean:
	dh_auto_clean
	rm -rf debian/cargo_registry

# Build with packaged Debian crates
override_dh_auto_configure:
	$(CARGO) prepare-debian debian/cargo_registry --link-from-system
	rm -f $(CURDIR)/agent/rs/htmlparser/Cargo.lock
	dh_auto_configure

override_dh_makeshlibs: $(pkgs_lib:=-makeshlibs)
	dh_makeshlibs --remaining-packages
$(pkgs_lib:=-makeshlibs): %-makeshlibs:
	dh_makeshlibs -p$* '-V$* (>= $(DEB_VERSION_EPOCH_UPSTREAM)), $(ABIVirtualPackage)'

override_dh_gencontrol: $(pkgs_lib:=-gencontrol)
	dh_gencontrol --remaining-packages
$(pkgs_lib:=-gencontrol): %-gencontrol:
	dh_gencontrol -p$* -- -VABI:VirtualPackage=$(ABIVirtualPackage)

override_dh_auto_test:
	- xvfb-run -- dh_auto_test --no-parallel
