#!/usr/bin/make -f
export DH_VERBOSE=1

MAKEFILE = $(firstword $(MAKEFILE_LIST))
DEBIAN_DIR = $(dir $(MAKEFILE))
SOURCE_DIR = $(DEBIAN_DIR)/..

DEB_VERSION = $(shell dpkg-parsechangelog -l$(DEBIAN_DIR)/changelog | grep ^Version | cut -d" " -f2)   
DEB_SOURCE_NAME = $(shell dpkg-parsechangelog -l$(DEBIAN_DIR)/changelog | grep ^Source | cut -d" " -f2)
VERSION = $(shell echo $(DEB_VERSION) | cut -d"-" -f1 | sed 's/+dfsg.*//')

override_dh_auto_configure:
	dh_auto_configure -- \
	  --disable-update-mimedb \
	  --disable-update-desktopdb \
	  --disable-monoextensions \
	  --enable-git --enable-subversion \
	  --enable-gnomeplatform \
	  MCS=/usr/bin/mono-csc CSC=/usr/bin/mono-csc

override_dh_auto_build:
	XDG_CONFIG_HOME=$(DEBIAN_DIR) dh_auto_build

override_dh_clideps:
	dh_clideps	--exclude-moduleref=/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon \
			--exclude-moduleref=/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
			--exclude-moduleref=/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices \
			--exclude-moduleref=libigemacintegration.dylib \
			--exclude-moduleref=/usr/lib/libobjc.dylib \
			--exclude-moduleref=glibsharpglue-2

override_dh_auto_test:
	# skip "make test"

override_dh_auto_install:
	dh_auto_install
	# install missing DLL maps
	cp debian/MonoDevelop.SourceEditor.dll.config debian/tmp/usr/lib/monodevelop/AddIns/
	cp debian/MonoDevelop.Gettext.dll.config debian/tmp/usr/lib/monodevelop/AddIns/MonoDevelop.Gettext/
	# fix permissions of .mo files
	cd $(CURDIR)/debian/tmp/usr/share/locale && find -name "*.mo" -exec chmod -x {} \;

override_dh_install:
	dh_install
	# remove nunit files (shipped in monodevelop-nunit)
	rm -rf debian/monodevelop/usr/lib/monodevelop/AddIns/NUnit/
	# remove versioncontrol files (shipped in monodevelop-versioncontrol)
	rm -rf debian/monodevelop/usr/lib/monodevelop/AddIns/VersionControl/
	# remove ChangeLogAddIn files (shipped in monodevelop-versioncontrol)
	rm -rf debian/monodevelop/usr/lib/monodevelop/AddIns/ChangeLogAddIn/

get-orig-source:
	uscan \
		--package $(DEB_SOURCE_NAME) \
		--watchfile $(DEBIAN_DIR)/watch \
		--upstream-version $(VERSION) \
		--download-version $(VERSION) \
		--destdir . \
		--force-download \
		--rename \
		--repack
	if [ -d $(DEB_SOURCE_NAME)-$(VERSION) ]; then \
		echo "$(DEB_SOURCE_NAME)-$(VERSION) is in the way, bailing out!"; \
		exit 1; \
	fi
	tar -xzf $(DEB_SOURCE_NAME)_$(VERSION).orig.tar.gz
	rm $(DEB_SOURCE_NAME)_$(VERSION).orig.tar.gz
	find $(DEB_SOURCE_NAME)-$(VERSION) -name "*.dll"
	find $(DEB_SOURCE_NAME)-$(VERSION) -name "*.dll" -delete
	tar --mtime=@1252623600 -cf ./$(DEB_SOURCE_NAME)_$(VERSION)+dfsg.orig.tar $(DEB_SOURCE_NAME)-$(VERSION)
	gzip -9fn ./$(DEB_SOURCE_NAME)_$(VERSION)+dfsg.orig.tar
	rm -r $(DEB_SOURCE_NAME)-$(VERSION)

%:
	dh $@ --with cli,autoreconf

.PHONY: get-orig-source
