File: rules

package info (click to toggle)
cython 0.29.32-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 15,028 kB
  • sloc: python: 67,518; ansic: 14,866; cpp: 1,340; xml: 1,031; makefile: 393; lisp: 206; sh: 137; sed: 11
file content (131 lines) | stat: -rwxr-xr-x 4,032 bytes parent folder | download
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