diff --git a/Dockerfile b/Dockerfile index 08fab60..7e3b96c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,14 +18,14 @@ RUN apt update && \ curl -# Install Java 24.x -# http://jdk.java.net/24/ +# Install Java 25.x +# https://jdk.java.net/25/ RUN cd /tmp && \ if [ "$BUILDARCH" = "arm64" ]; then ARCH="aarch64"; else ARCH="x64"; fi && \ - curl --remote-name https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - tar xzf openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - rm --force openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - mv jdk-24.0.2 /opt/jdk && \ + curl --remote-name https://download.java.net/java/GA/jdk25.0.2/b1e0dfa218384cb9959bdcb897162d4e/10/GPL/openjdk-25.0.2_linux-${ARCH}_bin.tar.gz && \ + tar xzf openjdk-25.0.2_linux-${ARCH}_bin.tar.gz && \ + rm --force openjdk-25.0.2_linux-${ARCH}_bin.tar.gz && \ + mv jdk-25.0.2 /opt/jdk && \ mkdir --parent /opt/bin && \ ln --symbolic /opt/jdk/bin/* /opt/bin/ && \ chmod a+rx /opt/bin/* @@ -64,16 +64,16 @@ RUN apt update && \ # Install Python 3.13.x # https://www.python.org/downloads/ RUN cd /tmp && \ - curl --remote-name https://www.python.org/ftp/python/3.13.11/Python-3.13.11.tgz && \ - tar xzf Python-3.13.11.tgz && \ - rm --force Python-3.13.11.tgz && \ - cd Python-3.13.11 && \ + curl --remote-name https://www.python.org/ftp/python/3.13.12/Python-3.13.12.tgz && \ + tar xzf Python-3.13.12.tgz && \ + rm --force Python-3.13.12.tgz && \ + cd Python-3.13.12 && \ CFLAGS="-Os" ./configure --disable-static --enable-optimizations --enable-shared --with-lto --without-tests && \ ./configure && \ make && \ make install && \ cd .. && \ - rm --force --recursive Python-3.13.11 && \ + rm --force --recursive Python-3.13.12 && \ ln --relative --symbolic /usr/local/bin/pip3 /usr/local/bin/pip && \ ln --relative --symbolic /usr/local/bin/python3 /usr/local/bin/python && \ pip3 install --no-cache-dir --upgrade pip @@ -117,14 +117,14 @@ RUN echo "gem: --no-document" > /etc/gemrc && \ # https://www.sqlite.org/howtocompile.html#compiling_the_command_line_interface COPY shell.c.patch /tmp RUN cd /tmp && \ - curl --remote-name https://www.sqlite.org/2025/sqlite-amalgamation-3510100.zip && \ - unzip sqlite-amalgamation-3510100.zip && \ - rm --force sqlite-amalgamation-3510100.zip && \ - cd sqlite-amalgamation-3510100 && \ + curl --remote-name https://www.sqlite.org/2026/sqlite-amalgamation-3510200.zip && \ + unzip sqlite-amalgamation-3510200.zip && \ + rm --force sqlite-amalgamation-3510200.zip && \ + cd sqlite-amalgamation-3510200 && \ patch shell.c < /tmp/shell.c.patch && \ gcc -D HAVE_READLINE -D SQLITE_DEFAULT_FOREIGN_KEYS=1 -D SQLITE_OMIT_DYNAPROMPT=1 shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o /usr/local/bin/sqlite3 && \ cd .. && \ - rm --force --recursive sqlite-amalgamation-3510100 && \ + rm --force --recursive sqlite-amalgamation-3510200 && \ rm --force /tmp/shell.c.patch diff --git a/Dockerfile.temp b/Dockerfile.temp deleted file mode 100644 index fc6c83a..0000000 --- a/Dockerfile.temp +++ /dev/null @@ -1,101 +0,0 @@ -# Ubuntu version -ARG RELEASE=24.04 - -# Build stage -FROM ubuntu:${RELEASE} AS builder - - -# Build-time variables -ARG DEBIAN_FRONTEND=noninteractive -ARG BUILDARCH - - -# Stage-wide dependencies -RUN apt update && \ - apt install --no-install-recommends --no-install-suggests --yes \ - build-essential \ - ca-certificates \ - curl - - -# Install Java 24.x -# http://jdk.java.net/24/ -RUN cd /tmp && \ - if [ "$BUILDARCH" = "arm64" ]; then ARCH="aarch64"; else ARCH="x64"; fi && \ - curl --remote-name https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - tar xzf openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - rm --force openjdk-24.0.2_linux-${ARCH}_bin.tar.gz && \ - mv jdk-24.0.2 /opt/jdk && \ - mkdir --parent /opt/bin && \ - ln --symbolic /opt/jdk/bin/* /opt/bin/ && \ - chmod a+rx /opt/bin/* - - -# Install Node.js 22.x -# https://nodejs.dev/en/download/ -# https://github.com/tj/n#installation -RUN curl --location https://raw.githubusercontent.com/tj/n/master/bin/n --output /usr/local/bin/n && \ - chmod a+x /usr/local/bin/n && \ - n 22.21.1 - - -# Install Node.js packages -RUN npm install --global \ - http-server@14.1.1 - - -# Patch index.js in http-server -COPY index.js.patch /tmp -RUN cd /usr/local/lib/node_modules/http-server/lib/core/show-dir && \ - patch index.js < /tmp/index.js.patch && \ - rm --force /tmp/index.js.patch - - -# Suggested build environment for Python, per pyenv, even though we're building ourselves -# https://github.com/pyenv/pyenv/wiki#suggested-build-environment -RUN apt update && \ - apt install --no-install-recommends --no-install-suggests --yes \ - build-essential ca-certificates curl git \ - libssl-dev libbz2-dev libreadline-dev libsqlite3-dev \ - llvm libncursesw5-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \ - make tk-dev unzip wget xz-utils zlib1g-dev - - -# Install Python 3.13.x -# https://www.python.org/downloads/ -RUN cd /tmp && \ - curl --remote-name https://www.python.org/ftp/python/3.13.11/Python-3.13.11.tgz && \ - tar xzf Python-3.13.11.tgz && \ - rm --force Python-3.13.11.tgz && \ - cd Python-3.13.11 && \ - CFLAGS="-Os" ./configure --disable-static --enable-optimizations --enable-shared --with-lto --without-tests && \ - ./configure && \ - make && \ - make install && \ - cd .. && \ - rm --force --recursive Python-3.13.11 && \ - ln --relative --symbolic /usr/local/bin/pip3 /usr/local/bin/pip && \ - ln --relative --symbolic /usr/local/bin/python3 /usr/local/bin/python && \ - pip3 install --no-cache-dir --upgrade pip - - -# Install Ruby 3.4.x -# https://www.ruby-lang.org/en/downloads/ -# https://bugs.ruby-lang.org/issues/20085#note-5 -RUN apt update && \ - apt install --no-install-recommends --no-install-suggests --yes \ - autoconf \ - libyaml-dev && \ - apt clean && \ - rm --force --recursive /var/lib/apt/lists/* && \ - cd /tmp && \ - curl https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.1.tar.gz --output ruby-4.0.1.tar.gz && \ - tar xzf ruby-4.0.1.tar.gz && \ - rm --force ruby-4.0.1.tar.gz && \ - cd ruby-4.0.1 && \ - if [ "$BUILDARCH" = "arm64" ]; then ASFLAGS=-mbranch-protection=pac-ret; else ASFLAGS=; fi && \ - ASFLAGS=${ASFLAGS} CFLAGS=-Os ./configure --disable-install-doc --enable-load-relative && \ - make && \ - make install && \ - cd .. && \ - rm --force --recursive ruby-4.0.1