Crash fixes, reorg handling, and sync performance improvements
Some checks failed
Rust / Build on macOS-latest (push) Has been cancelled
Rust / Build on ubuntu-16.04 (push) Has been cancelled
Rust / Build on windows-latest (push) Has been cancelled
Rust / Linux ARMv7 (push) Has been cancelled
Rust / Linux ARM64 (push) Has been cancelled
Rust / Build on ubuntu-latest (push) Has been cancelled
Some checks failed
Rust / Build on macOS-latest (push) Has been cancelled
Rust / Build on ubuntu-16.04 (push) Has been cancelled
Rust / Build on windows-latest (push) Has been cancelled
Rust / Linux ARMv7 (push) Has been cancelled
Rust / Linux ARM64 (push) Has been cancelled
Rust / Build on ubuntu-latest (push) Has been cancelled
- Fix FFI panics with catch_unwind and safe CString construction - Handle poisoned mutex/RwLock after prior panics instead of crashing - Fix empty block list panics in clear_blocks and invalidate_block - Reuse Tokio runtime across block fetch batches to reduce overhead - Add fetch_blocks_with_runtime for caller-managed runtime lifecycle - Update branding, dependencies, and checkpoints for DragonX
This commit is contained in:
@@ -1,43 +1,43 @@
|
||||
FROM ubuntu:16.04
|
||||
LABEL Description="Rust compile env for Linux + Windows (cross)"
|
||||
|
||||
RUN apt update
|
||||
RUN apt install -y build-essential mingw-w64 gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf curl vim wget
|
||||
|
||||
# Get Rust
|
||||
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
RUN rustup target add x86_64-pc-windows-gnu
|
||||
RUN rustup target add aarch64-unknown-linux-gnu
|
||||
RUN rustup target add armv7-unknown-linux-gnueabihf
|
||||
|
||||
# Append the linker to the cargo config for Windows cross compile
|
||||
RUN echo "[target.x86_64-pc-windows-gnu]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/x86_64-w64-mingw32-gcc'" >> /root/.cargo/config
|
||||
|
||||
RUN echo "[target.aarch64-unknown-linux-gnu]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/aarch64-linux-gnu-gcc'" >> /root/.cargo/config
|
||||
|
||||
RUN echo "[target.armv7-unknown-linux-gnueabihf]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/arm-linux-gnueabihf-gcc'" >> /root/.cargo/config
|
||||
|
||||
ENV CC_x86_64_unknown_linux_musl="gcc"
|
||||
ENV CC_aarch64_unknown_linux_gnu="aarch64-linux-gnu-gcc"
|
||||
ENV CC_armv7_unknown_linux_gnueabhihf="arm-linux-gnueabihf-gcc"
|
||||
|
||||
# This is a bug fix for the windows cross compiler for Rust.
|
||||
RUN cp /usr/x86_64-w64-mingw32/lib/crt2.o /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o
|
||||
|
||||
# For windows cross compilation, use a pre-build binary. Remember to set the
|
||||
# SODIUM_LIB_DIR for windows cross compilation
|
||||
RUN cd /opt && wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.17-mingw.tar.gz && \
|
||||
tar xvf libsodium-1.0.17-mingw.tar.gz
|
||||
|
||||
RUN apt install -y git
|
||||
|
||||
# Cargo fetch the dependencies so we don't download them over and over again
|
||||
RUN cd /tmp && git clone https://github.com/adityapk00/silentdragonlite-light-cli.git && \
|
||||
cd silentdragonlite-light-cli && \
|
||||
cargo fetch && \
|
||||
cd /tmp && rm -rf silentdragonlite-light-cli
|
||||
FROM ubuntu:16.04
|
||||
LABEL Description="Rust compile env for Linux + Windows (cross)"
|
||||
|
||||
RUN apt update
|
||||
RUN apt install -y build-essential mingw-w64 gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf curl vim wget
|
||||
|
||||
# Get Rust
|
||||
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
RUN rustup target add x86_64-pc-windows-gnu
|
||||
RUN rustup target add aarch64-unknown-linux-gnu
|
||||
RUN rustup target add armv7-unknown-linux-gnueabihf
|
||||
|
||||
# Append the linker to the cargo config for Windows cross compile
|
||||
RUN echo "[target.x86_64-pc-windows-gnu]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/x86_64-w64-mingw32-gcc'" >> /root/.cargo/config
|
||||
|
||||
RUN echo "[target.aarch64-unknown-linux-gnu]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/aarch64-linux-gnu-gcc'" >> /root/.cargo/config
|
||||
|
||||
RUN echo "[target.armv7-unknown-linux-gnueabihf]" >> /root/.cargo/config && \
|
||||
echo "linker = '/usr/bin/arm-linux-gnueabihf-gcc'" >> /root/.cargo/config
|
||||
|
||||
ENV CC_x86_64_unknown_linux_musl="gcc"
|
||||
ENV CC_aarch64_unknown_linux_gnu="aarch64-linux-gnu-gcc"
|
||||
ENV CC_armv7_unknown_linux_gnueabhihf="arm-linux-gnueabihf-gcc"
|
||||
|
||||
# This is a bug fix for the windows cross compiler for Rust.
|
||||
RUN cp /usr/x86_64-w64-mingw32/lib/crt2.o /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o
|
||||
|
||||
# For windows cross compilation, use a pre-build binary. Remember to set the
|
||||
# SODIUM_LIB_DIR for windows cross compilation
|
||||
RUN cd /opt && wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.17-mingw.tar.gz && \
|
||||
tar xvf libsodium-1.0.17-mingw.tar.gz
|
||||
|
||||
RUN apt install -y git
|
||||
|
||||
# Cargo fetch the dependencies so we don't download them over and over again
|
||||
RUN cd /tmp && git clone https://github.com/adityapk00/silentdragonlite-light-cli.git && \
|
||||
cd silentdragonlite-light-cli && \
|
||||
cargo fetch && \
|
||||
cd /tmp && rm -rf silentdragonlite-light-cli
|
||||
|
||||
Reference in New Issue
Block a user