FROM archlinux:latest # update the system and clean up RUN pacman -Syu --noconfirm && pacman -Scc --noconfirm RUN pacman -Sy java-runtime-common --noconfirm && pacman -Scc --noconfirm # download latest version of graalvm and move it to /lib/jvm/java-{javaversion}-graalvm RUN bash <(curl -sL https://get.graalvm.org/jdk) --no-progress && \ JAVAVERSION=$(ls ./ | grep graalvm | cut -d'-' -f3 | sed 's/java//g') && \ mv ./graalvm-ce-java$JAVAVERSION-$(ls ./ | grep graalvm | cut -d'-' -f4) /lib/jvm/java-$JAVAVERSION-graalvm && \ archlinux-java set java-$JAVAVERSION-graalvm # update the path variable ENV PATH="/usr/lib/jvm/default/bin:${PATH}" # set the JAVA_HOME variable ENV JAVA_HOME="/usr/lib/jvm/default" WORKDIR /opt RUN curl "https://downloads.apache.org/ant/source/apache-ant-1.10.12-src.tar.gz" --output ant-src.tar.gz && \ tar -xzf ant-src.tar.gz && \ rm ant-src.tar.gz && \ mv apache-ant-* ant-src && \ cd ant-src && \ mkdir /opt/ant && \ sh build.sh -f fetch.xml -Ddest=optional && \ sh build.sh -Ddist.dir=/opt/ant dist && \ cd .. && \ rm -rf ant-src # set the ANT_HOME variable ENV ANT_HOME="/opt/ant" # set the PATH variable ENV PATH="/opt/ant/bin:${PATH}" RUN ant -f /opt/ant/fetch.xml -Ddest=system # install the latest version dependencies of Yacy (copied from the official Dockerfile) RUN pacman -Sy imagemagick ruby qt5-tools qt5-doc gperf python xorg-server-xvfb ghostscript git qt5-svg qt5-xmlpatterns base-devel qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen hyphen-en hyphen-de woff2 cmake --noconfirm && \ pacman -Scc --noconfirm RUN useradd --no-create-home --shell=/bin/false build && \ usermod -L build USER build WORKDIR /tmp # buid package for qt5-webkit from AUR RUN git clone https://aur.archlinux.org/qt5-webkit.git && \ cd qt5-webkit && \ MAKEFLAGS="-j$(nproc)" makepkg --noconfirm && \ cd .. USER root # install the package RUN pacman -U --noconfirm /tmp/qt5-webkit/qt5-webkit*.pkg.tar.zst && \ rm -rf /tmp/qt5-webkit # build package for wkhtmltopdf from AUR RUN git clone https://aur.archlinux.org/wkhtmltopdf.git && \ cd wkhtmltopdf && \ MAKEFLAGS="-j$(nproc)" makepkg --noconfirm && \ cd .. USER root # install the package RUN pacman -U --noconfirm /tmp/wkhtmltopdf/wkhtmltox*.pkg.tar.zst && \ rm -rf /tmp/wkhtmltopdf