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
|
#!/usr/bin/make -f
# -*- makefile -*-
include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/architecture.mk
# Apparently WGET agent is not favored by upstream's MoinMoin
WGET_AGENT_STRING="Lynx/2.8.8dev.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.8.6"
WGET=wget -q --user-agent=$(WGET_AGENT_STRING)
WIKI_URL=http://wiki.cython.org
# Python versions
PY3DEF=$(shell py3versions -dv)
PY3VERS=$(shell py3versions -vr)
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
RUNTESTSOPTS=--shard_count=$(NUMJOBS)
endif
# In case matplotlib or anything else inquires
export HOME=$(CURDIR)/build
export MPLCONFIGDIR=$(CURDIR)/build
%:
dh $@ --with python3 --buildsystem pybuild
override_dh_auto_build:
dh_auto_build
: # Build for Python 3
set -e; for v in $(PY3VERS); do \
python$$v setup.py build; \
python$$v-dbg setup.py build; \
done
override_dh_auto_install:
dh_auto_install
: # Install for Python 3
set -e; for v in $(PY3VERS); do \
python$$v setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \
python$$v-dbg setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \
done
: # Force the creation of cython3 and cygdb3 executables.
: # Shebang lines are fixed in override_dh_install.
cp debian/tmp/usr/bin/cython debian/tmp/usr/bin/cython3
cp debian/tmp/usr/bin/cygdb debian/tmp/usr/bin/cygdb3
override_dh_installman-arch: build/cython.1
dh_installman
build/cython.1:
: # Generate a manpage using help2man
PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*-$(PY3DEF)` \
help2man --no-info --no-discard-stderr \
-n "compile Cython code (.pyx) into C to build a Python extension" \
bin/cython >| build/cython.1
: # Verify that manpage generated nicely -- no Errors reported
grep -q 'ImportError:' build/cython.1 && exit 1 || :
override_dh_install-indep:
dh_install
override_dh_install-arch:
dh_install
: # fix shebang
sed -i -e '1 s,#!.*python.*,#!/usr/bin/python3,' debian/cython3/usr/bin/*
: # remove files installed from cython.install that belong in -dbg
find $(CURDIR)/debian/cython3/ -name "*.cpython-3*d*.so" -delete
: # share -dbg and normal package doc dirs
rm -rf debian/cython3-dbg/usr/share/doc/cython3-dbg
dh_link -pcython3-dbg usr/share/doc/cython3 usr/share/doc/cython3-dbg
# add debian version to watermark of generated files
sed -i -e "s/ on / (Debian $(DEB_VERSION)) on /" \
debian/cython3/usr/lib/python3/dist-packages/Cython/Compiler/Version.py
override_dh_installdocs:
: # Build Documentation
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
ifneq (,$(findstring -a,$(DH_INTERNAL_OPTIONS)))
: # not building documentation in -a
: # just faking having documentation so that dh-installdocs doesn't fail
mkdir -p docs/build/html
else
make -C docs html
: # Use jquery/underscore from Debian package, so prune shipped one
-rm docs/build/html/_static/jquery.js docs/build/html/_static/underscore.js
endif
endif
dh_installdocs --package=cython3 --package=cython3-dbg --link-doc=cython3 debian/upstream
dh_installdocs --package=cython-doc debian/upstream
override_dh_installchangelogs:
dh_installchangelogs --all CHANGES.rst
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))$(filter sparc64,$(DEB_HOST_ARCH)))
set -e; for P in $(PY3VERS); do \
echo =============== $$P start ===============; \
if PYTHONPATH=`/bin/ls -d $(CURDIR)/build/lib.*-$$P` \
/usr/bin/python$$P runtests.py $(RUNTESTSOPTS) \
--no-refnanny -v -v \
--exclude="(parallel|Debugger|annotate_html|numpy_test)" \
--work-dir=build/work-dir 2>&1; \
then \
echo =============== $$P done ===============; \
else \
echo "=============== $$P done (FAILURES IGNORED) ==============="; \
fi; \
done
endif
override_dh_python3:
dh_python3 -pcython3
override_dh_strip:
dh_strip -pcython3 --dbg-package=cython3-dbg
override_dh_auto_clean:
make clean
rm -rf Cython.egg-info docs/build
find -name "*.py[oc]" -type f -delete
|