Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Mono 6.12.0.102, use Fedora 32 #58

Merged
merged 1 commit into from
Oct 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Dockerfile.base
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
FROM fedora:31
FROM fedora:32

WORKDIR /root

RUN dnf -y upgrade --setopt=install_weak_deps=False && \
dnf -y install --setopt=install_weak_deps=False \
bash bzip2 curl git make patch pkgconfig python3 scons unzip which xz
bash bzip2 curl git make nano patch pkgconfig python-unversioned-command python3-pip unzip which xz && \
pip install scons==4.0.1

CMD /bin/bash
2 changes: 1 addition & 1 deletion Dockerfile.ios
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
patch -p1 < /root/files/patches/mono-xcode-allow-weak-import.patch && \
patch -p1 < /root/files/patches/mono-sys-uio-fix-preadv-misdetection.patch && \
cd godot-mono-builds && \
sed -i ios.py -e '/no_weak_imports/d' && \
export DISABLE_NO_WEAK_IMPORTS=1 && \
export MONO_SOURCE_ROOT=/root/${mono_version} && \
python3 ios.py configure -j --verbose --target=arm64 --ios-toolchain ${IOSCROSS_ROOT}/arm64 --ios-sdk ${IOSCROSS_ROOT}/arm64/SDK/iPhoneOS14.0.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
python3 ios.py make -j --verbose --target=arm64 && \
Expand Down
18 changes: 9 additions & 9 deletions Dockerfile.javascript
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ ARG mono_version

RUN if [ -z "${mono_version}" ]; then printf "\n\nArgument mono_version is mandatory!\n\n"; exit 1; fi && \
dnf -y install --setopt=install_weak_deps=False \
java-openjdk yasm && \
java-openjdk && \
git clone --progress https://github.com/emscripten-core/emsdk && \
cd emsdk && \
git checkout a5082b232617c762cb65832429f896c838df2483 && \
./emsdk install 1.38.47-upstream && \
./emsdk activate 1.38.47-upstream && \
echo "source /root/emsdk/emsdk_env.sh" >> /root/.bashrc

RUN cp -a /root/files/${mono_version} /root && \
git checkout 1.39.9 && \
./emsdk install 1.39.9 && \
./emsdk activate 1.39.9 && \
echo "source /root/emsdk/emsdk_env.sh" >> /root/.bashrc && \
source /root/emsdk/emsdk_env.sh && \
cp -a /root/files/${mono_version} /root && \
cd /root/${mono_version} && \
patch -p1 < /root/files/patches/mono-pr16636-wasm-bugfix-and-update.diff && \
patch -p1 < /root/files/patches/mono-pr17094-bump-emscripten-1.38.46.patch && \
patch -p1 < /root/files/patches/mono-emscripten-1.39.9.patch && \
export MONO_SOURCE_ROOT=/root/${mono_version} && \
cd /root/${mono_version}/godot-mono-builds && \
sed -i patch_emscripten.py -e "/emscripten-pr-8457.diff/d" && \
python3 patch_emscripten.py && \
python3 wasm.py configure -j --target=runtime && \
python3 wasm.py make -j --target=runtime && \
Expand Down
11 changes: 6 additions & 5 deletions Dockerfile.mono
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,21 @@ ARG mono_version

RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi && \
dnf -y install --setopt=install_weak_deps=False \
autoconf automake cmake gcc gcc-c++ gettext libtool perl python && \
gcc gcc-c++ make yasm \
autoconf automake cmake gettext libtool perl && \
cp -a /root/files/${mono_version} /root && \
cd /root/${mono_version} && \
NOCONFIGURE=1 ./autogen.sh && \
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib/mono --disable-boehm && \
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib/mono --disable-boehm --host=x86_64-linux-gnu && \
make -j && \
make install && \
cd /root && \
rm -rf /root/${mono_version} && \
cert-sync /etc/pki/tls/certs/ca-bundle.crt && \
rpm -ivh --nodeps \
https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-16.3+xamarinxplat.2019.08.08.00.55-0.xamarin.2.epel8.noarch.rpm \
https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-16.6+xamarinxplat.2020.04.29.14.43-0.xamarin.6.epel8.noarch.rpm \
https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-sdkresolver-16.6+xamarinxplat.2020.04.29.14.43-0.xamarin.6.epel8.noarch.rpm \
https://download.mono-project.com/repo/centos8-stable/m/msbuild-libhostfxr/msbuild-libhostfxr-3.0.0.2019.04.16.02.13-0.xamarin.4.epel8.x86_64.rpm \
https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-sdkresolver-16.3+xamarinxplat.2019.08.08.00.55-0.xamarin.2.epel8.noarch.rpm \
https://download.mono-project.com/repo/centos8-stable/n/nuget/nuget-5.2.0.6090.bin-0.xamarin.1.epel8.noarch.rpm
https://download.mono-project.com/repo/centos8-stable/n/nuget/nuget-5.6.0.6489.bin-0.xamarin.1.epel8.noarch.rpm

