summary refs log tree commit diff
path: root/pkgs/development/compilers/fsharp
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2014-03-08 15:45:52 -0600
committerAustin Seipp <aseipp@pobox.com>2014-03-08 15:45:55 -0600
commitf277d6f4a060ea98d85ffa55d5dea28b01b887d5 (patch)
tree2e208e6de84ce8a1bbf128d8d3787d862a6fe0a6 /pkgs/development/compilers/fsharp
parent429c536ddded5d9022df2c67ec803f244969d106 (diff)
downloadnixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar.gz
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar.bz2
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar.lz
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar.xz
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.tar.zst
nixlib-f277d6f4a060ea98d85ffa55d5dea28b01b887d5.zip
fsharp: specify exact mono path, install fsi/fsc binaries
fsc/fsi are just symlinks for backwards compatibility.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/compilers/fsharp')
-rw-r--r--pkgs/development/compilers/fsharp/default.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index a2f8f4e4ff4e..37516fabaab2 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -13,6 +13,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ mono pkgconfig autoconf automake which ];
   configurePhase = "./autogen.sh --prefix $out";
 
+  # Make sure the executables use the right mono binary,
+  # and set up some symlinks for backwards compatibility.
+  postInstall = ''
+    substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono "
+    substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono "
+    substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono "
+    ln -s $out/bin/fsharpc $out/bin/fsc
+    ln -s $out/bin/fsharpi $out/bin/fsi
+  '';
+
   # To fix this error when running:
   # The file "/nix/store/path/whatever.exe" is an not a valid CIL image
   dontStrip = true;