#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# For get-orig-source
UURL = https://github.com/laserb/gnome-shell-extension-suspend-button.git
PKD   = $(abspath $(dir $(MAKEFILE_LIST)))
PKG   = $(word 2,$(shell dpkg-parsechangelog -l$(PKD)/changelog | grep ^Source))
VER  ?= $(shell dpkg-parsechangelog -l$(PKD)/changelog  -SVersion | sed -e s/^.*git// -e s/-.*//)
TYPE = +repack
UPSVER ?= $(shell dpkg-parsechangelog -l$(PKD)/changelog -SVersion | cut -d~ -f1)


%:
	dh $@

override_dh_auto_build:
	glib-compile-schemas --strict --targetdir=schemas/ schemas
	for po in locale/*/*/*.po; do \
		msgfmt -cv -o $${po%.po}.mo $$po; \
        done
	dh_auto_build

override_dh_install:
	# Installing translations
	for mo in $$(cd locale; ls */*/*.mo); do \
        	lang=$$(dirname $$mo); \
		mkdir -p debian/$(PKG)/usr/share/locale/$$lang; \
		cp locale/$$mo debian/$(PKG)/usr/share/locale/$$lang/gnome-shell-extension-suspend-button.mo; \
	done
	dh_install

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

UDATE = $(shell date --rfc-3339=seconds --date='TZ="UTC" \
	$(shell echo ~git$(VER) | perl -ne 'print "$$1-$$2-$$3" if m/\~(?:git|svn|hg)(\d{4})(\d{2})(\d{2})/')')

$(PKG)_$(UPSVER)~git$(VER)$(DTYPE).orig.tar.xz:
	@#echo DEBUG: VER=$(VER) UDATE=$(UDATE) UPSVER=$(UPSVER)
	@#$(info I: UDATE=$(UDATE))
	$(if $(wildcard $(PKG)-$(UPSVER)~git$(VER)),$(error $(PKG)-$(UPSVER)~git$(VER) exist, aborting..))
	@echo "# Downloading..."
	git clone $(UURL) $(PKG)-$(UPSVER)~git$(VER) \
	|| $(RM) -r $(PKG)-$(UPSVER)~git$(VER)
	cd $(PKG)-$(UPSVER)~git$(VER) \
	&& git checkout v$(VER) || git checkout $$(git log -n1 --format=%h --before="$(UDATE)") \
	&& ( echo "# Generating ChangeLog..." \
	&& git log --pretty="format:%ad  %aN  <%aE>%n%n%x09* %s%n" --date=short > ChangeLog \
	&& touch -d "$$(git log -1 --format='%ci')" ChangeLog) \
	&& echo "# Setting times..." \
	&& for F in $$(git ls-tree -r --name-only HEAD); do touch --no-dereference -d "$$(git log -1 --format="%ai" -- $$F)" "$$F"; done \
	&& echo "# Cleaning-up..." \
	&& $(RM) -r -v \
		notneededdir/unwantedfile1 \
		notneededdir/unwantedfiles.* \
	&& $(RM) -r .git .git*
	@echo "# Packing..."
	find -L "$(PKG)-$(UPSVER)~git$(VER)" -xdev -type f -print | sort \
	| XZ_OPT="-6v" tar -caf "$(PKG)_$(UPSVER)~git$(VER)$(DTYPE).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX \
	&& $(RM) -r "$(PKG)-$(UPSVER)~git$(VER)"