CMD /bin/bash
4 changes: 2 additions & 2 deletions Dockerfile.osx
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ RUN cp -a /root/files/${mono_version} /root && \
make -j && \
make install && \
cd /root && \
rm -f /root/dependencies/mono/bin/mono /root/dependencies/mono/bin/mono-sgen && \
rm -rf /root/dependencies/mono/bin/mono{,-sgen} /root/dependencies/mono/lib/mono && \
ln -s /usr/bin/mono /root/dependencies/mono/bin/mono && \
ln -s /usr/bin/mono-sgen /root/dependencies/mono/bin/mono-sgen && \
ln -sf /usr/lib/mono/* /root/dependencies/mono/lib/mono && \
ln -s /usr/lib/mono /root/dependencies/mono/lib/mono && \
mkdir -p /root/dependencies/mono/etc && \
cp -rvp /etc/mono /root/dependencies/mono/etc/ && \
cp /root/files/mono-config-macosx /root/dependencies/mono/etc/mono/config && \
Expand Down
18 changes: 9 additions & 9 deletions Dockerfile.ubuntu-32
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
apt-get -y update && \
apt-get -y install --no-install-recommends \
autoconf automake bzip2 cmake curl gettext git libtool make perl scons xz-utils \
gcc-8 g++-8 libudev-dev libx11-dev libxcursor-dev libxrandr-dev libasound2-dev libpulse-dev \
gcc-9 g++-9 libudev-dev libx11-dev libxcursor-dev libxrandr-dev libasound2-dev libpulse-dev \
libgl1-mesa-dev libglu1-mesa-dev libxi-dev libxinerama-dev yasm && \
ln -sf /usr/bin/gcc-ranlib-8 /usr/bin/gcc-ranlib && \
ln -sf /usr/bin/gcc-ar-8 /usr/bin/gcc-ar && \
ln -sf /usr/bin/gcc-8 /usr/bin/gcc && \
ln -sf /usr/bin/g++-8 /usr/bin/g++
ln -sf /usr/bin/gcc-ranlib-9 /usr/bin/gcc-ranlib && \
ln -sf /usr/bin/gcc-ar-9 /usr/bin/gcc-ar && \
ln -sf /usr/bin/gcc-9 /usr/bin/gcc && \
ln -sf /usr/bin/g++-9 /usr/bin/g++

RUN cp -a /root/files/${mono_version} /root && \
cd /root/${mono_version} && \
Expand All @@ -29,10 +29,10 @@ RUN cp -a /root/files/${mono_version} /root && \
cd /root && \
rm -rf /root/${mono_version} && \
cert-sync /etc/ssl/certs/ca-certificates.crt && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_16.3+xamarinxplat.2019.08.08.00.55-0xamarin2+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/c/core-setup/msbuild-libhostfxr_3.0.0.2019.04.16.02.13-0xamarin3+ubuntu1604b1_i386.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild-sdkresolver_16.3+xamarinxplat.2019.08.08.00.55-0xamarin2+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/n/nuget/nuget_5.2.0.6090.bin-0xamarin1+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_16.6+xamarinxplat.2020.04.29.14.43-0xamarin5+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/c/core-setup/msbuild-libhostfxr_3.0.0.2019.04.16.02.13-0xamarin4+ubuntu1604b1_i386.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild-sdkresolver_16.6+xamarinxplat.2020.04.29.14.43-0xamarin5+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/n/nuget/nuget_5.5.0.6382.bin-0xamarin1+ubuntu1604b1_all.deb && \
dpkg -i --force-all *.deb && \
sed -i '/Depends.*mono/d' /var/lib/dpkg/status && \
ln -s /usr/bin/mono /usr/bin/cli && \
Expand Down
18 changes: 9 additions & 9 deletions Dockerfile.ubuntu-64
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
apt-get -y update && \
apt-get -y install --no-install-recommends \
autoconf automake bzip2 cmake curl gettext git libtool make perl scons xz-utils \
gcc-8 g++-8 libudev-dev libx11-dev libxcursor-dev libxrandr-dev libasound2-dev libpulse-dev \
gcc-9 g++-9 libudev-dev libx11-dev libxcursor-dev libxrandr-dev libasound2-dev libpulse-dev \
libgl1-mesa-dev libglu1-mesa-dev libxi-dev libxinerama-dev yasm && \
ln -sf /usr/bin/gcc-ranlib-8 /usr/bin/gcc-ranlib && \
ln -sf /usr/bin/gcc-ar-8 /usr/bin/gcc-ar && \
ln -sf /usr/bin/gcc-8 /usr/bin/gcc && \
ln -sf /usr/bin/g++-8 /usr/bin/g++
ln -sf /usr/bin/gcc-ranlib-9 /usr/bin/gcc-ranlib && \
ln -sf /usr/bin/gcc-ar-9 /usr/bin/gcc-ar && \
ln -sf /usr/bin/gcc-9 /usr/bin/gcc && \
ln -sf /usr/bin/g++-9 /usr/bin/g++

RUN cp -a /root/files/${mono_version} /root && \
cd /root/${mono_version} && \
Expand All @@ -29,10 +29,10 @@ RUN cp -a /root/files/${mono_version} /root && \
cd /root && \
rm -rf /root/${mono_version} && \
cert-sync /etc/ssl/certs/ca-certificates.crt && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_16.3+xamarinxplat.2019.08.08.00.55-0xamarin2+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/c/core-setup/msbuild-libhostfxr_3.0.0.2019.04.16.02.13-0xamarin3+ubuntu1604b1_amd64.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild-sdkresolver_16.3+xamarinxplat.2019.08.08.00.55-0xamarin2+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/n/nuget/nuget_5.2.0.6090.bin-0xamarin1+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_16.6+xamarinxplat.2020.04.29.14.43-0xamarin5+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/c/core-setup/msbuild-libhostfxr_3.0.0.2019.04.16.02.13-0xamarin4+ubuntu1604b1_amd64.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild-sdkresolver_16.6+xamarinxplat.2020.04.29.14.43-0xamarin5+ubuntu1604b1_all.deb && \
wget https://download.mono-project.com/repo/ubuntu/pool/main/n/nuget/nuget_5.5.0.6382.bin-0xamarin1+ubuntu1604b1_all.deb && \
dpkg -i --force-all *.deb && \
sed -i '/Depends.*mono/d' /var/lib/dpkg/status && \
ln -s /usr/bin/mono /usr/bin/cli && \
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.windows
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ARG mono_version

RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi && \
dnf -y install --setopt=install_weak_deps=False \
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static yasm wine && \
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static wine && \
cp -a /root/files/${mono_version} /root && \
cd /root/${mono_version} && \
patch -p1 < /root/files/patches/wine-mono.patch && \
Expand Down
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ mono_commit_str=
if [ ! -z "$3" -a ! -z "$4" ]; then
mono_version=$3
mono_commit=$4
mono_commit_str="-${mono_commit:0:6}"
mono_commit_str="-${mono_commit:0:7}"
fi

# If mono branch does not start with mono-, prepend it to the folder name.
Expand Down Expand Up @@ -88,7 +88,7 @@ if [ ! -e ${mono_root} ]; then
# Set up godot-mono-builds in tree
git clone --progress https://github.com/godotengine/godot-mono-builds
pushd godot-mono-builds
git checkout 562afa310ef78974b2986154220e26f58e83a72e
git checkout b4c77dcfb6f38f660e73f60c4ae03e11173ac8fd
export MONO_SOURCE_ROOT=${mono_root}
python3 patch_mono.py
popd
Expand Down
27 changes: 0 additions & 27 deletions files/patches/fix-fuse-check.diff

This file was deleted.

12 changes: 0 additions & 12 deletions files/patches/fix-mono-configure.diff

This file was deleted.

58 changes: 58 additions & 0 deletions files/patches/mono-emscripten-1.39.9.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
From 8daffc3e4c562560f9e5c4d643bc38e5350eff31 Mon Sep 17 00:00:00 2001
From: Zoltan Varga <[email protected]>
Date: Sun, 8 Mar 2020 00:16:18 -0500
Subject: [PATCH] Bump emscripten to 1.39.9. (#19147)

---
sdks/builds/emscripten-pr-8457.diff | 20 --------------------
sdks/builds/wasm.mk | 3 +--
2 files changed, 1 insertion(+), 22 deletions(-)
delete mode 100644 sdks/builds/emscripten-pr-8457.diff

diff --git a/sdks/builds/emscripten-pr-8457.diff b/sdks/builds/emscripten-pr-8457.diff
deleted file mode 100644
index 3a03bf669ec8..000000000000
--- a/sdks/builds/emscripten-pr-8457.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/emcc.py 2019-08-13 20:07:34.000000000 -0500
-+++ b/emcc.py 2019-08-27 08:05:39.000000000 -0500
-@@ -915,7 +918,7 @@
- file_suffix = get_file_suffix(arg)
- if file_suffix in SOURCE_ENDINGS + BITCODE_ENDINGS + DYNAMICLIB_ENDINGS + ASSEMBLY_ENDINGS + HEADER_ENDINGS or shared.Building.is_ar(arg): # we already removed -o <target>, so all these should be inputs
- newargs[i] = ''
-- if file_suffix.endswith(SOURCE_ENDINGS):
-+ if file_suffix.endswith(SOURCE_ENDINGS) or (has_dash_c and file_suffix.endswith(OBJECT_FILE_ENDINGS)):
- input_files.append((i, arg))
- has_source_inputs = True
- elif file_suffix.endswith(HEADER_ENDINGS):
-@@ -1838,7 +1840,7 @@
- # First, generate LLVM bitcode. For each input file, we get base.o with bitcode
- for i, input_file in input_files:
- file_ending = get_file_suffix(input_file)
-- if file_ending.endswith(SOURCE_ENDINGS):
-+ if file_ending.endswith(SOURCE_ENDINGS) or (has_dash_c and file_ending.endswith(OBJECT_FILE_ENDINGS)):
- compile_source_file(i, input_file)
- else: # bitcode
- if file_ending.endswith(BITCODE_ENDINGS):
diff --git a/sdks/builds/wasm.mk b/sdks/builds/wasm.mk
index 520e04c48cbc..53ed93cc0c8c 100644
--- a/sdks/builds/wasm.mk
+++ b/sdks/builds/wasm.mk
@@ -1,7 +1,7 @@
#emcc has lots of bash'isms
SHELL:=/bin/bash

-EMSCRIPTEN_VERSION=1.39.7
+EMSCRIPTEN_VERSION=1.39.9
EMSCRIPTEN_LOCAL_SDK_DIR=$(TOP)/sdks/builds/toolchains/emsdk

EMSCRIPTEN_SDK_DIR ?= $(EMSCRIPTEN_LOCAL_SDK_DIR)
@@ -29,7 +29,6 @@ $(EMSCRIPTEN_SDK_DIR)/.emscripten: | $(EMSCRIPTEN_SDK_DIR)
cd $(TOP)/sdks/builds/toolchains/emsdk && ./emsdk install $(EMSCRIPTEN_VERSION)
cd $(TOP)/sdks/builds/toolchains/emsdk && ./emsdk activate --embedded $(EMSCRIPTEN_VERSION)
cd $(TOP)/sdks/builds/toolchains/emsdk/upstream/emscripten && (patch -N -p1 < $(TOP)/sdks/builds/fix-emscripten-8511.diff; exit 0)
- cd $(TOP)/sdks/builds/toolchains/emsdk/upstream/emscripten && (patch -N -p1 < $(TOP)/sdks/builds/emscripten-pr-8457.diff; exit 0)
touch $@

.PHONY: provision-wasm
Loading