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
|
#!/usr/bin/make -f
include /usr/share/dpkg/architecture.mk
unexport LDFLAGS
export FFLAGS="-fPIC"
export ATLAS=None
export PATH := $(CURDIR)/debian/extra_bin:$(PATH)
PY2VERS:= $(shell pyversions -v -r debian/control)
PY3VERS:= $(shell py3versions -v -r debian/control)
TMPDIR := $(CURDIR)/build/tmp
BASE=$(shell pwd)/debian
PYLIBPATH := $(shell python3 -c "from distutils.command.build import build ; from distutils.core import Distribution ; b = build(Distribution()) ; b.finalize_options() ; print(b.build_platlib)")
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
export NPY_NUM_BUILD_JOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
%:
dh $@ --with python2,python3
clean: override_dh_auto_clean
override_dh_auto_clean:
rm -rf build
-rm -rf doc/source/fontList.cache
-rm -rf doc/build
-rm -rf debian/extra_bin
find . -name "*.pyc" -exec rm {} \;
dh_clean
override_dh_auto_configure:
rm -f cythonize.dat
touch scipy/linalg/_generate_pyx.py scipy/special/_generate_pyx.py
python3 tools/cythonize.py
build-python%:
python$* setup.py config_fc --noarch build;
CFLAGS="-g -ggdb" python$*-dbg setup.py config_fc \
--noarch build;
build: build-arch build-indep
build-arch:
dh build-arch --with=python2,python3
build-indep: build-arch
# generate documentation (see comment below) needs compiled scipy
(export MPLCONFIGDIR=. ; make -C doc html PYTHONPATH=../$(PYLIBPATH) PYVER=3)
override_dh_auto_build: $(PY2VERS:%=build-python%) $(PY3VERS:%=build-python%)
install-python%:
python$* setup.py install --root $(BASE)/tmp \
--force --no-compile --install-layout=deb;
python$*-dbg setup.py install --root $(BASE)/tmp \
--force --no-compile --install-layout=deb;
override_dh_install-indep: $(PY3VERS:%=install-python%) $(PY2VERS:%=install-python%)
dh_install
override_dh_install-arch: $(PY3VERS:%=install-python%) $(PY2VERS:%=install-python%)
dh_install
find debian/python-scipy -type f -name '*_d.so' -delete
find debian/python3-scipy -type f -name '*.cpython-3?d*.so' -delete
find debian/python-scipy-dbg ! -type d ! -name '*_d.so' -delete
find debian/python3-scipy-dbg ! -type d ! -name '*.cpython-3?d*.so' -delete
find debian/python-scipy-dbg -depth -empty -exec rmdir {} \;
find debian/python3-scipy-dbg -depth -empty -exec rmdir {} \;
rm -f $(BASE)/python-scipy*/usr/lib/python*/*-packages/scipy/LICENSE.txt;
rm -fr $(BASE)/python-scipy*/usr/lib/python*/*-packages/scipy/weave/examples/
# drop all the installed setup.py files
find $(BASE)/ -name setup.py -delete
find $(BASE)/ -name generate_ufuncs.py -delete
set -e && for py in $(PY2VERS); do \
ln -sf /usr/lib/python$$py/dist-packages/decorator.py $(BASE)/python-scipy/usr/lib/python$$py/dist-packages/scipy/_lib/decorator.py; \
done
ln -sf /usr/lib/python3/dist-packages/decorator.py $(BASE)/python3-scipy/usr/lib/python3/dist-packages/scipy/_lib/decorator.py
# not ported to py3 in 0.10.1
rm -rf $(BASE)/python3-scipy/usr/lib/python3/dist-packages/scipy/weave
dh_numpy
dh_numpy3
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
mkdir -p $(TMPDIR)
-set -e && for pyvers in $(PY2VERS); do \
ADTTMP=$(TMPDIR) \
PYTHONPATH=$(BASE)/python-scipy/usr/lib/python$$pyvers/dist-packages/ \
PYS=python$$pyvers TESTMODE=fast $(BASE)/tests/python2; \
done
-set -e && for pyvers in $(PY3VERS); do \
ADTTMP=$(TMPDIR) \
PYTHONPATH=$(BASE)/python3-scipy/usr/lib/python3/dist-packages/ \
PYS=python$$pyvers TESTMODE=fast $(BASE)/tests/python3; \
done
endif
override_dh_fixperms-arch:
dh_fixperms
set -e; for i in `find debian -mindepth 2 -type f ! -perm 755`; do \
if head -1 $$i | grep -q '^#!' ; then \
chmod +x $$i; \
fi ; \
done
sed -i '1s|.|#!/usr/bin/python\n&|' $(BASE)/python-scipy/usr/lib/$(shell pyversions -d)/dist-packages/scipy/cluster/tests/test_vq.py
sed -i '1s|.|#!/usr/bin/python\n&|' $(BASE)/python-scipy/usr/lib/$(shell pyversions -d)/dist-packages/scipy/stats/tests/test_stats.py
sed -i '1s|.|#!/usr/bin/python3\n&|' $(BASE)/python3-scipy/usr/lib/python3/dist-packages/scipy/cluster/tests/test_vq.py
sed -i '1s|.|#!/usr/bin/python3\n&|' $(BASE)/python3-scipy/usr/lib/python3/dist-packages/scipy/stats/tests/test_stats.py
#replace all the usr/bin/env python
find $(BASE)/python3-scipy/usr/lib/python3/ -name "*.py" -type f | xargs sed -i -e "1s#usr/bin/env\s\+python\s*\$$#usr/bin/env python3#"
override_dh_strip:
dh_strip -ppython-scipy --dbg-package=python-scipy-dbg
dh_strip -ppython3-scipy --dbg-package=python3-scipy-dbg
override_dh_installdocs-indep:
dh_installdocs -i
rm -rf debian/python-scipy-doc/usr/share/doc/python-scipy-doc/html/_static/jquery.js
dh_link -ppython-scipy-doc /usr/share/javascript/jquery/jquery.js /usr/share/doc/python-scipy-doc/html/_static/jquery.js
rm -rf debian/python-scipy-doc/usr/share/doc/python-scipy-doc/html/_static/underscore.js
dh_link -ppython-scipy-doc /usr/share/javascript/underscore/underscore.js /usr/share/doc/python-scipy-doc/html/_static/underscore.js
dh_sphinxdoc -i -XMathJax.js
find debian/python-scipy-doc/ -name scipy-mathjax | xargs rm -rf
rdfind -outputname /dev/null -makesymlinks true -removeidentinode false debian/python-scipy-doc
symlinks -r -s -c debian/python-scipy-doc
|