#!/usr/bin/make -f
include /usr/share/dpkg/buildflags.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs
export DPKG_GENSYMBOLS_CHECK_LEVEL = 4

ifeq ($(DEB_HOST_ARCH_BITS),32)
    export DEB_BUILD_OPTIONS += optimize=-lto
endif

ifeq ($(filter amd64 arm64 armel armhf i386 mips64el ppc64el loong64 riscv64 s390x powerpc ppc64,$(DEB_HOST_ARCH)),)
SYSPROF += -Dsysprof=disabled
endif

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- \
		-Dauto_features=enabled \
		-Ddocumentation=$(if $(filter nodoc,$(DEB_BUILD_OPTIONS)),false,true) \
		$(SYSPROF)

override_dh_makeshlibs:
	dh_makeshlibs \
		-X /usr/lib/$(DEB_HOST_MULTIARCH)/papers/

execute_after_dh_install:
	install -m 0644 -D debian/apparmor-profile debian/papers/etc/apparmor.d/usr.bin.papers
	install -m 0644 -D debian/apparmor-profile.abstraction debian/papers/etc/apparmor.d/abstractions/papers
	install -m 0644 -D debian/papers.apport debian/papers/usr/share/apport/package-hooks/source_papers.py
	dh_apparmor --profile-name=usr.bin.papers -ppapers

# cargo-test's 30 minutes (1800 seconds) timeout
# isn't enough for Debian's riscv64 builders
override_dh_auto_test:

ifneq (,$(filter $(DEB_HOST_ARCH),riscv64))
	dh_auto_test --  --timeout-multiplier 2
else
	dh_auto_test
endif

override_dh_gnome_clean:

vendor:
	dh_quilt_patch
	rm -f .cargo/config
	rm -rf debian/missing-sources/
	$ cargo vendor-filterer --platform='*-*-linux-gnu' --platform '*-*-linux-gnueabi' \
	  --exclude-crate-path system-deps#src/tests/lib/libteststatic.a --all-features \
	  debian/missing-sources/
	git add -f debian/missing-sources
	git commit -m "Update vendored rust crates" || true
	git reset --hard && git clean -fdx

	uscan --download-current-version --destdir=..
	rm debian/source/include-binaries
	dpkg-source --include-binaries -b .
	git add debian/source/include-binaries
	git commit -m "Update debian/source/include-binaries" || true
	git reset --hard && git clean -fdx

	rm Cargo.toml
	VENDORED_SOURCES=$$(CARGO_VENDOR_DIR=debian/missing-sources/ /usr/share/cargo/bin/dh-cargo-vendored-sources 2>&1 | grep "^XS-Vendored-Sources-Rust:") \
	  && sed -i "s/^XS-Vendored-Sources-Rust:.*/$${VENDORED_SOURCES}/" debian/control
	git add debian/control
	git commit -m "Update XS-Vendored-Sources-Rust field" || true
	git checkout Cargo.toml
