diff --git a/Dockerfile.windows b/Dockerfile.windows index 8780830..5e38a4e 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -10,7 +10,8 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand cd /root/${mono_version} && \ patch -p1 < /root/files/patches/wine-mono.patch && \ export WINE_BITS=64 && \ - bash /root/files/mono-build-win32.sh --prefix=/root/dependencies/mono-64 --host=x86_64-w64-mingw32 && \ + bash /root/files/mono-build-win32.sh --prefix=/root/dependencies/mono-64 --host=x86_64-w64-mingw32 \ + --with-profile4_x=yes --with-runtime-preset=net_4_x && \ git clean -fdx && \ cp /root/dependencies/mono-64/bin/libMonoPosixHelper.dll /root/dependencies/mono-64/bin/MonoPosixHelper.dll && \ rm -f /root/dependencies/mono-64/bin/mono /root/dependencies/mono-64/bin/mono-sgen && \ @@ -18,7 +19,8 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand ln -s /usr/bin/mono-sgen /root/dependencies/mono-64/bin/mono-sgen && \ cp -rvp /etc/mono /root/dependencies/mono-64/etc && \ export WINE_BITS=32 && \ - bash /root/files/mono-build-win32.sh --prefix=/root/dependencies/mono-32 --host=i686-w64-mingw32 && \ + bash /root/files/mono-build-win32.sh --prefix=/root/dependencies/mono-32 --host=i686-w64-mingw32 \ + --with-profile4_x=yes --with-runtime-preset=net_4_x && \ cd /root && \ rm -rf /root/${mono_version} && \ cp /root/dependencies/mono-32/bin/libMonoPosixHelper.dll /root/dependencies/mono-32/bin/MonoPosixHelper.dll && \ diff --git a/build.sh b/build.sh index 6c81132..394a642 100755 --- a/build.sh +++ b/build.sh @@ -103,6 +103,7 @@ $podman_build -t godot-export:${img_version} -f Dockerfile.export . 2>&1 | tee l $podman_build_mono -t godot-mono:${img_version} -f Dockerfile.mono . 2>&1 | tee logs/mono.log $podman_build_mono -t godot-mono-glue:${img_version} -f Dockerfile.mono-glue . 2>&1 | tee logs/mono-glue.log +# The ulimit below is necessary to use Wine to workaround Mono cross-compilation bugs (see GH-32). $podman_build_mono -t godot-windows:${img_version} -f Dockerfile.windows --ulimit nofile=65536 . 2>&1 | tee logs/windows.log $podman_build_mono -t godot-ubuntu-64:${img_version} -f Dockerfile.ubuntu-64 . 2>&1 | tee logs/ubuntu-64.log $podman_build_mono -t godot-ubuntu-32:${img_version} -f Dockerfile.ubuntu-32 . 2>&1 | tee logs/ubuntu-32.log