Skip to content

Commit 636c6b3

Browse files
committed
Update LLVM 20
1 parent 4dcafe3 commit 636c6b3

File tree

5 files changed

+20
-12
lines changed

5 files changed

+20
-12
lines changed

docker/alpine-84codes.Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
ARG crystal_version
22
FROM 84codes/crystal:${crystal_version}-alpine AS build
3+
ARG llvm_version=20
34

45
RUN \
56
apk add --update --no-cache --force-overwrite \
6-
llvm18-dev llvm18-static g++ libffi-dev
7+
llvm${llvm_version}-dev llvm${llvm_version}-static \
8+
g++ libffi-dev
79

810
ENTRYPOINT []
911
CMD ["/bin/sh"]

docker/alpine.Dockerfile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
ARG base_docker_image=alpine:3.20
1+
ARG base_docker_image=alpine:3.22
22
FROM ${base_docker_image} as runtime
3+
ARG llvm_version=20
34

45
RUN \
56
apk add --update --no-cache --force-overwrite \
67
# core dependencies
7-
gcc gmp-dev libevent-static musl-dev pcre-dev pcre2-dev \
8+
gcc gmp-dev libevent-static musl-dev pcre-dev pcre2-dev pcre2-static \
89
# stdlib dependencies
9-
gc-dev libxml2-dev libxml2-static openssl-dev openssl-libs-static tzdata yaml-static zlib-static xz-static \
10+
gc-dev gc-static libxml2-dev libxml2-static openssl-dev openssl-libs-static tzdata yaml-static zlib-static xz-static \
1011
# dev tools
1112
make git
1213

@@ -26,6 +27,7 @@ FROM runtime as build
2627

2728
RUN \
2829
apk add --update --no-cache --force-overwrite \
29-
llvm18-dev llvm18-static g++ libffi-dev
30+
llvm${llvm_version}-dev llvm${llvm_version}-static \
31+
g++ libffi-dev
3032

3133
CMD ["/bin/sh"]

docker/ubuntu.Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARG base_docker_image=ubuntu:24.04
22
FROM ${base_docker_image} as runtime
3+
ARG llvm_version=20
34

45
RUN \
56
apt-get update && \
@@ -23,9 +24,9 @@ FROM runtime as build
2324

2425
RUN \
2526
apt-get update && \
26-
apt-get install -y build-essential llvm-18 lld-18 libedit-dev gdb libffi-dev && \
27+
apt-get install -y build-essential llvm-${llvm_version} lld-${llvm_version} libedit-dev gdb libffi-dev && \
2728
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2829

29-
RUN ln -sf /usr/bin/ld.lld-18 /usr/bin/ld.lld
30+
RUN ln -sf /usr/bin/ld.lld-${llvm_version} /usr/bin/ld.lld
3031

3132
CMD ["/bin/sh"]

linux/Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ RUN git clone https://github.com/ivmai/bdwgc \
1717
&& ./configure --disable-debug --disable-shared --enable-large-config \
1818
&& make -j$(nproc)
1919

20-
FROM alpine:3.20
20+
FROM alpine:3.22
21+
ARG llvm_version=20
2122

2223
# Install dependencies
2324
RUN apk add --no-cache \
2425
# Statically-compiled llvm
25-
llvm18-dev llvm18-static \
26+
llvm${llvm_version}-dev llvm${llvm_version}-static \
2627
# Static stdlib dependencies
27-
gc-dev zlib-static yaml-static libxml2-static pcre2-dev libevent-static zstd-static \
28+
gc-dev gc-static zlib-static yaml-static libxml2-static pcre2-dev pcre2-static libevent-static zstd-static \
2829
# Static compiler dependencies
2930
libffi-dev \
3031
# Build tools
@@ -39,7 +40,7 @@ ENV CFLAGS="-fPIC -pipe ${release:+-O2}"
3940
# This particularly affects libgc which was bundled upto Crystal 1.12
4041
ENV CRYSTAL_LIBRARY_PATH=""
4142

42-
RUN llvm18-config --version
43+
RUN llvm${llvm_version}-config --version
4344

4445
ARG previous_crystal_release
4546
ADD ${previous_crystal_release} /tmp/crystal.tar.gz

linux/test.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
@test "bundled tarball" {
44
docker run -v $(pwd)/build:/build debian /bin/sh -e -c '
5-
apt update && apt install -y gcc
5+
apt update && apt install -y gcc pkg-config
66
tar -xf /build/crystal*-bundled.tar.gz
7+
crystal-*/bin/crystal env
8+
crystal-*/bin/crystal --version
79
crystal-*/bin/crystal eval "puts \"Hello World\""'
810
}

0 commit comments

Comments
 (0)