3 include /usr
/share
/dpkg
/pkg-info.mk
4 include /usr
/share
/dpkg
/architecture.mk
5 include /usr
/share
/dpkg
/buildflags.mk
6 RUSTFLAGS
= -C link-args
="$(LDFLAGS)"
7 export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS RUSTFLAGS
9 rust_cpu
= $(subst i586
,i686
,$(1))
10 DEB_HOST_RUST_TYPE
:= $(call rust_cpu
,$(DEB_HOST_GNU_CPU
))-unknown-
$(DEB_HOST_GNU_SYSTEM
)
11 DEB_TARGET_RUST_TYPE
:= $(call rust_cpu
,$(DEB_TARGET_GNU_CPU
))-unknown-
$(DEB_TARGET_GNU_SYSTEM
)
13 # Cargo looks for config in and writes cache to $CARGO_HOME/
14 export CARGO_HOME
= $(CURDIR
)/.cargohome
15 # Ask cargo to be verbose when building
18 DEB_DESTDIR
:= $(CURDIR
)/debian
/tmp
19 VENDORDIR
:= $(CURDIR
)/vendor
20 INDEXDIR
:= $(CURDIR
)/vendor
/index
21 DEPSDIR
:= $(CURDIR
)/deps
24 dh
$@
--with bash-completion
26 override_dh_auto_configure
:
27 # Prepare a fake registry by packing all deps
28 .
/debian
/cargo-vendor-pack.py
30 override_dh_auto_build
:
31 # Bootstrap cargo stage0
32 .
/debian
/bootstrap.py \
36 --crate-index
$(INDEXDIR
)/ \
37 --cargo-root
$(CURDIR
)/ \
38 --target-dir
$(DEPSDIR
)/ \
39 --host
=$(DEB_HOST_RUST_TYPE
) \
40 --target
=$(DEB_TARGET_RUST_TYPE
)
41 # Workaround for https://github.com/rust-lang/cargo/issues/1423
42 mv
$(DEPSDIR
) $(CURDIR
)/.deps
43 ln
-s
`find $(CURDIR)/.deps -name 'cargo-*' -type f -executable` $(CURDIR
)/cargo-stage0
44 # Configure to build cargo using the just-built stage0
49 --local-rust-root
=/usr \
50 --local-cargo
=$(CURDIR
)/cargo-stage0
51 # Build final cargo binary and docs
54 cd target
/doc
/ && rm -f jquery.js
&& ln
-s
/usr
/share
/javascript
/jquery
/jquery.js
56 # Restore from workarounds
57 mv
$(CURDIR
)/.deps
$(DEPSDIR
)
59 override_dh_auto_clean
:
60 -mv
$(CURDIR
)/.deps
$(DEPSDIR
)
61 -$(RM
) -r
$(CURDIR
)/deps
/*.rlib \
62 $(CURDIR
)/deps
/build_script
* \
63 $(CURDIR
)/deps
/cargo
* \
66 $(CURDIR
)/cargo-stage0 \
71 override_dh_auto_install
:
72 # We pick stuff directly from target/
74 override_dh_auto_test
:
75 # we don't run tests at the moment due to too many deps