11# syntax=docker/dockerfile:1
22
33ARG BASE_VARIANT="ubuntu"
4- ARG UBUNTU_VERSION="20 .04"
5- ARG DEBIAN_VERSION="bullseye "
6- ARG ALPINE_VERSION="3.16 "
4+ ARG UBUNTU_VERSION="22 .04"
5+ ARG DEBIAN_VERSION="bookworm "
6+ ARG ALPINE_VERSION="3.18 "
77ARG XX_VERSION="1.4.0"
88
9- ARG CMAKE_VERSION="3.23.5"
10- ARG OSX_SDK="MacOSX13.1.sdk"
11- ARG OSX_SDK_URL="https://github.com/joseluisq/macosx-sdks/releases/download/13.1/${OSX_SDK}.tar.xz"
12- ARG OSX_CROSS_COMMIT="ed079949e7aee248ad7e7cb97726cd1c8556afd1"
9+ ARG OSX_SDK="MacOSX14.5.sdk"
10+ ARG OSX_SDK_URL="https://github.com/joseluisq/macosx-sdks/releases/download/14.5/${OSX_SDK}.tar.xz"
11+ ARG OSX_CROSS_COMMIT="fd32ecc6e0786369272be2da670bc9b5849b215a"
1312
1413FROM --platform=$BUILDPLATFORM busybox AS build-dummy-cross
1514RUN mkdir -p /out/osxcross/osxcross
@@ -32,10 +31,10 @@ RUN curl -sSL "$OSX_SDK_URL" -o "/$OSX_SDK.tar.xz"
3231RUN mkdir /osxsdk && tar -xf "/$OSX_SDK.tar.xz" -C "/osxsdk"
3332
3433FROM --platform=$BUILDPLATFORM alpine:${ALPINE_VERSION} AS osxcross-src
35- RUN apk --update --no-cache add git patch
34+ RUN apk --update --no-cache add patch
3635WORKDIR /osxcross
3736ARG OSX_CROSS_COMMIT
38- RUN git clone https://github.com/tpoechtrager/osxcross.git . && git reset --hard $ OSX_CROSS_COMMIT
37+ ADD " https://github.com/tpoechtrager/osxcross.git#${ OSX_CROSS_COMMIT}" .
3938COPY patches/lcxx.patch .
4039RUN patch -p1 < lcxx.patch
4140
@@ -48,6 +47,7 @@ RUN export DEBIAN_FRONTEND="noninteractive" \
4847 build-essential \
4948 ca-certificates \
5049 clang \
50+ cmake \
5151 git \
5252 libbz2-dev \
5353 libmpc-dev \
@@ -61,17 +61,11 @@ RUN export DEBIAN_FRONTEND="noninteractive" \
6161 lzma-dev \
6262 make \
6363 patch \
64- python \
64+ python3 \
6565 uuid-dev \
6666 wget \
6767 xz-utils \
68- zlib1g-dev \
69- && apt-get -y autoremove \
70- && apt-get clean \
71- && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
72- ARG CMAKE_VERSION
73- RUN mkdir -p /opt/cmake && cd /opt/cmake && wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-$(uname -m).tar.gz -O - | tar xvz --strip 1
74- ENV PATH=/opt/cmake/bin:$PATH
68+ zlib1g-dev
7569
7670FROM debian:${DEBIAN_VERSION} AS base-debian
7771RUN export DEBIAN_FRONTEND="noninteractive" \
@@ -82,6 +76,7 @@ RUN export DEBIAN_FRONTEND="noninteractive" \
8276 build-essential \
8377 ca-certificates \
8478 clang \
79+ cmake \
8580 git \
8681 libbz2-dev \
8782 libmpc-dev \
@@ -95,20 +90,14 @@ RUN export DEBIAN_FRONTEND="noninteractive" \
9590 lzma-dev \
9691 make \
9792 patch \
98- python \
93+ python3 \
9994 uuid-dev \
10095 wget \
10196 xz-utils \
102- zlib1g-dev \
103- && apt-get -y autoremove \
104- && apt-get clean \
105- && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
106- ARG CMAKE_VERSION
107- RUN mkdir -p /opt/cmake && cd /opt/cmake && wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-$(uname -m).tar.gz -O - | tar xvz --strip 1
108- ENV PATH=/opt/cmake/bin:$PATH
97+ zlib1g-dev
10998
11099FROM alpine:${ALPINE_VERSION} AS base-alpine
111- RUN apk add --update --no-cache \
100+ RUN apk add --update --no-cache \
112101 bash \
113102 bsd-compat-headers \
114103 clang \
@@ -132,7 +121,7 @@ ARG OSX_SDK
132121WORKDIR /tmp/osxcross
133122COPY --link --from=osxcross-src /osxcross .
134123COPY --link --from=sdk /$OSX_SDK.tar.xz ./tarballs/$OSX_SDK.tar.xz
135- RUN OSX_VERSION_MIN=10.10 UNATTENDED=1 ENABLE_COMPILER_RT_INSTALL=1 TARGET_DIR=/out/osxcross ./build.sh
124+ RUN OSX_VERSION_MIN=10.13 UNATTENDED=1 ENABLE_COMPILER_RT_INSTALL=1 TARGET_DIR=/out/osxcross ./build.sh
136125RUN mkdir -p /out/osxsdk/osxsdk
137126
138127FROM scratch AS build-darwin
0 commit comments