#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-

# override HOME (for weave) and matplotlib config directory
# to allow building in chroots with read-only HOME
export HOME=$(CURDIR)/build
export MPLCONFIGDIR=$(HOME)

export PY3VER=$(shell py3versions -vd)

export PYBUILD_NAME=statsmodels
export PYBUILD_INSTALL_ARGS=--install-layout=deb
export PYBUILD_TEST_ARGS = --exclude='(test_sarimax)|(test_structural)|(test_dynamic_factor)|(test_varmax)'

%:
	dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild

ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES)))
.PHONY: override_dh_auto_test
endif

# To guarantee HOME existence with mpl 1.3.0
# See https://github.com/matplotlib/matplotlib/issues/2300
#     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719384
$(HOME):
	mkdir "$@"
	: # Hardcode backend to Agg to avoid doc build and tests failures
	echo "backend : Agg" >| $(MPLCONFIGDIR)/matplotlibrc

override_dh_auto_build-arch: $(HOME)
	dh_auto_build

override_dh_auto_build-indep: $(HOME)
	: # Documentation depends on built package
	dh_auto_build
	: # I: Generate documentation
	: # Build Documentation -- assure existence of build/html for nodoc
	mkdir -p build/html
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	http_proxy=127.0.0.1:9 \
	PYTHONPATH=$(CURDIR)/.pybuild/pythonX.Y_${PY3VER}/build \
	BUILDDIR=$(CURDIR)/build \
	STATSMODELS_DATA=$(CURDIR)/debian/datasets/ \
	 make -C docs html
	mv docs/build/* build/
	: # Fix up links to MathJax to be local
	grep -l '/mathjax/' -R build/html/examples/notebooks \
	| xargs -r sed -i -e 's,https://\S*.org/mathjax/latest/MathJax.js,file:///usr/share/javascript/mathjax/MathJax.js,g'
	: # Replace require
	grep -l '/requirejs/' -R build/html/examples/notebooks \
	| xargs -r sed -i -e 's,https://\S*.com/ajax/libs/require.js/.*/require.min.js,file:///usr/share/javascript/requirejs/require.min.js,g'
	grep -l '/jquery/' -R build/html/examples/notebooks \
	| xargs -r sed -i -e 's,https://\S*.com/ajax/libs/jquery/.*/jquery.min.js,file:///usr/share/javascript/jquery/jquery.min.js,g'
endif

override_dh_installdocs:
	rm -rf docs/source/generated/
	dh_installdocs

override_dh_auto_clean:
	dh_auto_clean
	-rm -rf cythonize.dat \
	       *.egg-info \
	       *.png \
	       docs/build/ \
	       docs/rehab.table \
	       docs/salary.table \
	       docs/source/datasets/generated \
	       docs/source/dev/generated \
	       docs/source/datasets/statsmodels.datasets.*.rst \
	       docs/source/examples/notebooks/generated \
	       examples/executed \
	       statsmodels/tsa/statespace/_statespace.pyx \
	       statsmodels/tsa/regime_switching/_hamilton_filter.pyx \
	       tools/hash_dict.pickle
	: # Remove autogenerated version.py
	rm -f statsmodels/version.py

override_dh_install:
	dh_install
	: # Remove compiled due to testing files
	find debian -name *.pyc -delete
	: # strip docs/ since they aren't really a Python module, there is -doc for it
	: # TODO find debian -wholename \*scikits/statsmodels/docs | xargs rm -rf
	find debian -iname COPYING -o -iname LICENSE* | xargs -r rm -f


## immediately useable documentation and exemplar scripts/data
override_dh_compress:
	dh_compress -X.py -X.html -X.pdf -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -X.inv -Xobjects.inv



## move binary libraries into -lib
override_dh_auto_install:
	dh_auto_install
	for PACKAGE_NAME in python-statsmodels python3-statsmodels; do \
	  for lib in $$(find debian/$${PACKAGE_NAME}/usr -name '*.so'); do \
	     sdir=$$(dirname $$lib) ; \
	     tdir=debian/$${PACKAGE_NAME}-lib/$${sdir#*$${PACKAGE_NAME}/} ; \
	     mkdir -p $$tdir ; \
	     echo "I: Moving '$$lib' into '$$tdir'." ; \
	     mv $$lib $$tdir ; \
	  done ; \
	done
	: # Prune scikits/__init__.py to avoid conflicts
	find debian -wholename \*scikits/__init__.py -delete
	: # Move scikits. space into a compatibility package
	set -e; \
	find debian -wholename \*scikits -type d | while read skd; do \
		skbd=$$(dirname $$skd); \
		skbd_=$$(echo $$skbd | sed -e 's/python-statsmodels/python-scikits.statsmodels/g' \
		                     | sed -e 's/python3-statsmodels/python3-scikits.statsmodels/g'); \
		mkdir -p $$skbd_; \
		mv $$skd $$skbd_; \
	done
	dh_numpy
	dh_numpy3

get-orig-source:
	uscan --upstream-version 0 --rename
