mono{48,50,54}: make sure configureFlags are used in configurePhase

When copying generic-nix to generic-cmake.nix, an explicit
configurePhase was added, but it doesn't use the existing
configureFlags.

Fixing this allowed removing the postBuild fixup of the path to
libgdiplus.so, since the --with-libgdiplus option already handles that.
This commit is contained in:
Benjamin Mellor
2018-01-27 17:30:16 +11:00
parent bfc4d04de7
commit f2622e6aff
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
# To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723 # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723
dontDisableStatic = true; dontDisableStatic = true;
# In fact I think this line does not help at all to what I
# wanted to achieve: have mono to find libgdiplus automatically
configureFlags = [ configureFlags = [
"--x-includes=${libX11.dev}/include" "--x-includes=${libX11.dev}/include"
"--x-libraries=${libX11.out}/lib" "--x-libraries=${libX11.out}/lib"
@@ -38,7 +36,7 @@ stdenv.mkDerivation rec {
configurePhase = '' configurePhase = ''
patchShebangs ./ patchShebangs ./
./autogen.sh --prefix $out ./autogen.sh --prefix $out $configureFlags
''; '';
# Attempt to fix this error when running "mcs --version": # Attempt to fix this error when running "mcs --version":
@@ -58,13 +56,13 @@ stdenv.mkDerivation rec {
substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")" substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")"
''; '';
# Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps # Fix mono DLLMap so it can find libX11 to run winforms apps
# libgdiplus is correctly handled by the --with-libgdiplus configure flag
# Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive # Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive
# http://www.mono-project.com/Config_DllMap # http://www.mono-project.com/Config_DllMap
postBuild = '' postBuild = ''
find . -name 'config' -type f | xargs \ find . -name 'config' -type f | xargs \
sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \ sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g"
-e 's#[^"]*libgdiplus[^"]*"#${libgdiplus}/lib/libgdiplus.so"#' \
''; '';
# Without this, any Mono application attempting to open an SSL connection will throw with # Without this, any Mono application attempting to open an SSL connection will throw with