1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
#!/usr/bin/make -f
PYVERS := $(shell pyversions -v -r debian/control)
DEFPY := $(shell pyversions -v -d)
PY_PLATFORM := $(shell python -c 'from distutils.util import get_platform; print get_platform()')
pd := python-matplotlib-doc
p := python-matplotlib
pdata := python-matplotlib-data
pdbg := python-matplotlib-dbg
# build
build: build-arch build-indep
build-indep: build-indep-stamp
build-indep-stamp: $(DEFPY:%=build-%-stamp)
dh_testdir
# add information to use local copy of 'sampledata' and bypass downloading
echo "examples.download : False" >> $(CURDIR)/doc/matplotlibrc
echo "examples.directory : $(CURDIR)/sampledata" >> $(CURDIR)/doc/matplotlibrc
# build the doc
-( cd doc ; MPLCONFIGDIR=. MATPLOTLIBDATA=../lib/matplotlib/mpl-data/ \
PYTHONPATH=../build/lib.$(PY_PLATFORM)-$(DEFPY) ./make.py --small all )
touch $@
build-arch: $(PYVERS:%=build-%-stamp)
build-%-stamp:
dh_testdir
cp -f debian/setup.cfg setup.cfg
python$* ./setup.py build $(PY_BUILD_FLAGS)
python$*-dbg ./setup.py build $(PY_BUILD_FLAGS)
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
echo "datapath : $(CURDIR)/lib/matplotlib/mpl-data/" > matplotlibrc
-PYTHONPATH=$(shell python$* -c "from distutils.command.build import build ; \
from distutils.core import Distribution ; \
b = build(Distribution()) ; \
b.finalize_options() ; \
print b.build_platlib") \
MATPLOTLIBDATA=$(CURDIR)/lib/matplotlib/mpl-data/ \
MPLCONFIGDIR=. \
python$* -c "import matplotlib as m ; m.test(verbosity=1)"
-PYTHONPATH=$(shell python$*-dbg -c "from distutils.command.build import build ; \
from distutils.core import Distribution ; \
b = build(Distribution()) ; \
b.finalize_options() ; \
print b.build_platlib") \
MATPLOTLIBDATA=$(CURDIR)/lib/matplotlib/mpl-data/ \
MPLCONFIGDIR=. \
python$*-dbg -c "import matplotlib as m ; m.test(verbosity=1)"
rm -f matplotlibrc
endif
touch $@
# clean
clean:
dh_testdir
dh_testroot
for i in $(PYVERS); do \
python$(i) ./setup.py clean --all; \
python$(i)-dbg ./setup.py clean --all; \
done
# clean the doc
-( cd doc ; ./make.py clean )
# workaround for cleaning the doc ("doc/make.py clean" only runs useless svn-clean)
rm -rf doc/build doc/examples
rm -f doc/mpl_examples/api/*.png
rm -f doc/mpl_examples/pylab_examples/*.png
rm -f doc/mpl_examples/pylab_examples/*.pdf
rm -f doc/mpl_examples/units/*.png
rm -f doc/pyplots/tex_demo.png
rm -f doc/_static/matplotlibrc
rm -f doc/_templates/gallery.html
find . -name '*.pyc' -exec rm {} \;
dh_clean lib/matplotlib/mpl-data/matplotlib.conf \
lib/matplotlib/mpl-data/matplotlibrc setup.cfg
rm -rf build
rm -rf lib/matplotlib.egg-info
# restore "pristine" doc/matplotlibrc
sed -i '/^examples\./d' $(CURDIR)/doc/matplotlibrc
# install
install-arch: build-arch $(PYVERS:%=install-%-stamp)
dh_testdir
dh_testroot
dh_numpy
install-%-stamp: build-%-stamp
dh_testdir
dh_testroot
python$* ./setup.py install_lib \
-d $(CURDIR)/debian/$(p)/usr/lib/python$*/site-packages/ --no-compile
python$* ./setupegg.py install_egg_info \
-d $(CURDIR)/debian/$(p)/usr/lib/python$*/site-packages/
python$*-dbg ./setup.py install_lib \
-d $(CURDIR)/debian/$(pdbg)/usr/lib/python$*/site-packages/ --no-compile
find debian/$(pdbg) ! -type d ! -name '*.so' | xargs rm -f
find debian/$(pdbg) -depth -empty -exec rmdir {} \;
# don't install baseline_images, needed for tests only, but huge
rm -rf $(CURDIR)/debian/$(p)/usr/lib/python$*/*-packages/matplotlib/tests/baseline_images/
rm -rf $(CURDIR)/debian/$(p)/usr/lib/python$*/site-packages/matplotlib/mpl-data/
rm -rf $(CURDIR)/debian/$(p)/usr/lib/python$*/site-packages/matplotlib/backends/Matplotlib.nib/
rm -rf $(CURDIR)/debian/$(pdbg)/usr/lib/python$*/site-packages/matplotlib/mpl-data/
rm -rf $(CURDIR)/debian/$(pdbg)/usr/lib/python$*/site-packages/matplotlib/backends/Matplotlib.nib/
touch $@
install-indep: build-indep
dh_testdir -i
dh_testroot -i
dh_prep
dh_install -p $(pdata)
rm -fr $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/Vera*.ttf
rm -fr $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/*.TXT
rm -fr $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/local.conf
rm -fr $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt
chmod 644 $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/images/*.svg
# link to fonts in ttf-lyx
ln -sf /usr/share/fonts/truetype/ttf-lyx/cmex10.ttf $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/cmex10.ttf
ln -sf /usr/share/fonts/truetype/ttf-lyx/cmmi10.ttf $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/cmmi10.ttf
ln -sf /usr/share/fonts/truetype/ttf-lyx/cmr10.ttf $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/cmr10.ttf
ln -sf /usr/share/fonts/truetype/ttf-lyx/cmsy10.ttf $(CURDIR)/debian/$(pdata)/usr/share/matplotlib/mpl-data/fonts/ttf/cmsy10.ttf
# binary
binary-indep: build-indep install-indep
dh_testdir -i
dh_testroot -i
dh_installchangelogs -i CHANGELOG
dh_installdocs -p$(pd) -i doc/build/html/ doc/build/latex/Matplotlib.pdf
# remove pyc file from doc
find $(CURDIR)/debian/$(pd)/ -type f -name '*.pyc' | xargs rm -f
dh_installexamples -p$(pd) -i examples/*
dh_compress -i -Xexamples -Xexamples/data -Xpdf -X.js -Xobjects.inv
dh_link -i
dh_sphinxdoc
dh_lintian -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary-arch: build-arch install-arch
dh_testdir -a
dh_testroot -a
dh_installchangelogs -a CHANGELOG
dh_installdocs -p$(p) -a README.txt TODO
# make python scripts starting with '#!' executable
for i in `find debian -mindepth 2 -type f ! -perm 755`; do \
if head -1 $$i | grep -q '^#!'; then \
chmod 755 $$i; \
echo "made executable: $$i"; \
fi; \
done
dh_pysupport -a
dh_link -a
dh_lintian -a
dh_strip -a --dbg-package=$(pdbg)
# fix python-debug-in-wrong-location lintian warning
cd debian/*-dbg/usr/lib/debug/usr/lib && mv pyshared pymodules
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|