Commit Graph

12 Commits

Author SHA1 Message Date
Rémi Verschelde
1aec8652d3 mono: Update msbuild to 16.3, support for git branches
To get WebAssembly templates to actually work, we need to use
Mono 6.6 (currently in preview), which doesn't have tags yet
but is in the `2019-08` branch. So I dehardcoded the `mono-`
prefix for the git tree-ish to allow using `./build.sh 2019-08`.

6.6 doesn't build with msbuild 16.0, so I'm upgrading to its
matching version 16.3. There are no DEB files for 16.3 on the
EOL'ed Ubuntu 14.04, but it seems that the 16.04 packages install
cleanly.

We also backport a patch from mono's master branch to fix wasm
support further, and enable parallel build jobs for make.
2019-11-21 09:47:48 +01:00
Rémi Verschelde
a5ceea36da Use /bin/bash as default CMD instruction
The previous `['/bin/bash']` was not working, running the image
with `podman run -it <name>` would evaluate to:
```
> sh -c ['/bin/bash']
sh: [/bin/bash]: No such file or directory
```
2019-11-18 21:52:37 +01:00
Rémi Verschelde
668e36373b Use git tag to checkout stable mono releases
The main reason is that upstream Mono tends to miss some
important files in its tarballs, so Git tags appears to be
a more reliable medium.

Also group RUN commands to reduce the number of intermediate
dependencies.
2019-11-18 21:49:58 +01:00
Rémi Verschelde
f7966f0a1e Disable installation of weak deps
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.
2019-11-18 17:09:03 +01:00
Rémi Verschelde
046e892f76 Install common dependencies in Dockerfile.base 2019-11-15 10:17:07 +01:00
Rémi Verschelde
895d8e308e mono: Update msbuild and support for mono 6.0.x
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.
2019-09-30 08:12:56 +02:00
Hein-Pieter van Braam-Stewart
a62e85620a Don't build executables only to immediately delete them 2019-05-22 18:21:44 -07:00
Hein-Pieter van Braam
c37204859d Add a fix to binutils that fixes LTO for us
The patch in question is
https://sourceware.org/bugzilla/show_bug.cgi?id=24267#c11

Patch is includes in the src.rpm in this commit
2019-02-28 17:29:55 +01:00
Hein-Pieter van Braam
0c45f623d5 Add YASM to all containers where it makes sense 2019-02-23 22:31:19 +01:00
Hein-Pieter van Braam
747120073d Add HAVE_STRUCT_SOCKADDR_IN6 to mono's config.h 2019-02-23 22:30:48 +01:00
Hein-Pieter van Braam
e5d6158b9e Several small fixes
* Mono config on MacOSX is not portable from the Linux and Windows
version.
* Rename the compilers so that 'gcc' and 'g++' are the new version by
default.
* Add default environment variables to containers.
2019-01-17 23:12:40 +01:00
Hein-Pieter van Braam
0a9d7b2777 Initial commit 2019-01-07 21:51:22 +01:00