FROM archlinux:base-devel LABEL authors="johannes" RUN printf "[multilib]\nInclude = /etc/pacman.d/mirrorlist\n" >> /etc/pacman.conf RUN pacman --noconfirm -Syu curl &&\ curl https://git.frohnmeyer-wds.de/Johannes/jdk19-temurin/raw/branch/master/jdk19-temurin-19.0.2.u7-2-x86_64.pkg.tar.zst -Lo jdk19-temurin.pkg.tar.zst &&\ pacman --noconfirm -U jdk19-temurin.pkg.tar.zst &&\ rm jdk19-temurin.pkg.tar.zst &&\ pacman --noconfirm -S p7zip zip unzip jq git mdbook gradle wine winetricks gnutls xorg-server-xvfb lib32-gnutls libunwind dpkg fakeroot RUN curl https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip -Lo wix.zip &&\ mkdir -p root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin &&\ unzip wix.zip -d root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin &&\ rm wix.zip RUN curl https://api.adoptium.net/v3/binary/latest/19/ga/windows/x64/jdk/hotspot/normal/eclipse?project=jdk -Lo adoptium.zip &&\ mkdir root/java &&\ unzip adoptium.zip -d root/java &&\ mv root/java/*/* root/java &&\ rm adoptium.zip ENV WINEDEBUG=-all RUN wine wineboot --init &&\ while pgrep wineserver > /dev/null; do sleep 1; done &&\ winetricks --unattended win10 &&\ winetricks --unattended --force dotnet48 RUN mv root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin/light.exe root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin/light.exe.original.exe &&\ curl https://gitlab.com/api/v4/projects/34738832/jobs/artifacts/master/raw/dargl.exe?job=natives -Lo root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin/light.exe &&\ echo "-sval" > root/.wine/drive_c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.11/bin/light.exe.args.txt &&\ mkdir -p /root/jpackage-win/bin &&\ ln -s /root/java/jmods /root/jpackage-win/jmods &&\ printf "#\!/bin/bash\n/usr/lib/jvm/default/bin/java \"\$@\"\n" > /root/jpackage-win/bin/java &&\ chmod a+x /root/jpackage-win/bin/java &&\ printf "#\!/bin/bash\n/usr/lib/jvm/default/bin/javac \"\$@\"\n" > /root/jpackage-win/bin/javac &&\ chmod a+x /root/jpackage-win/bin/javac &&\ printf "#\!/bin/bash\n/usr/lib/jvm/default/bin/jlink \"\$@\"\n" > /root/jpackage-win/bin/jlink &&\ chmod a+x /root/jpackage-win/bin/jlink &&\ printf "#\!/bin/bash\nwine64 /root/java/bin/jpackage.exe \"\$@\"\n" > /root/jpackage-win/bin/jpackage &&\ chmod a+x /root/jpackage-win/bin/jpackage