#!/usr/bin/make -f

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

ifeq (,$(filter wireplumber-doc,$(shell dh_listpackages)))
CONFIGURE_FLAGS = -Ddoc=disabled
else
CONFIGURE_FLAGS = -Ddoc=enabled
endif
ifeq (,$(filter nogir,$(DEB_BUILD_PROFILES)))
CONFIGURE_FLAGS += -Dintrospection=enabled
else
CONFIGURE_FLAGS += -Dintrospection=disabled
endif

%:
	dh $@ --buildsystem=meson

override_dh_auto_configure:
	@SETUPTOOLS_DISTUTILS=$$(python3 -c "import os, setuptools; print(os.path.join(os.path.dirname(setuptools.__file__), '_distutils'))" 2>/dev/null); \
	if [ -d "$$SETUPTOOLS_DISTUTILS" ]; then \
		echo "Injecting shim into setuptools vendored path: $$SETUPTOOLS_DISTUTILS"; \
		echo "class MSVCCompiler: pass" > "$$SETUPTOOLS_DISTUTILS/msvccompiler.py"; \
	fi

	dh_auto_configure -- \
		-Dmodules=true \
		-Ddaemon=true \
		-Dtools=true \
		-Dsystem-lua=true \
		-Dsystemd=enabled \
		-Dsystemd-system-service=true \
		-Dsystemd-user-service=true \
		-Dtests=true \
		-Ddbus-tests=true \
		$(CONFIGURE_FLAGS) \
		$(NULL)

override_dh_makeshlibs:
	dh_makeshlibs \
		--exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/wireplumber-0.5 \
		-- -c4

# We only use dh-sequence-gnome so that Ubuntu
# runs dh_translations
override_dh_gnome:
override_dh_gnome_clean:

# Workaround for Ubuntu language pack issue
execute_after_dh_translations:
	ninja -C obj-$(DEB_HOST_GNU_TYPE) wireplumber-pot

override_dh_installsystemd:
	# The recommanded way to install wireplumber 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 -pwireplumber-system-services --no-enable --no-start
