#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

FLAVORS = gtk3

CONFIGURE_FLAGS_gtk3 = --with-gtk=3

CONFIGURE_COMMON_FLAGS += --disable-dumper --disable-scrollkeeper --enable-gtk-doc --enable-introspection  --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)

INSTALL_COMMON_FLAGS =
MISSING_COMMON_FLAGS = --fail-missing

LDFLAGS += -Wl,-z,defs -Wl,--as-needed

%:
	dh $@ --with autoreconf,gir

override_dh_autoreconf:
	NOCONFIGURE=1 dh_autoreconf ./autogen.sh

override_dh_auto_configure: $(FLAVORS:%=doconfigure-%)

doconfigure-%:
	DH_VERBOSE=1 dh_auto_configure --builddirectory=builddir/$* -- $(CONFIGURE_FLAGS_$*) $(CONFIGURE_COMMON_FLAGS)

override_dh_auto_build: $(FLAVORS:%=dobuild-%)

dobuild-%:
	dh_auto_build --builddirectory=builddir/$*

override_dh_auto_install: $(FLAVORS:%=doinstall-%)

doinstall-%:
	dh_auto_install --no-parallel --builddirectory=builddir/$* --destdir=debian/tmp/$*

override_dh_auto_test: $(FLAVORS:%=dotest-%)

override_dh_auto_clean:
	dh_auto_clean
	rm -Rvf builddir/

dotest-%:
ifeq ($(DEB_HOST_ARCH),ppc64el)
	: # ignore the test results on $(DEB_HOST_ARCH)
	-VERBOSE=1 xvfb-run -a dh_auto_test --builddirectory=builddir/$*
else
	VERBOSE=1 xvfb-run -a dh_auto_test --builddirectory=builddir/$*
endif

override_dh_missing:
	dh_missing $(MISSING_COMMON_FLAGS) -pgir1.2-dbusmenu-glib-0.4 --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -pgir1.2-dbusmenu-gtk3-0.4 --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-glib4 --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-glib-dev --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-glib-doc --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-gtk3-4 --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-gtk3-dev --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-jsonloader4 --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-jsonloader-dev --sourcedir=debian/tmp/gtk3
	dh_missing $(MISSING_COMMON_FLAGS) -plibdbusmenu-tools --sourcedir=debian/tmp/gtk3

override_dh_install:
	find debian/tmp -name \*.la -delete
	dh_install $(INSTALL_COMMON_FLAGS) -pgir1.2-dbusmenu-glib-0.4 --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -pgir1.2-dbusmenu-gtk3-0.4 --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-glib4 --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-glib-dev --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-glib-doc --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-gtk3-4 --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-gtk3-dev --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-jsonloader4 --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-jsonloader-dev --sourcedir=debian/tmp/gtk3
	dh_install $(INSTALL_COMMON_FLAGS) -plibdbusmenu-tools --sourcedir=debian/tmp/gtk3

override_dh_shlibdeps:
	dh_shlibdeps -plibdbusmenu-gtk3-4 -- -xlibgtk-3-0
	dh_shlibdeps -plibdbusmenu-glib4
	dh_shlibdeps -plibdbusmenu-jsonloader4
	dh_shlibdeps -plibdbusmenu-tools

include /usr/share/dpkg/pkg-info.mk

NULL  =
PKD   = $(word 2, abspath $(dir $(MAKEFILE_LIST)))
PKG   = $(DEB_SOURCE)
UVER  = $(shell echo $(DEB_VERSION) | cut -d "-" -f1)
DTYPE = +repack1
VER  ?= $(subst $(DTYPE),,$(UVER))
REV   = $(shell echo $(VER) | perl -ne 'print "$$1" if m/(?:git|svn|hg|bzr)(\d+)/;')

#get-orig-source:
#	uscan --noconf --force-download --rename --download-current-version --destdir=..

## http://wiki.debian.org/onlyjob/get-orig-source
.PHONY: get-orig-source
get-orig-source: $(PKG)_$(VER)$(DTYPE).orig.tar.xz $(info I: $(PKG)_$(VER)$(DTYPE))
	@

## checkout from bzr (add "bzr (>= 2.6.0~bzr6520)" to Build-Depends, see #666496)
UURL = lp:libdbusmenu
$(PKG)_$(VER)$(DTYPE).orig.tar.xz:
	$(if $(wildcard $(PKG)-$(VER)),$(error $(PKG)-$(VER) exist, aborting..))
	bzr checkout --hardlink --lightweight --revision=$(REV) $(UURL) $(PKG)-$(VER) \
	    || $(RM) -r $(PKG)-$(VER)
	@echo "# Creating ChangeLog..."
	cd $(PKG)-$(VER) && bzr log --log-format=line > ChangeLog.bzr
	@echo "# Modifying..."
	cd $(PKG)-$(VER) && rm -Rfv \
	    .bzr-builddeb \
	    .bzr \
	    debian/ \
	    $(NULL)
	@echo "# Packing..."
	find -L "$(PKG)-$(VER)" -xdev -type f -print | sort \
	    | XZ_OPT="-6v" tar -caf "../$(PKG)_$(VER)$(DTYPE).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX \
	    && $(RM) -r "$(PKG)-$(VER)"