diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index dfe25538..c4c1d228 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -1,4 +1,4 @@ -<% image = "ubuntu:20.04" %> +<% image = "ubuntu:24.04" %> FROM <%= image %> ARG TARGETPLATFORM @@ -9,7 +9,7 @@ ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update && \ apt-get install -y sudo wget curl git-core build-essential xz-utils unzip dirmngr && \ - apt-get install -y autoconf cmake pkg-config zlib1g-dev libreadline-dev libsqlite0-dev libssl-dev libyaml-dev libffi-dev && \ + apt-get install -y autoconf cmake pkg-config zlib1g-dev libreadline-dev libsqlite3-dev libssl-dev libyaml-dev libffi-dev && \ rm -rf /var/lib/apt/lists/* ## @@ -75,7 +75,7 @@ USER root ## Install cross compilers ## <% if platform =~ /x64-mingw-ucrt/ %> -COPY --from=larskanis/mingw64-ucrt:20.04 \ +COPY --from=larskanis/mingw64-ucrt:24.04 \ /build/binutils-mingw-w64-x86-64_*.deb \ /build/g++-mingw-w64-x86-64_*.deb \ /build/gcc-mingw-w64-base_*.deb \ @@ -110,7 +110,7 @@ RUN /tmp/mk_musl_cross.sh <%= target %> <% else %> RUN apt-get -y update && \ apt-get install -y <% -if platform =~ /darwin/ %> clang python lzma-dev libxml2-dev libssl-dev libc++-10-dev <% end %><% +if platform =~ /darwin/ %> clang python3 lzma-dev libxml2-dev libssl-dev libc++-18-dev <% end %><% if platform =~ /aarch64-linux-gnu/ %> gcc-aarch64-linux-gnu g++-aarch64-linux-gnu <% end %><% if platform =~ /arm-linux-gnu/ %> gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf <% end %><% if platform =~ /x86-linux-gnu/ %> gcc-i686-linux-gnu g++-i686-linux-gnu <% end %><% diff --git a/Rakefile b/Rakefile index 28403d73..ea8cbdf1 100644 --- a/Rakefile +++ b/Rakefile @@ -181,7 +181,7 @@ end namespace :prepare do desc "Build cross compiler for x64-mingw-ucrt aka RubyInstaller-3.1+" task "mingw64-ucrt" do - sh(*RakeCompilerDock.docker_build_cmd, "-t", "larskanis/mingw64-ucrt:20.04", ".", + sh(*RakeCompilerDock.docker_build_cmd, "-t", "larskanis/mingw64-ucrt:24.04", ".", chdir: "mingw64-ucrt") end end diff --git a/build/mk_osxcross.sh b/build/mk_osxcross.sh index b1964f7b..4891ecbf 100755 --- a/build/mk_osxcross.sh +++ b/build/mk_osxcross.sh @@ -12,8 +12,8 @@ cd /opt/osxcross/tarballs set -x curl -L -o MacOSX11.1.sdk.tar.xz https://github.com/larskanis/MacOSX-SDKs/releases/download/11.1/MacOSX11.1.sdk.tar.xz tar -xf MacOSX11.1.sdk.tar.xz -C . -cp -rf /usr/lib/llvm-10/include/c++ MacOSX11.1.sdk/usr/include/c++ -cp -rf /usr/include/*-linux-gnu/c++/9/bits/ MacOSX11.1.sdk/usr/include/c++/v1/bits +cp -rf /usr/lib/llvm-18/include/c++ MacOSX11.1.sdk/usr/include/c++ +cp -rf /usr/include/*-linux-gnu/c++/13/bits/ MacOSX11.1.sdk/usr/include/c++/v1/bits tar -cJf MacOSX11.1.sdk.tar.xz MacOSX11.1.sdk set +x @@ -36,8 +36,8 @@ rm -f /opt/osxcross/target/bin/*-apple-darwin-* find /opt/osxcross/target/bin/ -name '*-apple-darwin[0-9]*' | sort | while read f ; do d=`echo $f | sed s/darwin[0-9\.]*/darwin/`; echo $f '"$@"' | tee $d && chmod +x $d ; done # There's no objdump in osxcross but we can use llvm's -ln -s /usr/lib/llvm-10/bin/llvm-objdump /opt/osxcross/target/bin/x86_64-apple-darwin-objdump -ln -s /usr/lib/llvm-10/bin/llvm-objdump /opt/osxcross/target/bin/aarch64-apple-darwin-objdump +ln -s /usr/lib/llvm-18/bin/llvm-objdump /opt/osxcross/target/bin/x86_64-apple-darwin-objdump +ln -s /usr/lib/llvm-18/bin/llvm-objdump /opt/osxcross/target/bin/aarch64-apple-darwin-objdump # install /usr/bin/codesign and make a symlink for codesign_allocate (the architecture doesn't matter) git clone -q --depth=1 https://github.com/flavorjones/sigtool --branch flavorjones-fix-link-line-library-order diff --git a/mingw64-ucrt/Dockerfile b/mingw64-ucrt/Dockerfile index 0f3cd97f..4c5939cd 100644 --- a/mingw64-ucrt/Dockerfile +++ b/mingw64-ucrt/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive diff --git a/mingw64-ucrt/README.md b/mingw64-ucrt/README.md index efd2d554..1c622dcf 100644 --- a/mingw64-ucrt/README.md +++ b/mingw64-ucrt/README.md @@ -10,5 +10,5 @@ The image is provided for arm64 and amd64 architectures. They are built by the following command: ```sh -docker buildx build . -t larskanis/mingw64-ucrt:20.04 --platform linux/arm64,linux/amd64 --push +docker buildx build . -t larskanis/mingw64-ucrt:24.04 --platform linux/arm64,linux/amd64 --push ```