diff --git a/server/build-docker.sh b/server/build-docker.sh index 92d70f63..e1d53215 100755 --- a/server/build-docker.sh +++ b/server/build-docker.sh @@ -17,7 +17,7 @@ MULTI_ARCH="linux/amd64" # base images echo "Base image with archs: $MULTI_ARCH" -DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform $MULTI_ARCH -t $DOCKER_REGISTRY/extender-base-env:1.4.0 -t $DOCKER_REGISTRY/extender-base-env:latest -f $SCRIPT_DIR/docker/Dockerfile.base-env $SCRIPT_DIR/docker +DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform $MULTI_ARCH -t $DOCKER_REGISTRY/extender-base-env:1.5.0 -t $DOCKER_REGISTRY/extender-base-env:latest -f $SCRIPT_DIR/docker/Dockerfile.base-env $SCRIPT_DIR/docker REQUESTED="$@" [ -z "$REQUESTED" ] && REQUESTED="android windows web ps4 ps5 nintendo linux" @@ -25,16 +25,16 @@ for request in $REQUESTED; do INSTALL="" case $request in web) - INSTALL="emsdk-2011 emsdk-3155 emsdk-3165 emsdk-406" + INSTALL="emsdk-3155 emsdk-3165 emsdk-406" ;; ps4) - INSTALL="wine ps4-10500 ps4-11000 ps4-12000" + INSTALL="wine ps4-12000" ;; ps5) - INSTALL="wine ps5-8000 ps5-9000 ps5-10000" + INSTALL="wine ps5-10000" ;; nintendo) - INSTALL="wine nssdk-1532 nssdk-1753 nssdk-1832" + INSTALL="wine nssdk-1832" ;; android) INSTALL="android android-ndk25" @@ -43,7 +43,7 @@ for request in $REQUESTED; do INSTALL="android $request" ;; windows) - INSTALL="wine winsdk-2019 winsdk-2022" + INSTALL="wine winsdk-2022" ;; linux) INSTALL="linux" @@ -65,10 +65,10 @@ for request in $REQUESTED; do DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_NINTENDO_PRIVATE_REGISTRY/extender-${install}-env:latest -f $SCRIPT_DIR/docker/Dockerfile.$(echo $install | sed 's,-,.,')-env $SCRIPT_DIR/docker ;; wine) - DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_REGISTRY/extender-wine-env:1.4.0 -t $DOCKER_REGISTRY/extender-wine-env:latest -f $SCRIPT_DIR/docker/Dockerfile.wine-env $SCRIPT_DIR/docker + DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_REGISTRY/extender-wine-env:1.5.0 -t $DOCKER_REGISTRY/extender-wine-env:latest -f $SCRIPT_DIR/docker/Dockerfile.wine-env $SCRIPT_DIR/docker ;; android) - DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_REGISTRY/extender-android-env:1.5.0 -f $SCRIPT_DIR/docker/Dockerfile.android-env $SCRIPT_DIR/docker + DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_REGISTRY/extender-android-env:1.6.0 -f $SCRIPT_DIR/docker/Dockerfile.android-env $SCRIPT_DIR/docker ;; android-ndk*|winsdk-*|emsdk-*) DM_PACKAGES_URL=$DM_PACKAGES_URL docker buildx build --secret id=DM_PACKAGES_URL --platform linux/amd64 -t $DOCKER_REGISTRY/extender-${install}-env:latest -f $SCRIPT_DIR/docker/Dockerfile.$(echo $install | sed 's,-,.,')-env $SCRIPT_DIR/docker diff --git a/server/docker/Dockerfile.android-env b/server/docker/Dockerfile.android-env index e1ec0db6..55d9cefb 100644 --- a/server/docker/Dockerfile.android-env +++ b/server/docker/Dockerfile.android-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 # Technically part of the Android build, but also required by the GradleService.java # until it can be disabled (e.g. by looking for the existance of GRADLE_USER_HOME) @@ -6,8 +6,8 @@ FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extend # Versions: https://developer.android.com/studio/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle # Java+Gradle version matrix: https://docs.gradle.org/current/userguide/compatibility.html ENV GRADLE_USER_HOME=/tmp/.gradle -ENV GRADLE_VERSION=8.7 -ENV GRADLE_PLUGIN_VERSION=8.6.1 +ENV GRADLE_VERSION=9.1.0 +ENV GRADLE_PLUGIN_VERSION=8.13.0 ENV PATH=${PATH}:/opt/gradle/gradle-${GRADLE_VERSION}/bin RUN \ echo "Gradle" && \ diff --git a/server/docker/Dockerfile.android.ndk25-env b/server/docker/Dockerfile.android.ndk25-env index f979519d..d0fc6d96 100644 --- a/server/docker/Dockerfile.android.ndk25-env +++ b/server/docker/Dockerfile.android.ndk25-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-android-env:1.5.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-android-env:1.6.0 # # Android SDK/NDK diff --git a/server/docker/Dockerfile.base-env b/server/docker/Dockerfile.base-env index 8fc0bb98..1e19b7c4 100644 --- a/server/docker/Dockerfile.base-env +++ b/server/docker/Dockerfile.base-env @@ -23,7 +23,7 @@ RUN \ # # Java # -ENV JAVA_HOME=/usr/local/jdk-21.0.5+11 +ENV JAVA_HOME=/usr/local/jdk-25+36 ENV PATH=${JAVA_HOME}/bin:${PATH} RUN locale-gen en_US.UTF-8 @@ -35,7 +35,7 @@ ENV JDK_ARCH=${TARGETARCH/amd64/x64} ENV JDK_ARCH=${JDK_ARCH/arm64/aarch64} RUN \ - wget -q -O - https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.5%2B11/OpenJDK21U-jdk_${JDK_ARCH}_linux_hotspot_21.0.5_11.tar.gz | tar xz -C /usr/local && \ + wget -q -O - https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25%2B36/OpenJDK25U-jdk_${JDK_ARCH}_linux_hotspot_25_36.tar.gz | tar xz -C /usr/local && \ java -version && \ javac -version diff --git a/server/docker/Dockerfile.emsdk.2011-env b/server/docker/Dockerfile.emsdk.2011-env deleted file mode 100644 index b75889a3..00000000 --- a/server/docker/Dockerfile.emsdk.2011-env +++ /dev/null @@ -1,38 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 - -# -# EMSCRIPTEN -# - -ENV EMCC_SKIP_SANITY_CHECK=1 - -## Emscripten 2.0.11 (from version 1.2.178) - -ENV EMSCRIPTEN_SDK_2_0_11=${PLATFORMSDK_DIR}/emsdk-2.0.11 -ENV EMSCRIPTEN_HOME_2_0_11=${EMSCRIPTEN_SDK_2_0_11} -ENV EMSCRIPTEN_CONFIG_2_0_11=${EMSCRIPTEN_HOME_2_0_11}/.emscripten -ENV EMSCRIPTEN_BIN_2_0_11=${EMSCRIPTEN_HOME_2_0_11}/upstream/emscripten -ENV EMSCRIPTEN_CACHE_2_0_11=/var/extender/emcache_2_0_11 -ENV EMSCRIPTEN_PYTHON_2_0_11=/usr/bin/python3.10 -# Setup a special env variable that will be prefixed to PATH if requested version is 2.0.11 -ENV EMSCRIPTEN_PATH_2_0_11=${EMSCRIPTEN_HOME_2_0_11}:${EMSCRIPTEN_HOME_2_0_11}/upstream/bin:${EMSCRIPTEN_HOME_2_0_11}/node/12.9.1_64bit/bin:${EMSCRIPTEN_BIN_2_0_11} - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - mkdir ${EMSCRIPTEN_SDK_2_0_11} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/emsdk-2.0.11-linux.tar.gz | tar xz -C ${EMSCRIPTEN_SDK_2_0_11} --strip-components=1 - -RUN \ - ${EMSCRIPTEN_HOME_2_0_11}/emsdk activate sdk-2.0.11-64bit --embedded && \ - EM_CONFIG=$EMSCRIPTEN_CONFIG_2_0_11 EM_CACHE=${EMSCRIPTEN_CACHE_2_0_11} python3 ${EMSCRIPTEN_BIN_2_0_11}/embuilder.py build SYSTEM MINIMAL && \ - chmod -R 755 ${EMSCRIPTEN_HOME_2_0_11} && \ - chown -R extender: ${EMSCRIPTEN_CACHE_2_0_11} && \ - chown -R extender: ${EMSCRIPTEN_CACHE_2_0_11}/wasm/cache.lock - -# We use the same temp directory for both versions. -ENV EMSCRIPTEN_TEMP_DIR=/var/extender/ems_temp -RUN mkdir -p ${EMSCRIPTEN_TEMP_DIR} -RUN chmod -R 755 ${EMSCRIPTEN_TEMP_DIR} && chown extender: ${EMSCRIPTEN_TEMP_DIR} -# The "sed" command below removes the /TEMP_DIR line from the generated configs -# We replace it with a folder of our own -RUN sed '/TEMP_DIR =/d' ${EMSCRIPTEN_CONFIG_2_0_11} && \ - echo TEMP_DIR = \'${EMSCRIPTEN_TEMP_DIR}\' >> ${EMSCRIPTEN_CONFIG_2_0_11} \ No newline at end of file diff --git a/server/docker/Dockerfile.emsdk.3155-env b/server/docker/Dockerfile.emsdk.3155-env index ee4eb422..eb3ca38c 100644 --- a/server/docker/Dockerfile.emsdk.3155-env +++ b/server/docker/Dockerfile.emsdk.3155-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 ENV EMSCRIPTEN_SDK_3_1_55=${PLATFORMSDK_DIR}/emsdk-3.1.55 ENV EMSCRIPTEN_HOME_3_1_55=${EMSCRIPTEN_SDK_3_1_55} diff --git a/server/docker/Dockerfile.emsdk.3165-env b/server/docker/Dockerfile.emsdk.3165-env index 4baa84b9..d531a06b 100644 --- a/server/docker/Dockerfile.emsdk.3165-env +++ b/server/docker/Dockerfile.emsdk.3165-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 ENV EMSCRIPTEN_SDK_3_1_65=${PLATFORMSDK_DIR}/emsdk-3.1.65 ENV EMSCRIPTEN_HOME_3_1_65=${EMSCRIPTEN_SDK_3_1_65} diff --git a/server/docker/Dockerfile.emsdk.406-env b/server/docker/Dockerfile.emsdk.406-env index 0d46f01f..4f2ca86e 100644 --- a/server/docker/Dockerfile.emsdk.406-env +++ b/server/docker/Dockerfile.emsdk.406-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 ENV EMSCRIPTEN_SDK_4_0_6=${PLATFORMSDK_DIR}/emsdk-4.0.6 ENV EMSCRIPTEN_HOME_4_0_6=${EMSCRIPTEN_SDK_4_0_6} diff --git a/server/docker/Dockerfile.linux-env b/server/docker/Dockerfile.linux-env index 0b19b14c..fbda7a3c 100644 --- a/server/docker/Dockerfile.linux-env +++ b/server/docker/Dockerfile.linux-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 RUN \ echo "LINUX TOOLS + COMPILER" && \ diff --git a/server/docker/Dockerfile.nssdk.1532-env b/server/docker/Dockerfile.nssdk.1532-env deleted file mode 100644 index fb9115fa..00000000 --- a/server/docker/Dockerfile.nssdk.1532-env +++ /dev/null @@ -1,10 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -# Added in version 1.4.4 -ENV NINTENDO_SDK_ROOT_15_3_2=${PLATFORMSDK_DIR}/nx-15.3.2 -ENV SWITCH_SDK_15_FILENAME=nx64-sdk-15.3.2.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "Switch SDK 15.3.2" && \ - mkdir -p ${NINTENDO_SDK_ROOT_15_3_2} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${SWITCH_SDK_15_FILENAME} | tar xz -C ${NINTENDO_SDK_ROOT_15_3_2} \ No newline at end of file diff --git a/server/docker/Dockerfile.nssdk.1753-env b/server/docker/Dockerfile.nssdk.1753-env deleted file mode 100644 index dbeb3d3a..00000000 --- a/server/docker/Dockerfile.nssdk.1753-env +++ /dev/null @@ -1,9 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV NINTENDO_SDK_ROOT_17_5=${PLATFORMSDK_DIR}/nx-17.5.3 -ENV SWITCH_SDK_17_FILENAME=nx64-sdk-17.5.3.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "Switch SDK 17.5.3" && \ - mkdir -p ${NINTENDO_SDK_ROOT_17_5} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${SWITCH_SDK_17_FILENAME} | tar xz -C ${NINTENDO_SDK_ROOT_17_5} \ No newline at end of file diff --git a/server/docker/Dockerfile.nssdk.1832-env b/server/docker/Dockerfile.nssdk.1832-env index c8733002..a627a39b 100644 --- a/server/docker/Dockerfile.nssdk.1832-env +++ b/server/docker/Dockerfile.nssdk.1832-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.5.0 ENV NINTENDO_SDK_ROOT_18_3=${PLATFORMSDK_DIR}/nx-18.3.2 ENV SWITCH_SDK_18_FILENAME=nx64-sdk-18.3.2.tar.gz diff --git a/server/docker/Dockerfile.ps4.10500-env b/server/docker/Dockerfile.ps4.10500-env deleted file mode 100644 index 3af89863..00000000 --- a/server/docker/Dockerfile.ps4.10500-env +++ /dev/null @@ -1,10 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV PS4_SDK_10=${PLATFORMSDK_DIR}/ps4-sdk-10.500 - -ENV PS4_SDK_10_FILENAME=ps4-sdk-10.500.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "PS4 ${PS4_SDK_10_FILENAME}" && \ - mkdir -p ${PS4_SDK_10} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${PS4_SDK_10_FILENAME} | tar xz -C ${PS4_SDK_10} --strip-components=1 \ No newline at end of file diff --git a/server/docker/Dockerfile.ps4.11000-env b/server/docker/Dockerfile.ps4.11000-env deleted file mode 100644 index 60d77396..00000000 --- a/server/docker/Dockerfile.ps4.11000-env +++ /dev/null @@ -1,11 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV PS4_SDK_11_VERSION=11.000 -ENV PS4_SDK_11=${PLATFORMSDK_DIR}/ps4-sdk-${PS4_SDK_11_VERSION} - -ENV PS4_SDK_11_FILENAME=ps4-sdk-${PS4_SDK_11_VERSION}.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "PS4 ${PS4_SDK_11_FILENAME}" && \ - mkdir -p ${PS4_SDK_11} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${PS4_SDK_11_FILENAME} | tar xz -C ${PS4_SDK_11} --strip-components=1 \ No newline at end of file diff --git a/server/docker/Dockerfile.ps4.12000-env b/server/docker/Dockerfile.ps4.12000-env index d772cb46..738d8938 100644 --- a/server/docker/Dockerfile.ps4.12000-env +++ b/server/docker/Dockerfile.ps4.12000-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.5.0 ENV PS4_SDK_VERSION=12.000 ENV PS4_SDK=${PLATFORMSDK_DIR}/ps4-sdk-${PS4_SDK_VERSION} diff --git a/server/docker/Dockerfile.ps5.10000-env b/server/docker/Dockerfile.ps5.10000-env index f0a23f78..78eaa61a 100644 --- a/server/docker/Dockerfile.ps5.10000-env +++ b/server/docker/Dockerfile.ps5.10000-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.5.0 ENV PS5_SDK_VERSION=10.000 ENV PS5_SDK=${PLATFORMSDK_DIR}/ps5-sdk-${PS5_SDK_VERSION} diff --git a/server/docker/Dockerfile.ps5.8000-env b/server/docker/Dockerfile.ps5.8000-env deleted file mode 100644 index 114aee15..00000000 --- a/server/docker/Dockerfile.ps5.8000-env +++ /dev/null @@ -1,11 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV PS5_SDK_8_VERSION=8.000 -ENV PS5_SDK_8=${PLATFORMSDK_DIR}/ps5-sdk-${PS5_SDK_8_VERSION} - -ENV PS5_SDK_8_FILENAME=ps5-sdk-${PS5_SDK_8_VERSION}.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "PS5 ${PS5_SDK_8_FILENAME}" && \ - mkdir -p ${PS5_SDK_8} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${PS5_SDK_8_FILENAME} | tar xz -C ${PS5_SDK_8} --strip-components=1 \ No newline at end of file diff --git a/server/docker/Dockerfile.ps5.9000-env b/server/docker/Dockerfile.ps5.9000-env deleted file mode 100644 index c3174512..00000000 --- a/server/docker/Dockerfile.ps5.9000-env +++ /dev/null @@ -1,11 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV PS5_SDK_9_VERSION=9.000 -ENV PS5_SDK_9=${PLATFORMSDK_DIR}/ps5-sdk-${PS5_SDK_9_VERSION} - -ENV PS5_SDK_9_FILENAME=ps5-sdk-${PS5_SDK_9_VERSION}.tar.gz - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "PS5 ${PS5_SDK_9_FILENAME}" && \ - mkdir -p ${PS5_SDK_9} && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/${PS5_SDK_9_FILENAME} | tar xz -C ${PS5_SDK_9} --strip-components=1 \ No newline at end of file diff --git a/server/docker/Dockerfile.wine-env b/server/docker/Dockerfile.wine-env index 949d53a4..25d5e8bd 100644 --- a/server/docker/Dockerfile.wine-env +++ b/server/docker/Dockerfile.wine-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-base-env:1.5.0 # Installation notes: https://wiki.winehq.org/Ubuntu # TODO: Backup the files as descibed here: https://wiki.winehq.org/Ubuntu diff --git a/server/docker/Dockerfile.winsdk.2019-env b/server/docker/Dockerfile.winsdk.2019-env deleted file mode 100644 index 14505b9b..00000000 --- a/server/docker/Dockerfile.winsdk.2019-env +++ /dev/null @@ -1,93 +0,0 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 - -ENV \ - PLATFORMSDK_WIN32=$PLATFORMSDK_DIR/Win32 \ - WINDOWS_SDK_10_18362_VERSION=10.0.18362.0 \ - WINDOWS_MSVC_2019_VERSION=14.25.28610 - -# The version part is deprecated since 1.6.2 (we should leave that to the build_input.yml) -ENV \ - WINDOWS_SDK_10_DIR=${PLATFORMSDK_WIN32}/WindowsKits/10/ \ - WindowsSdkDir=${PLATFORMSDK_WIN32}/WindowsKits/10/ \ - WindowsLibPath=${PLATFORMSDK_WIN32}/WindowsKits/10/References/${WINDOWS_SDK_10_18362_VERSION} \ - WindowsSDKLibVersion=${WINDOWS_SDK_10_18362_VERSION} \ - WindowsSDKVersion=${WINDOWS_SDK_10_18362_VERSION} - -# Grabbed after a starting MSVC 2019, and choosing "Tools -> Command Line -> Developer Command Prompt" -# Note: VCINSTALLDIR is special since clang will use it as the last "-internal-isystem" option -ENV \ - VCINSTALLDIR=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/VC/ \ - VSINSTALLDIR=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/ \ - WINDOWS_MSVC_2019_DIR=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/VC/Tools/MSVC/${WINDOWS_MSVC_2019_VERSION}/ \ - VS160COMNTOOLS=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/Common7/Tools/ \ - WINDOWS_VCINSTALLDIR=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/VC/Tools/MSVC/${WINDOWS_MSVC_2019_VERSION}/ \ - WINDOWS_VSINSTALLDIR=${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019/ - -# windres: Allows for generating .res files that can be used during linking -RUN \ - echo "Win32 SDK - WINDRES" && \ - apt-get update && \ - apt-get install -y binutils-mingw-w64-x86-64 && \ - ls -la /usr/bin/x86_64-w64-mingw32-windres && \ - ln -s /usr/bin/x86_64-w64-mingw32-windres /usr/local/bin/windres - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "WIN32 2019 SDK" && \ - mkdir -p ${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019 && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/Microsoft-Visual-Studio-2019-${WINDOWS_MSVC_2019_VERSION}.tar.gz | tar xz -C ${PLATFORMSDK_WIN32}/MicrosoftVisualStudio2019 - -RUN --mount=type=secret,id=DM_PACKAGES_URL,required=true \ - echo "WIN32 ${WINDOWS_SDK_10_18362_VERSION} SDK " && \ - mkdir -p ${PLATFORMSDK_WIN32}/WindowsKits && \ - wget -q -O - $(cat /run/secrets/DM_PACKAGES_URL)/WindowsKits-${WINDOWS_SDK_10_18362_VERSION}.tar.gz | tar xz -C ${PLATFORMSDK_WIN32}/WindowsKits - -RUN \ - ln -s $(which clang) $(dirname $(which clang))/x86_64-pc-win32-clang && \ - ln -s $(which llvm-ar) $(dirname $(which llvm-ar))/x86_64-pc-win32-clang-ar - -# Legacy. Deprecated from 1.6.2 -ENV WINDOWS_SDK_10_VERSION=${WINDOWS_SDK_10_18362_VERSION} - -# Due to Windows' case insensitive file system, the sources reference lib files with wrong cases -# so we solve the bulk by making the suffixes lowercase. (e.g. MyLib.Lib -> MyLib.lib) -RUN find $PLATFORMSDK_WIN32 -iname '*.Lib' -type f -exec sh -c 'a=$(echo "$0" | sed -r "s/([^.]*)\$/\L\1/"); [ "$a" != "$0" ] && [ ! -f "$a" ] && ln -s "$0" "$a" ' {} \; - -COPY winsdk_rename_files.py ${PLATFORMSDK_WIN32} -RUN \ - echo "Renaming header files" && \ - python ${PLATFORMSDK_WIN32}/winsdk_rename_files.py > ${PLATFORMSDK_WIN32}/rename.txt - -# Make a copy of all the headers too, in lower case (e.g. Windows.h -> windows.h etc) -RUN find $PLATFORMSDK_WIN32 -iname '*.h' -type f -exec sh -c 'd=$(dirname "$0"); a=$(basename "$0" | tr [:upper:] [:lower:]); [ "$a" != $(basename "$0") ] && [ ! -f "$d/$a" ] && ln -s "$0" "$d/$a" ' {} \; - -# Make lower case links of libraries as well -RUN find ${WINDOWS_SDK_10_DIR}/Lib -iname '*.lib' -type f -exec sh -c 'd=$(dirname "$0"); a=$(basename "$0" | tr [:upper:] [:lower:]); [ "$a" != $(basename "$0") ] && [ ! -f "$d/$a" ] && ln -s "$0" "$d/$a" ' {} \; - -RUN \ - echo "WIN32 SDK - 2019 - Cleanup" && \ -# and the rest are manually copied (or made lower case) - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x64 && cp oldnames.lib OLDNAMES.lib) && \ - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x86 && cp oldnames.lib OLDNAMES.lib) && \ - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x64 && cp libcmt.lib LIBCMT.lib) && \ - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x86 && cp libcmt.lib LIBCMT.lib) && \ - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x64 && cp delayimp.lib Delayimp.lib) && \ - (cd ${WINDOWS_MSVC_2019_DIR}/lib/x86 && cp delayimp.lib Delayimp.lib) - - -# Some headers are named by the wrong name in the windows sdk's... -# We need to make certain names lowercase because some users -# have put "pragma lib" comments in some libraries :( -# and/or misspelled header files -RUN \ - echo "WIN32 WindowsKits ${WINDOWS_SDK_10_18362_VERSION} - Cleanup" && \ - (cd ${WINDOWS_SDK_10_DIR}/Include/${WINDOWS_SDK_10_18362_VERSION}/shared && cp driverspecs.h DriverSpecs.h) && \ - (cd ${WINDOWS_SDK_10_DIR}/Include/${WINDOWS_SDK_10_18362_VERSION}/shared && cp specstrings.h SpecStrings.h) && \ - (cd ${WINDOWS_SDK_10_DIR}/Include/${WINDOWS_SDK_10_18362_VERSION}/shared && cp concurrencysal.h ConcurrencySal.h) && \ - (cd ${WINDOWS_SDK_10_DIR}/Include/${WINDOWS_SDK_10_18362_VERSION}/shared && cp wlantypes.h WlanTypes.h) - -# Also, the OpenGL headers in the windows SDK is in a folder with lower case letters, which doesn't match the includes -RUN \ - echo "WIN32 WindowsKits ${WINDOWS_SDK_10_18362_VERSION} - OpenGL Cleanup" && \ - cd ${WINDOWS_SDK_10_DIR}/Include/${WINDOWS_SDK_10_18362_VERSION}/um && \ - mkdir ./GL && \ - cp -v ./gl/*.* ./GL/ \ No newline at end of file diff --git a/server/docker/Dockerfile.winsdk.2022-env b/server/docker/Dockerfile.winsdk.2022-env index b6b4840d..52922869 100644 --- a/server/docker/Dockerfile.winsdk.2022-env +++ b/server/docker/Dockerfile.winsdk.2022-env @@ -1,4 +1,4 @@ -FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.4.0 +FROM europe-west1-docker.pkg.dev/extender-426409/extender-public-registry/extender-wine-env:1.5.0 ENV PLATFORMSDK_WIN32=$PLATFORMSDK_DIR/Win32 diff --git a/server/src/main/resources/template.gradle.properties b/server/src/main/resources/template.gradle.properties index fd848bca..f3c63750 100644 --- a/server/src/main/resources/template.gradle.properties +++ b/server/src/main/resources/template.gradle.properties @@ -4,4 +4,4 @@ android.enableJetifier={{android-enable-jetifier}} # Gradle will stop resolving dependencies if android.useAndroidX is false and a dependency is using Android X android.useAndroidX={{android-enable-jetifier}} -org.gradle.java.home=/usr/local/jdk-21.0.5+11 +org.gradle.java.home=/usr/local/jdk-25+36