File: rules

package info (click to toggle)
rust-gst-plugin-gtk4 0.14.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 372 kB
  • sloc: python: 79; makefile: 66
file content (79 lines) | stat: -rwxr-xr-x 2,544 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
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk
include /usr/share/rustc/architecture.mk

export CARGO = /usr/share/cargo/bin/cargo
export CARGO_HOME = $(CURDIR)/debian/cargo_home
export CARGO_VENDOR_DIR = debian/missing-sources
export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
export DEB_CARGO_CRATE=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM)
export DPKG_GENSYMBOLS_CHECK_LEVEL = 4

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
	NUMJOBS = 1
endif

CARGO_C_FLAGS = --release \
	--destdir=debian/tmp \
	--prefix=/usr \
	--libdir=/usr/lib/${DEB_HOST_MULTIARCH} \
	--offline \
    --features gtk_v4_14,gtk_v4_20,x11egl,x11glx,waylandegl,dmabuf \
	-v \
	-j $(NUMJOBS)

%:
	dh $@ --buildsystem cargo

execute_after_dh_auto_clean:
	rm -rf $(CARGO_HOME)

override_dh_auto_configure:
ifeq ($(shell dpkg-vendor --query vendor),Ubuntu)
	$(CARGO) prepare-debian $(CARGO_VENDOR_DIR)
# Ubuntu's dh-cargo-vendored-sources isn't working correctly here
	-dh_auto_configure
else
	dh_auto_configure
endif

execute_after_dh_auto_build:
	/usr/share/cargo/bin/cargo cbuild $(CARGO_C_FLAGS)

override_dh_auto_install:
	# will fail after installing the librust-XX package, since there is no binpkg
	# but dh-cargo thinks there is
	dh_auto_install || true
	/usr/share/cargo/bin/cargo cinstall $(CARGO_C_FLAGS)

execute_after_dh_install:
	find debian -name Cargo.lock -delete

# Used by Ubuntu
vendor:
	dh_quilt_patch
	rm -rf $(CARGO_VENDOR_DIR)
	CARGO_HOME= $(CARGO) vendor-filterer --platform='*-*-linux-gnu' --platform '*-*-linux-gnueabi' \
	  --exclude-crate-path system-deps#src/tests/lib/libteststatic.a --all-features \
	 $(CARGO_VENDOR_DIR)
	git add -f $(CARGO_VENDOR_DIR)
	git commit -m "Update vendored rust crates" || true
	git reset --hard && git clean -fdx

	uscan --download-current-version --destdir=..
	rm -f debian/source/include-binaries
	dpkg-source --include-binaries -b .
	git add debian/source/include-binaries
	git commit -m "Update debian/source/include-binaries" || true
	git reset --hard && git clean -fdx
ifneq (0,$(shell grep -q XS-Vendored-Sources-Rust debian/control && echo 0))
	sed -i "s/X-Cargo-Crate: gst-plugin-gtk4/X-Cargo-Crate: gst-plugin-gtk4\nXS-Vendored-Sources-Rust/" debian/control
endif
	sed -i \
	"s/^XS-Vendored-Sources-Rust.*/XS-Vendored-Sources-Rust: $$(/usr/share/cargo/bin/dh-cargo-vendored-sources --output-expected)/" \
	debian/control
	git add -f debian/control
	git commit -m "Update XS-Vendored-Sources-Rust field" || true