- build and run docker container
git clone https://github.com/paritytech/rust-ci.git
cd rust-ci
docker build -t crossy .
docker run -it --rm crossy
- inside the container:
export CARGO_HOME=$CARGO_HOME
export CARGO_TARGET=x86_64-pc-windows-gnu
export CI_SERVER_NAME="Gitlab CI"
- patch Libusb:
git clone https://github.com/paritytech/libusb-sys.git
cd libusb-sys/
apt install nano
nano build.rs
change this file according to: paritytech/libusb-sys#5
nano libusb/libusb/libusbi.h
change this line:
#if (defined(OS_WINDOWS) || defined(OS_WINCE)) && !defined(__GNUC__)
to
#if (defined(OS_WINDOWS) || defined(OS_WINCE))
cargo build --release --target x86_64-pc-windows-gnu
cd /build
- proceed to Parity-Ethereum:
git clone https://github.com/paritytech/parity-ethereum.git
cd parity-ethereum
nano Cargo.toml
this should be inserted into Cargo.toml:
[patch."https://github.com/paritytech/libusb-sys"]
libusb-sys = { path = "/build/libusb-sys" }
nano .cargo/config
and this goes to .cargo/config:
[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-gcc-posix"
proceed with build:
time cargo build --target $CARGO_TARGET --release --features final
# --locked flag doesn't work for now
export CARGO_HOME=$CARGO_HOME export CARGO_TARGET=armv7-linux-androideabi export CI_SERVER_NAME="Gitlab CI"
git clone https://github.com/paritytech/parity-ethereum.git cd parity-ethereum ./scripts/gitlab/build-unix.sh
- Android cross-compilation should work in CI.
issues with rocksdb:
and old dependencies:
-
libusb issue:
-
now we wait for official lib to be fixed:
-
and should work:
- paritytech/rust-snappy#9
- paritytech/rust-rocksdb#25
- paritytech/libusb-sys#4
- android has lost libusb support:
- openethereum/parity-ethereum#10058