mirror of
https://github.com/godotengine/build-containers.git
synced 2026-01-05 22:10:22 +03:00
Install xz/xz-utils and conditionally handle tar.xz tarballs from 6.0+. On Windows, I ran into a build issue due to `make distclean` being bogus in 6.0.0.319 (mono/mono#16605), so I worked it around by starting from a clean folder for each build. The hotfixed mingw-binutils packages should likely be rebuilt against Fedora 30's mingw-binutils, but I didn't find the src.rpm in the repo to do it. There were no functional changes between F29 and F30's mingw-binutils though, so we should be fine as is: https://src.fedoraproject.org/rpms/mingw-binutils/commits/f30 The `MONO32_PREFIX` and `MONO64_PREFIX` are no longer used by the buildsystem (replaced by a `mono_prefix` build option), but I kept them where relevant to point to non-standard install locations.
25 lines
1.5 KiB
Docker
25 lines
1.5 KiB
Docker
FROM godot-fedora:latest
|
|
|
|
ARG mono_version
|
|
|
|
RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi
|
|
|
|
RUN dnf -y install autoconf automake libtool cmake gcc gcc-c++ make which perl python curl bzip2 xz && dnf clean all && \
|
|
if [ ${mono_version%%.*} -ge 6 ]; then \
|
|
curl https://download.mono-project.com/sources/mono/mono-${mono_version}.tar.xz | tar xJ; \
|
|
else \
|
|
curl https://download.mono-project.com/sources/mono/mono-${mono_version}.tar.bz2 | tar xj; \
|
|
fi && \
|
|
cd mono-${mono_version} && \
|
|
autoreconf -vfi && \
|
|
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib/mono --disable-boehm && \
|
|
make -j && make install && make distclean && \
|
|
cd /root && \
|
|
rm -rf mono-${mono_version} && \
|
|
cert-sync /etc/pki/tls/certs/ca-bundle.crt
|
|
|
|
RUN rpm -ivh --nodeps https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-16.0+xamarinxplat.2018.09.26.17.53-0.xamarin.5.epel8.noarch.rpm \
|
|
https://download.mono-project.com/repo/centos8-stable/m/msbuild-libhostfxr/msbuild-libhostfxr-2.0.0.2017.07.06.00.01-0.xamarin.3.epel8.x86_64.rpm \
|
|
https://download.mono-project.com/repo/centos8-stable/m/msbuild/msbuild-sdkresolver-16.0+xamarinxplat.2018.09.26.17.53-0.xamarin.5.epel8.noarch.rpm \
|
|
https://download.mono-project.com/repo/centos8-stable/n/nuget/nuget-4.7.0.5148.bin-0.xamarin.2.epel8.noarch.rpm
|