File debian.rules of Package pipewire

#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs

%:
	dh $@

ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
DOCS=disabled
MAN=disabled
else
DOCS=enabled
MAN=enabled
endif

built_binaries := $(shell dh_listpackages)

ifneq ($(filter %-tests,$(built_binaries)),)
INSTTEST=enabled
SDL2=enabled
else
INSTTEST=disabled
SDL2=disabled
endif

ifneq (,$(filter s390x hppa m68k powerpc ppc64 sparc64,$(DEB_HOST_ARCH)))
BLUEZ5_CODEC_LDAC=disabled
else
BLUEZ5_CODEC_LDAC=enabled
endif

ifneq (,$(filter m68k hurd-amd64 hurd-i386,$(DEB_HOST_ARCH)))
LIBCAMERA=disabled
else
LIBCAMERA=enabled
endif

# enable snap support in Ubuntu, Debian's kernel doesn't enable the option
# for fine grained unix mediation at the moment
SNAP=disabled
ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
ifneq (,$(filter amd64 arm64 armhf i386 powerpc ppc64el riscv64 s390x,$(DEB_HOST_ARCH)))
SNAP=enabled
endif
endif

ifneq (,$(filter hurd-amd64 hurd-i386,$(DEB_HOST_ARCH)))
UDEVRULESDIR=
else
export UDEVRULESDIR=/usr/lib/udev/rules.d
# For pre-Trixie releases udev rules should go in:
# export UDEVRULESDIR=/lib/udev/rules.d
endif

override_dh_auto_configure:
	dh_auto_configure -- \
		-Daudiotestsrc=enabled \
		-Dauto_features=enabled \
		-Davahi=enabled \
		-Dbluez5-backend-native-mm=enabled \
		-Dbluez5-codec-aac=enabled \
		-Dbluez5-codec-aptx=enabled \
		-Dbluez5-codec-lc3=enabled \
		-Dbluez5-codec-lc3plus=disabled \
		-Dbluez5-codec-ldac=$(BLUEZ5_CODEC_LDAC) \
		-Dbluez5-codec-opus=enabled \
		-Dlibcamera=$(LIBCAMERA) \
		-Dlibffado=enabled \
		-Dlibmysofa=enabled \
		-Ddocs=$(DOCS) \
		-Dffmpeg=disabled \
		-Dinstalled_tests=$(INSTTEST) \
		-Dlv2=enabled \
		-Dman=$(MAN) \
		-Droc=enabled \
		-Dsdl2=$(SDL2) \
		-Dsession-managers= \
		-Dsnap=$(SNAP) \
		-Dsystemd-system-service=enabled \
		-Dsystemd-user-service=enabled \
		-Dtest=enabled \
		-Dudevrulesdir=$(UDEVRULESDIR) \
		-Dvideotestsrc=enabled \
		-Dvulkan=disabled \
		$(NULL)
	install -d debian/ld.so.conf.d
	echo "/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3/jack/" > "debian/ld.so.conf.d/pipewire-jack-$(DEB_HOST_MULTIARCH).conf"

test_timeout_multiplier = 1

ifneq ($(filter arm hppa ia64 m68k riscv64 sh4 sparc%,$(DEB_HOST_ARCH_CPU)),)
test_timeout_multiplier = 5
endif

ifneq ($(filter mips%,$(DEB_HOST_ARCH_CPU)),)
test_timeout_multiplier = 10
endif

override_dh_auto_test:
	dh_auto_test \
		-- \
		--timeout-multiplier $(test_timeout_multiplier) \
		$(NULL)

override_dh_makeshlibs:
	dh_makeshlibs \
		--exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-1.0 \
		--exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \
		--exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/spa-0.2 \
		-- -c4

override_dh_shlibdeps-arch:
	dh_shlibdeps \
		-ppipewire-jack \
		-l/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \
		-- \
		-Ldebian/pipewire-jack.shlibs.local \
		$(NULL)
	dh_shlibdeps \
		--remaining-packages \
		-l/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \
		$(NULL)

override_dh_installsystemd:
	# The recommanded way to install pipewire is using user services, but
	# we install system services anyway for specific use cases (like embedded
	# and accessibility) without enabling/starting them to avoid clashes.
	dh_installsystemd -ppipewire-system-services --no-enable --no-start

# Can be dropped in compat >= 14
execute_after_dh_installinit:
	dh_installsysusers

override_dh_strip:
	dh_strip --no-automatic-dbgsym
openSUSE Build Service is sponsored by