File: rules

package info (click to toggle)
emacspeak 49.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 28,124 kB
  • sloc: lisp: 60,077; xml: 14,159; tcl: 1,332; cpp: 1,175; sh: 859; makefile: 754; python: 534; perl: 419
file content (140 lines) | stat: -rwxr-xr-x 4,492 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
132
133
134
135
136
137
138
139
140
#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

DEB_BUILD_MAINT_OPTIONS := hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/pkg-info.mk

package=emacspeak
debbase := $(shell pwd)/debian
pkgtmp  := $(debbase)/$(package)
eldir   := usr/share/emacs/site-lisp/$(package)
deblsp  := $(pkgtmp)/$(eldir)
tmpdir  := $(debbase)/tmp/$(eldir)

%:
	dh  $@

override_dh_auto_build-arch:
	$(MAKE) TCL_VERSION="" --directory servers/linux-espeak

override_dh_auto_build-indep:
	echo $(DEB_VERSION) > debian_version

# Upstream doesn't ship a changelog file but NEWS-* basically contain what is needed
# so cat that all together. Not 100% elegant, but it will do for now.
# Note: the loop is to sort 8 and 9 before the rest
	echo > changelog
	for release in 8 9 1 2 3 4 ; do \
		cat etc/NEWS-$${release}* >> changelog ; \
	done
	cat etc/NEWS >> changelog

	# The 3d auditory icon theme was generated using CSound, but it expects the
	# reference files in the same directory.
	ln -s /usr/share/csound/hrtf/*.dat sounds/3d/src/
	cd sounds/3d/src ; \
	for file in *.csd ; do \
		if [ ! "$$file" = interactive.csd ] ; then \
			csound -o ../$${file%csd}wav $$file ; \
		fi ; \
	done

	$(MAKE) --directory=etc tips.html applications.html

override_dh_auto_clean:
	debconf-updatepo

	$(MAKE) clean
	$(MAKE) --directory servers/linux-espeak clean

# the following items should be done by the get-orig-source target, but
# leave them here just in case we might not need that target in the future
# the sources included some byte-compiled file by mistake
	find . -name \*.elc -delete
	find . -name \*.pyc -delete
	find . -name \*.pyo -delete
	dh_clean

override_dh_auto_install-indep:
	dh_auto_install

	# Upstream stopped providing an install target. Instead it recommends to
	# "copy the resulting emacspeak directory to the install location". So,
	# let's do that, but prevent the debian sub dir to be copied, as I fear
	# that would lead to some level of recursive copying.
	#
	# Also strip out personal tvr stuff.
	#
	# For now, also don't install the bash-utils, as it requires some thinking
	# and tweaking for Debian to function properly.
	#
	# And, to avoid clutter from etc/, lets do that via emacspeak.install
	mkdir -p $(tmpdir)
	cp -pR $$(find . -maxdepth 1 -type d ! -name .\* ! -name bash-utils ! -name debian \
		! -name etc ! -name tvr -o -type f) $(tmpdir)

	# Obviously, now we need to remove the stuff we don't want here.
	find $(tmpdir) -name \*~ -delete
	find $(tmpdir) -name \*.elc -delete
	find $(tmpdir) -depth -name .\* -exec rm -r {} \;
	# Doesn't seem to make sense in a Debian package where we use emacspeak.sh
	# instead
	rm $(tmpdir)/run
	rm $(tmpdir)/runq
	# Already compiled and shipped in emacspeak-espeak-server
	rm -r $(tmpdir)/servers/linux-espeak
	# Should be made into a proper package
	rm -r $(tmpdir)/servers/linux-outloud
	# Files for Mac, not for Debian
	rm -r $(tmpdir)/servers/mac
	rm -r $(tmpdir)/servers/log-mac
	# Source files
	rm -r $(tmpdir)/sounds/3d/src
	# Original convertion script, but useless now
	rm $(tmpdir)/sounds/pan-chimes/apply-pan.sh
	# Let it generated at configuration
	rm $(tmpdir)/lisp/emacspeak-cus-load.el
	rm $(tmpdir)/lisp/emacspeak-loaddefs.el

override_dh_auto_install-arch:

override_dh_install-indep:
	# Exclude the files that go into the documentation
	dh_install --list-missing -Xdtk/DTK -Xetc/NEWS -XREADME -X.html -Xremote.txt -Xstumpwm
	# We will sed it at configuration
	mv debian/emacspeak/$(eldir)/etc/emacspeak.sh debian/emacspeak/$(eldir)/etc/emacspeak.sh.in

override_dh_fixperms-indep:
# Only fix the following in the indep case
# scripts and speech servers should be executable
	if [ -d $(deblsp) ] ; then \
		chmod 644 `find $(deblsp) -type f`; \
		chmod 755 $(deblsp)/etc/*.pl				\
			$(deblsp)/etc/*2text				\
			$(deblsp)/etc/emacspeak.sh.in          \
			$(deblsp)/servers/cloud*			\
			$(deblsp)/servers/dtk-exp			\
			$(deblsp)/servers/espeak			\
			$(deblsp)/servers/log-*			\
			$(deblsp)/servers/outloud			\
			$(deblsp)/servers/speech-server			\
			$(deblsp)/servers/ssh-dtk-exp			\
			$(deblsp)/servers/ssh-espeak			\
			$(deblsp)/servers/ssh-outloud ;			\
	fi

	dh_fixperms

override_dh_compress:
# NEWS can be called from emacspeak command, don't compress
	dh_compress -XNEWS

override_dh_auto_test-indep:
	dh_auto_test
	# To see if compiling the code works and we are not missing dependencies
	$(MAKE)