nixpkgs/pkgs/development/idris-modules/idris-wrapper.nix
Silvan Mosberger b6cfa372f0
idris: Wrap with IDRIS_CC
Previously idris used the C compiler from PATH for the C backend, which
means that the results and whether it even succeeds can vary between
systems (e.g. if a Nix-built Idris was used on a super old Linux system,
the cc installed there might not even work for Idris' C).

To make this more predictable, this commit sets the IDRIS_CC env var,
which Idris will prefer over searching in PATH, to a Nix-provided gcc
executable, given that it is not already set, so it's still possible to
override.
2018-07-02 02:34:31 +02:00

15 lines
480 B
Nix

{ symlinkJoin, makeWrapper, stdenv, gcc }: idris: { path, lib }:
symlinkJoin {
name = idris.name;
src = idris.src;
paths = [ idris ];
buildInputs = [ makeWrapper ];
meta.platforms = idris.meta.platforms;
postBuild = ''
wrapProgram $out/bin/idris \
--run 'export IDRIS_CC=''${IDRIS_CC:-${stdenv.lib.getBin gcc}/bin/gcc}' \
--suffix PATH : ${ stdenv.lib.makeBinPath path } \
--suffix LIBRARY_PATH : ${stdenv.lib.makeLibraryPath lib}
'';
}