nixpkgs/pkgs/development/compilers/idris2/default.nix
davlum a554e12833
idris2: fix build on macOS (#89548)
The idris2 Makefile tries to use different versions of sed depending on
the OS, but nix always uses the same version. Because the version of
sed that is expected on macOS doesn't exist in the nix environment, the
build fails. Setting the OS to empty string resolves the issue.
2020-06-07 18:06:35 -04:00

45 lines
1.1 KiB
Nix

{ stdenv, fetchFromGitHub, makeWrapper
, clang, chez
}:
# Uses scheme to bootstrap the build of idris2
stdenv.mkDerivation rec {
name = "idris2";
version = "0.2.0";
src = fetchFromGitHub {
owner = "idris-lang";
repo = "Idris2";
rev = "v${version}";
sha256 = "153z6zgb90kglw8rspk8ph5gh5nkplhi27mxai6yqbbjs2glx5d4";
};
strictDeps = true;
nativeBuildInputs = [ makeWrapper clang chez ];
buildInputs = [ chez ];
prePatch = ''
patchShebangs --build tests
'';
makeFlags = [ "PREFIX=$(out)" ]
++ stdenv.lib.optional stdenv.isDarwin "OS=";
# The name of the main executable of pkgs.chez is `scheme`
buildFlags = [ "bootstrap-build" "SCHEME=scheme" ];
checkTarget = "bootstrap-test";
# idris2 needs to find scheme at runtime to compile
postInstall = ''
wrapProgram "$out/bin/idris2" --set CHEZ "${chez}/bin/scheme"
'';
meta = {
description = "A purely functional programming language with first class types";
homepage = "https://github.com/idris-lang/Idris2";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ wchresta ];
inherit (chez.meta) platforms;
};
}