summary refs log tree commit diff
path: root/pkgs/development/compilers/idris2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/idris2/default.nix')
-rw-r--r--pkgs/development/compilers/idris2/default.nix31
1 files changed, 22 insertions, 9 deletions
diff --git a/pkgs/development/compilers/idris2/default.nix b/pkgs/development/compilers/idris2/default.nix
index ec0d8fe5c72..ac0f3312414 100644
--- a/pkgs/development/compilers/idris2/default.nix
+++ b/pkgs/development/compilers/idris2/default.nix
@@ -1,22 +1,35 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper
-, clang, chez
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, clang
+, chez
+, gmp
+, zsh
 }:
 
+# NOTICE: An `idris2WithPackages` is available at: https://github.com/claymager/idris2-pkgs
+
 # Uses scheme to bootstrap the build of idris2
 stdenv.mkDerivation rec {
   pname = "idris2";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "idris-lang";
     repo = "Idris2";
     rev = "v${version}";
-    sha256 = "0sa2lpb7n6xqfknwld9rzm4bnb6qcd0ja1n63cnc5v8wdzr8q7kh";
+    sha256 = "105jybjf5s0k6003qzfxchzsfcpsxip180bh3mdmi74d464d0h8g";
   };
 
+  # We do not add any propagatedNativeBuildInputs because we do not want the
+  # executables idris2 produces to depend on the nix-store. As such, it is left
+  # to the user to guarantee chez (or any other codgen dependency) is available
+  # in the path during compilation of programs with idris2.
   strictDeps = true;
-  nativeBuildInputs = [ makeWrapper clang chez ];
-  buildInputs = [ chez ];
+  nativeBuildInputs = [ makeWrapper clang chez ]
+    ++ lib.optional stdenv.isDarwin [ zsh ];
+  buildInputs = [ gmp ];
 
   prePatch = ''
     patchShebangs --build tests
@@ -26,9 +39,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin "OS=";
 
   # The name of the main executable of pkgs.chez is `scheme`
-  buildFlags = [ "bootstrap-build" "SCHEME=scheme" ];
+  buildFlags = [ "bootstrap" "SCHEME=scheme" ];
 
-  checkTarget = "bootstrap-test";
+  checkTarget = "test";
 
   # TODO: Move this into its own derivation, such that this can be changed
   #       without having to recompile idris2 every time.
@@ -72,7 +85,7 @@ stdenv.mkDerivation rec {
     description = "A purely functional programming language with first class types";
     homepage = "https://github.com/idris-lang/Idris2";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ wchresta ];
+    maintainers = with lib.maintainers; [ fabianhjr wchresta ];
     inherit (chez.meta) platforms;
   };
 }