Generally speaking the scripts are executed from a user's homedirectory.
By default the SELinux context will be: unconfined_u:object_r:user_home_t:s0
For podman to work with SELinux enable the context needs to be
system_u:object_r:container_file_t:s0. Podman can do this automatically
if the volume is made with the :z attribute.
Removed old instructions about Ubuntu 18.04 as there's no good reason
to use such an old OS to build those containers, and we're not testing
it so chances are that the containers may not build/work properly there.
It saves a lot of trouble to just use latest Fedora (or possibly RHEL/CentOS)
to build those containers.
This reverts #105 as we found that the MinGW/GCC/binutils
combinations in Fedora 35 generates broken Windows binaries.
To workaround the issue with LLVM 14 on F36, we build Clang 13.0.1
from source for osxcross in the OSX container. This matches Xcode 13.
Notably LLVM 14 on F36 doesn't seem to play nice with macOS builds.
We probably need to wait for Xcode 14 to have support for LLVM 14.
Going back to F35 also avoids issues with autoconf 2.71.
- F36 gives us MinGW GCC 11.2.1 and binutils 2.37 for Windows builds.
* Had to downgrade autotools to F35 version for Mono wasm builds.
- OSX and iOS builds now use LLVM 14 for osxcross.
- Emscripten updated to 3.1.10 for classical builds (still using
1.39.9 for Mono).
- Mono 6.12.0.178, and updated godot-mono-builds to fix issue with
btls-lib on macOS ARM64 (fixes#95).
- SCons 4.3.0.
- Linux toolchains not updated yet, need to prepare a new buildroot
with latest GCC/binutils.
Streamlines the build process as done for Linux and macOS in previous commits,
and as was done for mobile and web platforms from the start. We're now fully
in sync with `godot-mono-builds`.
This also removes the need to hack around cross-compilation issues using Wine,
which also seemed no longer to work on Fedora 34 anyway.
This changes our handmade `configure` calls to rely on the streamlined build
process from `godot-mono-builds`, so that our builds are consistent with the
ones generated there.
This enables us to target macOS arm64 easily as neikeq did the relevant work
in the `godot-mono-builds` scripts.
Includes a backport of https://github.com/mono/mono/pull/21147 to fix Mono
build with `godot-mono-builds` using a wrapper for osxcross.
We now provide pre-built toolchains for Linux with old glibc and the required
Godot dependencies, which can be used to build portable Godot binaries without
having to be on an extremely old Linux distro.
So we can retire the old Ubuntu 14.04 containers and instead do our portable
builds directly on Fedora 34, like for other platforms.
This commit also makes use of `godot-mono-builds` to build Mono and the BCL
for Linux, instead of doing it manually. The same will be done for Windows and
macOS in the next commit.