mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
This saves us from pulling gtk2 and gtk3 as weak deps of perl and git or whatnot... And we don't need to pull in all the documentation on Ubuntu. Also ensures that we properly run `dnf clean all` after each installation.
32 lines
1.2 KiB
Docker
32 lines
1.2 KiB
Docker
ARG mono_version
|
|
FROM godot-mono:${mono_version}
|
|
ARG mono_version
|
|
|
|
RUN dnf -y install --setopt=install_weak_deps=False \
|
|
gcc gcc-c++ java-1.8.0-openjdk-devel ncurses-compat-libs && \
|
|
dnf clean all && \
|
|
mkdir sdk && cd sdk && \
|
|
curl -LO https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip && \
|
|
unzip sdk-tools-linux-4333796.zip && \
|
|
rm sdk-tools-linux-4333796.zip && \
|
|
yes | tools/bin/sdkmanager --licenses && \
|
|
tools/bin/sdkmanager ndk-bundle 'build-tools;28.0.3' 'platforms;android-28' 'cmake;3.10.2.4988404' && \
|
|
cd ..
|
|
|
|
ENV ANDROID_HOME=/root/sdk/
|
|
ENV ANDROID_NDK_ROOT=/root/sdk/ndk-bundle/
|
|
|
|
RUN git clone https://github.com/mono/mono --branch mono-${mono_version} --single-branch && \
|
|
cd mono && git submodule update --init && \
|
|
patch -p1 < /root/files/patches/fix-mono-android-tkill.diff && \
|
|
cd .. && \
|
|
git clone https://github.com/godotengine/godot-mono-builds && \
|
|
cd godot-mono-builds && \
|
|
git checkout 9efec19e6b61fdc7201067cff4dd5b741399ae31 && \
|
|
./build_mono_android.py configure --target=all --mono-sources=/root/mono && \
|
|
./build_mono_android.py make --target=all --mono-sources=/root/mono && \
|
|
cd .. && \
|
|
rm -rf /root/mono /root/godot-mono-builds
|
|
|
|
CMD ['/bin/bash']
|