update llvm and needed llvm versions for rust

This commit is contained in:
Lance Vick 2023-12-14 14:11:57 -08:00
parent 3a48e413a5
commit 1ee6a2f680
Signed by: lrvick
GPG Key ID: 8E47A1EC35A1551D
2 changed files with 26 additions and 19 deletions

View File

@ -243,6 +243,7 @@ llvm13.tgz: \
binutils.tgz \
cmake.tgz \
ninja.tgz \
curl.tgz \
busybox.tgz \
musl.tgz
$(call build,llvm,13.0.1)
@ -255,9 +256,12 @@ llvm.tgz: \
binutils.tgz \
cmake.tgz \
ninja.tgz \
curl.tgz \
busybox.tgz \
musl.tgz
$(call build,llvm)
$(BUILDER) tag $(REGISTRY)/llvm $(REGISTRY)/llvm:16
$(BUILDER) tag $(REGISTRY)/llvm $(REGISTRY)/llvm:16.0.6
rust1.54.tgz: \
gcc.tgz \
@ -319,23 +323,23 @@ rust1.67.tgz: rust1.66.tgz
rust1.68.tgz: rust1.67.tgz
$(call build,rust,1.68.0,package,--build-arg BUILD_VERSION=1.67.0)
rust1.69.tgz: rust1.68.tgz
$(call build,rust,1.69.0,package,--build-arg BUILD_VERSION=1.68.0)
rust1.69.tgz: rust1.68.tgz llvm.tgz
$(call build,rust,1.69.0,package,--build-arg BUILD_VERSION=1.68.0 --build-arg LLVM_VERSION=16)
rust1.70.tgz: rust1.69.tgz
$(call build,rust,1.70.0,package,--build-arg BUILD_VERSION=1.69.0)
$(call build,rust,1.70.0,package,--build-arg BUILD_VERSION=1.69.0 --build-arg LLVM_VERSION=16)
rust1.71.tgz: rust1.70.tgz
$(call build,rust,1.71.0,package,--build-arg BUILD_VERSION=1.70.0)
$(call build,rust,1.71.0,package,--build-arg BUILD_VERSION=1.70.0 --build-arg LLVM_VERSION=16)
rust1.72.tgz: rust1.71.tgz
$(call build,rust,1.72.0,package,--build-arg BUILD_VERSION=1.71.0)
$(call build,rust,1.72.0,package,--build-arg BUILD_VERSION=1.71.0 --build-arg LLVM_VERSION=16)
rust1.73.tgz: rust1.72.tgz
$(call build,rust,1.73.0,package,--build-arg BUILD_VERSION=1.72.0)
$(call build,rust,1.73.0,package,--build-arg BUILD_VERSION=1.72.0 --build-arg LLVM_VERSION=16)
rust1.74.tgz: rust1.73.tgz
$(call build,rust,1.74.0,package,--build-arg BUILD_VERSION=1.73.0)
$(call build,rust,1.74.0,package,--build-arg BUILD_VERSION=1.73.0 --build-arg LLVM_VERSION=16)
# Build package with chosen $(BUILDER)
# Supported BUILDERs: docker

View File

@ -1,5 +1,5 @@
ARG REGISTRY=local
FROM ${REGISTRY}/busybox as busybox
ARG VERSION=16.0.6
FROM ${REGISTRY}/gcc as gcc
FROM ${REGISTRY}/binutils as binutils
FROM ${REGISTRY}/musl as musl
@ -8,19 +8,14 @@ FROM ${REGISTRY}/python as python
FROM ${REGISTRY}/py-setuptools as py-setuptools
FROM ${REGISTRY}/cmake as cmake
FROM ${REGISTRY}/ninja as ninja
FROM busybox as build
ARG VERSION=16.0.6
FROM ${REGISTRY}/curl as curl
FROM ${REGISTRY}/busybox as base
ARG VERSION
ENV VERSION=${VERSION}
ENV SRC_VERSION=${VERSION}
ENV SRC_SITE=https://github.com/llvm/llvm-project/releases/download
ENV SRC_HASH_13_0_1=326335a830f2e32d06d0a36393b5455d17dc73e0bd1211065227ee014f92cbf8
ENV SRC_HASH_16_0_6=ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e
RUN wget ${SRC_SITE}/llvmorg-${SRC_VERSION}/llvm-project-${SRC_VERSION}.src.tar.xz
RUN echo "$(printenv SRC_HASH_${VERSION//./_}) llvm-project-${SRC_VERSION}.src.tar.xz" | sha256sum -c
RUN tar -xf llvm-project-${SRC_VERSION}.src.tar.xz
WORKDIR llvm-project-${SRC_VERSION}.src
ADD . .
RUN patch -p1 < rust-feature-tables.patch
COPY --from=binutils . /
COPY --from=cmake . /
COPY --from=ninja . /
@ -28,7 +23,17 @@ COPY --from=musl . /
COPY --from=gcc . /
COPY --from=python . /
COPY --from=py-setuptools . /
COPY --from=curl . /
FROM base as fetch
RUN curl -LOJ ${SRC_SITE}/llvmorg-${SRC_VERSION}/llvm-project-${SRC_VERSION}.src.tar.xz
RUN echo "$(printenv SRC_HASH_${VERSION//./_}) llvm-project-${SRC_VERSION}.src.tar.xz" | sha256sum -c
FROM fetch as build
RUN tar -xf llvm-project-${SRC_VERSION}.src.tar.xz
WORKDIR llvm-project-${SRC_VERSION}.src
ADD . .
RUN patch -p1 < rust-feature-tables.patch
RUN set -eux; \
python -c "import setuptools; print(setuptools.__version__)"; \
cmake \
@ -66,12 +71,10 @@ RUN set -eux; \
-DLLVM_USE_PERF=ON; \
cmake --build build; \
python3 llvm/utils/lit/setup.py build
RUN set -eux; \
export DESTDIR="/home/user/rootfs/"; \
cmake --install build; \
python3 llvm/utils/lit/setup.py install --root="$DESTDIR"
COPY --from=musl /lib/* /home/user/rootfs/lib/
COPY --from=gcc /usr/lib/* /home/user/rootfs/usr/lib/
COPY --from=gcc /usr/lib64/* /home/user/rootfs/usr/lib/