push
This commit is contained in:
1 parent
093e6a7c14
commit
1a2a5f0faf
24 files changed
+578
-537
No files matched your search
@@ -0,0 +1,41 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
# FreeBSD 15.1 sysroot used only for headers and target libraries.
|
||||
FROM ubuntu:24.04 AS sysroot
|
||||
ARG FREEBSD_RELEASE=15.1-RELEASE
|
||||
ARG FREEBSD_MIRROR=https://download.freebsd.org/releases/amd64/amd64
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
ca-certificates wget xz-utils \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
WORKDIR /tmp/freebsd
|
||||
RUN set -eux; \
|
||||
url="${FREEBSD_MIRROR}/${FREEBSD_RELEASE}"; \
|
||||
wget -q "${url}/base.txz" -O base.txz; \
|
||||
wget -q "${url}/MANIFEST" -O MANIFEST; \
|
||||
expected="$(awk '$1 == "base.txz" { print $2; exit }' MANIFEST)"; \
|
||||
test -n "$expected"; \
|
||||
echo "$expected base.txz" | sha256sum -c -; \
|
||||
mkdir -p /freebsd-sysroot; \
|
||||
tar -xJf base.txz -C /freebsd-sysroot ./lib ./usr/include ./usr/lib
|
||||
|
||||
# RustProxy requires rust-version = 1.88.
|
||||
FROM rust:1.88-slim-bookworm AS builder
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
ca-certificates clang lld llvm file git perl pkg-config python3 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=sysroot /freebsd-sysroot /opt/freebsd-sysroot
|
||||
RUN rustup target add x86_64-unknown-freebsd
|
||||
|
||||
ENV CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_LINKER=clang \
|
||||
CC_x86_64_unknown_freebsd=clang \
|
||||
CXX_x86_64_unknown_freebsd=clang++ \
|
||||
AR_x86_64_unknown_freebsd=llvm-ar \
|
||||
RANLIB_x86_64_unknown_freebsd=llvm-ranlib \
|
||||
RUST_PROXY_PYTHON=python3 \
|
||||
CFLAGS_x86_64_unknown_freebsd="--target=x86_64-unknown-freebsd15.1 --sysroot=/opt/freebsd-sysroot" \
|
||||
CXXFLAGS_x86_64_unknown_freebsd="--target=x86_64-unknown-freebsd15.1 --sysroot=/opt/freebsd-sysroot" \
|
||||
CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_RUSTFLAGS="-C link-arg=--target=x86_64-unknown-freebsd15.1 -C link-arg=--sysroot=/opt/freebsd-sysroot -C link-arg=-fuse-ld=lld"
|
||||
|
||||
WORKDIR /src
|
||||
CMD ["bash"]
|
||||
Reference in new issue
Block a user