summaryrefslogtreecommitdiffstats
path: root/dilos/dependencies/arts/debian/rules
blob: b97d4a1af84bfdf669f85829855efd83964c1790 (plain)
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
#! /usr/bin/make -f

# Set LD_LIBRARY_PATH to the installed library directory to allow dh_shlibdeps to function
#ifeq ("$(LD_LIBRARY_PATH)", "")
#LD_LIBRARY_PATH=debian/tmp/opt/trinity/lib
#else
#LD_LIBRARY_PATH += :debian/tmp/opt/trinity/lib
#endif
#export LD_LIBRARY_PATH

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
include debian/cdbs/debian-tde.mk

DEB_TIME64_API		= $(shell echo | cc $(dpkg-buildflags --get CPPFLAGS) -dM -E -x c++ - | grep -q "_TIME_BITS 64" && echo true || false)
ifeq ($(DEB_TIME64_API),true)
DEB_TIME64_SUFFIX	= t64
else
DEB_TIME64_SUFFIX	= c2a
endif


DEB_CMAKE_EXTRA_FLAGS := \
-DCONFIG_INSTALL_DIR="/etc/trinity" \
-DSYSCONF_INSTALL_DIR="/etc/trinity" \
-DCMAKE_INCLUDE_PATH="/usr/include/tde" \
-DAUTODETECT_QT_DIRS="ON" \
-DCMAKE_VERBOSE_MAKEFILE="ON" \
-DBUILD_ALL="ON" \
-DCMAKE_SKIP_RPATH="OFF" \
-DWITH_GCC_VISIBILITY="ON" \
-DWITH_ALSA=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_COMPILER=gcc \
-DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)"

export CPPFLAGS+= -D__dilos__ -D__EXTENSIONS__ -D_XPG4_2

# ctfconvert does not work for C++ objects, skip them all
DEB_DH_STRIP_ARGS := --dbg-package=arts-trinity-dbg \
-Xlibartsflow_idl.so.1.0.0 -Xlibgmcop.so.1.0.0 -Xlibkmedia2_idl.so.1.0.0 \
-Xlibartscbackend.so.0.0.0 -Xlibartsflow.so.1.0.0 \
-Xlibartswavplayobject.so.0.0.0 -Xlibsoundserver_idl.so.1.0.0 \
-Xlibartsgslplayobject.so.0.0.0 -Xlibkmedia2.so.1.0.0 -Xlibmcop_mt.so.1.0.0 \
-Xlibmcop.so.1.0.0 -Xlibqtmcop.so.1.0.0 -Xartsplay -Xartsd -Xartscat \
-Xartsshell -Xartsrec -Xmcopidl

PACKAGES_WITH_LIBS := libarts1$(DEB_TIME64_SUFFIX)-trinity libartsc0-trinity

DEB_DH_MAKESHLIBS_ARGS_ALL := -V
DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/usr/lib/$(DEB_HOST_MULTIARCH))

DEB_DH_MAKESHLIBS_ARGS_libarts1$(DEB_TIME64_SUFFIX)-trinity	:= -V'libarts1$(DEB_TIME64_SUFFIX)-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity			:= -V'libartsc0-trinity (>= 1.5.9)'

#shlibs_ver = 1.5.0-1
#$(foreach p,$(PACKAGES_WITH_LIBS),$(eval DEB_DH_MAKESHLIBS_ARGS_$(p) := -V'$(p) (>= $(shlibs_ver))'))

DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

binary-predeb/libarts1-trinity-dev::
ifeq (linux,$(DEB_HOST_ARCH_OS))
	    echo "libasound2-dev=libasound2-dev" >> debian/libarts1-trinity-dev.substvars
endif

post-patches::
	dh_testdir
ifeq ($(DEB_TIME64_API),true)
	# update library package name for TIME64 ABI
	ls -d debian/* | \
	grep -E "/libarts1c2a" | \
	grep -v "\.t64$$" | \
	while read a; do \
	    [ -d $$a ] || [ -f $$a.t64 ] || \
	    (cp -a $$a debian/libarts1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
	done
	[ -f debian/control.t64 ] || \
	sed -i.t64 \
	    -e "s/^\\(Package: libarts1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
	    -e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libarts1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
	    -e "s/\\(libarts1\\)c2a-trinity (=/\\1$(DEB_TIME64_SUFFIX)-trinity (=/" \
	    debian/control
endif

clean::
	dh_testdir
	dh_clean

ifeq ($(DEB_TIME64_API),true)
	# revert library package name for TIME64 ABI
	ls -d debian/* | \
	grep -E "\.t64$$" | \
	while read a; do \
	    mv $$a $${a%.t64}; \
	done
	ls -d debian/* | \
	grep -E "/libarts1$(DEB_TIME64_SUFFIX)-" | \
	xargs -r rm
	[ ! -f debian/control.t64 ] || \
	mv debian/control.t64 debian/control
endif