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
|
#!/usr/bin/make -f
include /usr/share/rustc/architecture.mk
include /usr/share/dpkg/buildtools.mk
RUSTUP_CA=Amazon_Root_CA_1.pem
ifeq ($(DEB_HOST_ARCH),amd64)
RUST_WIN_TARGET=x86_64-pc-windows-gnu
lib_name=nvdaControllerClient64.dll
endif
ifeq ($(DEB_HOST_ARCH),i386)
RUST_WIN_TARGET=i686-pc-windows-gnu
lib_name=nvdaControllerClient32.dll
endif
# known to work
RUST_VERSION=1.77
export CARGO_HOME=$(CURDIR)/tmp
%:
dh $@
override_dh_auto_clean:
-rm -fr $(CARGO_HOME) src/server/target src/client/target
override_dh_auto_build:
@echo 'blhc: ignore-line-regexp: \ \ \ Compiling .*'
ifneq (,$(lib_name))
# Don't do this at home, kids!
curl --cacert /etc/ssl/certs/$(RUSTUP_CA) --proto '=https' --tlsv1.2 -f https://sh.rustup.rs > rustup.sh
HOME=$(CARGO_HOME) sh rustup.sh -y --default-host $(DEB_HOST_RUST_TYPE) --profile minimal
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup install --profile minimal $(RUST_VERSION)
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup default $(RUST_VERSION)
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup uninstall stable
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup install --force-non-host --profile minimal $(RUST_VERSION)-$(RUST_WIN_TARGET)
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup target add $(RUST_WIN_TARGET)
cd src/client && \
HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/cargo build -v --release --target $(RUST_WIN_TARGET)
mv src/client/target/$(RUST_WIN_TARGET)/release/nvda2speechd.dll \
src/client/target/$(RUST_WIN_TARGET)/release/$(lib_name)
chmod -x src/client/target/$(RUST_WIN_TARGET)/release/$(lib_name)
endif
cd src/server && \
HOME=$(CARGO_HOME) cargo build -v --release \
--target ${DEB_HOST_RUST_TYPE} \
--config build.rustflags='["-C", "linker=$(CC)"]'
override_dh_fixperms:
dh_fixperms -X.dll
|