#!/usr/bin/make -f

include /usr/share/dpkg/default.mk

export HOME=$(CURDIR)/fake-home

# debian package version
version=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
# upstream version
gst_version=$(shell echo $(version) | cut -d '-' -f 1)

FFMPEG_LIBDIR = /usr/lib/$(DEB_HOST_MULTIARCH)

CFLAGS += -Wno-error -DFFMPEG_LIBDIR=\"$(FFMPEG_LIBDIR)\"
CXXFLAGS += -Wno-error
LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed

# Let's decide the package name and url depending on the distribution
DISTRO = "$(shell dpkg-vendor --query vendor)"

GST_PACKAGE_NAME := "GStreamer libav Plugins (unknown Debian derivative)"
GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-libav1.0"

ifeq ($(DISTRO),"Debian")
GST_PACKAGE_NAME := "GStreamer libav Plugins (Debian)"
GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-libav1.0"
endif

ifeq ($(DISTRO),"Ubuntu")
GST_PACKAGE_NAME := "GStreamer libav Plugins (Ubuntu)"
GST_PACKAGE_ORIGIN="https://launchpad.net/distros/ubuntu/+source/gst-libav1.0"
endif

conf_flags = --libdir=lib/$(DEB_HOST_MULTIARCH) --libexecdir=lib/$(DEB_HOST_MULTIARCH)/gstreamer1.0
conf_flags += -Dpackage-name=$(GST_PACKAGE_NAME) -Dpackage-origin=$(GST_PACKAGE_ORIGIN)

%:
	dh $@ --buildsystem=meson

override_dh_auto_configure:
	dh_auto_configure -- --default-library shared $(conf_flags)

override_dh_auto_clean:
	rm -rf $(CURDIR)/fake-home
	dh_auto_clean

override_dh_auto_test:
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64))
	xvfb-run dh_auto_test
else
	xvfb-run dh_auto_test || true
endif

override_dh_strip:
	dh_strip --dbgsym-migration='gstreamer1.0-libav-dbg (<< 1.17.1-1~)'

override_dh_install:
	dh_install

	mkdir -p $(CURDIR)/fake-home
	HOME=$(CURDIR)/fake-home \
	dh_gstscancodecs
	rm -rf $(CURDIR)/fake-home
