File: rules

package info (click to toggle)
virglrenderer 0.10.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 78,744 kB
  • sloc: ansic: 118,882; sh: 1,259; python: 962; makefile: 40
file content (67 lines) | stat: -rwxr-xr-x 2,192 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
#!/usr/bin/make -f

include /usr/share/dpkg/buildflags.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export CK_TIMEOUT_MULTIPLIER=100

%:
	dh $@ --buildsystem=meson

configure-opts = \
	-Dtests=true \
	-Dvideo=true \

ifneq (armel, ${DEB_HOST_ARCH})
# vulkan requires 32bit atomic ints, armel lacks one (#1021861)
configure-opts += \
	-Drender-server=true \
	-Drender-server-worker=process \
	-Dvenus-experimental=true
endif

override_dh_auto_configure:
	dh_auto_configure -- ${configure-opts}

# deal with #842246
override_dh_autoreconf:

execute_after_dh_auto_install:
# remove Requires.private from .pc file (#1019485)
# these are needed for static build and we're not providing static lib
# virgl does not #include<> headers from their dependencies, only libs
# which are needed for static linking. meson puts this to Requires.private
# (instead of Libs.private), and both makes pkgconfig to fail if the
# corresponding .pc files are not found. virglrenderer has grown quite a
# few "internal" dependencies, - instead of repeading almost whole Build-Deps
# in virglrenderer-dev's Depends, let's just remove whole Requires.private.
# Maybe someday debian will grow somehting like dh_pkgconfigdeps to
# automate maintenance of this unnecessary set of dependencies.
# meson knows which libraries it generates so can omit these
# (Libs|Requires).private in cade of dynamic-only library.
	sed -i '/^Requires\.private:/D' \
	  debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/virglrenderer.pc

ignore-test-failure =
ifeq (riscv64,${DEB_HOST_ARCH})
# see #962018, self-test fails on riscv64
ignore-test-failure = -
endif
ifeq (32,${DEB_HOST_ARCH_BITS})
# on 32bits arches, selftest sometimes fails and sometimes not.
# ignore failures for now
ignore-test-failure = -
endif

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	${ignore-test-failure}\
	LIBGL_ALWAYS_SOFTWARE=1 \
	GALLIUM_DRIVER=softpipe \
	VRENDTEST_USE_EGL_SURFACELESS=1 \
		meson test -C obj-*  -t 100 || { \
		    echo '*** Self-tests failue, the logfile follows: ***' >&2; \
		    cat obj-*/meson-logs/testlog.txt >&2; \
		    echo '*** Self-tests failue log end ***' >&2; \
		    false; \
		}
endif