#!/usr/bin/make -f

# resolve DEB_DISTRIBUTION
include /usr/share/dpkg/pkg-info.mk

# resolve if release is experimental
DEB_SUITE_EXP = $(filter experimental% UNRELEASED,$(DEB_DISTRIBUTION))

# use local fork of debcargo and dh-cargo
PATH := $(CURDIR)/debian/dh-cargo/bin:$(PATH)
PERL5LIB = $(CURDIR)/debian/dh-cargo/lib
export PATH PERL5LIB

# regnerate normalized Cargo.toml manifest file at install path
MANIFEST = $(shell set -e;\
 cargo package --offline --allow-dirty --no-verify --package $1;\
 ( cd target/package && tar -zxvf $1-$2.crate $1-$2/Cargo.toml );\
 cp -f target/package/$1-$2/Cargo.toml \
 debian/librust-$1-dev/usr/share/cargo/registry/$1-$2/Cargo.toml )

CRATE_VERSION = $(shell grep -Po 'version\W+\K[^"]+' identity/Cargo.toml)

%:
	dh $@ --buildsystem cargo

override_dh_auto_test:
	dh_auto_test -- --no-fail-fast $(if $(DEB_SUITE_EXP),|| true)

execute_after_dh_auto_install:
	$(call MANIFEST,libp2p-identity,$(CRATE_VERSION))

# avoid cleaning unless source is patched
override_dh_auto_clean:
	grep -q '"core"' Cargo.toml || dh_auto_clean
