File: rules

package info (click to toggle)
snd 17.1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 47,768 kB
  • ctags: 57,384
  • sloc: ansic: 319,412; lisp: 234,471; ruby: 71,870; sh: 3,234; fortran: 2,342; csh: 1,316; makefile: 279; cpp: 273; python: 47
file content (112 lines) | stat: -rwxr-xr-x 4,191 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
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2014-2016 IOhannes m zmölnig <zmoelnig@iem.at>
# Description: Main Debian packaging script for snd
#
# The authors hereby grant permission to use, copy, modify, distribute,
# and license this software and its documentation for any purpose.  No
# written agreement, license, or royalty fee is required.  Modifications
# to this software may be copyrighted by their authors and need not
# follow the licensing terms described here.
#
# IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
# FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
# ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
# DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
# IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
# NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
# MODIFICATIONS.

# needs to be declared before including makefile.mk
DEB_MAKE_FLAVORS = nox gtk-jack gtk-pulse

DEB_BUILDDIR = build

export AUTOHEADER=true

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/rules/utils.mk

DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \
	^(pix/.*\.png|debian/(changelog|copyright(|_hints|_newhints)))$

DEB_CONFIGURE_EXTRA_FLAGS = \
	--with-ladspa \
	--with-gmp \
	--prefix=/usr

## per flavor configure options
# the code includes inline-asm for atomic ops, but only for i386/amd64/powerpc
# see https://bugs.debian.org/#555538
ifneq (,$(findstring :$(DEB_HOST_ARCH_CPU):,:i386:powerpc:amd64:))
configureflags_audio_jack  = --with-jack
else
configureflags_audio_jack  =
endif
# use ALSA on linux, and OSS non non-linux
ifneq (,$(findstring linux,$(DEB_HOST_ARCH_OS)))
configureflags_audio_default  = --with-alsa
else
configureflags_audio_default  = --with-oss
endif

# nox (alsa/oss + jack)
DEB_CONFIGURE_EXTRA_FLAGS_nox       = --without-gui \
	$(configureflags_audio_default) $(configureflags_audio_jack)

# gtk-jack (jack + alsa[sic!]/oss)
DEB_CONFIGURE_EXTRA_FLAGS_gtk-jack  = --with-gtk \
	$(configureflags_audio_default) $(configureflags_audio_jack)

## gtk-pulse (pulseaudio)
DEB_CONFIGURE_EXTRA_FLAGS_gtk-pulse = --with-gtk --with-pulseaudio

## append any extra args for configure
DEB_CONFIGURE_EXTRA_FLAGS += $(DEB_CONFIGURE_EXTRA_FLAGS_$(cdbs_make_curflavor))

## do not embed __DATE__ (see debian/patches/reproducible.diff)
CPPFLAGS+=-DREPRODUCIBLE_BUILD=1

# upstream naively (and wrongly) assumes
# that they only need to link against "-lpulse-simple"
DEB_MAKE_EXTRA_ARGS_gtk-pulse=AUDIO_LIB="$(shell pkg-config --libs libpulse-simple)"

## append any extra args for make
DEB_MAKE_EXTRA_ARGS += $(DEB_MAKE_EXTRA_ARGS_$(cdbs_make_curflavor))

## right; everybody their own changelog filename!
DEB_INSTALL_CHANGELOGS_ALL=debian/upstream-changelog


SND_MANPAGES=snd.nox.1 snd.gtk-jack.1 snd.gtk-pulse.1
$(SND_MANPAGES): snd.1
	cp $^ $@

build/snd-nox:: snd.nox.1
build/snd-gtk-jack:: snd.gtk-jack.1
build/snd-gtk-pulse:: snd.gtk-pulse.1

binary-post-install/snd-nox binary-post-install/snd-gtk-jack binary-post-install/snd-gtk-pulse::
	mv $(CURDIR)/debian/$(cdbs_curpkg)/usr/bin/snd \
	   $(CURDIR)/debian/$(cdbs_curpkg)/usr/bin/snd.$(patsubst snd-%,%,$(cdbs_curpkg))

clean::
	rm -f $(SND_MANPAGES)


## missing sources for s7webserver/jqconsole.min.js
##  it seems like the minification was done with a different version of
##  'uglifyjs', as it doesn't produce the same output (whereas the current
##  version of jqconsole builds reproducible)
JQCONSOLE_COMMIT=96eb6c42434d2cd30c83cc9af4e3d574cd6c39c6
s7webserver/jqconsole.min.js: debian/missing-sources/jqconsole.coffee
	coffee -c -p $< | uglifyjs -m -o $@
debian/missing-sources/jqconsole.coffee:
	wget -O $@ https://raw.githubusercontent.com/replit/jq-console/$(JQCONSOLE_COMMIT)/src/jqconsole.coffee