about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/idris2/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-06-04 10:19:13 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-04 22:45:31 +0000
commitda8562f302a145605a3270114ea7063daa82a173 (patch)
treeb27c6d509bad0ee5449f1fcf261a7ec3210df495 /nixpkgs/pkgs/development/compilers/idris2/default.nix
parent17df60ef482ef52b2088e1913de9cd436320612a (diff)
parent467ce5a9f45aaf96110b41eb863a56866e1c2c3c (diff)
downloadnixlib-da8562f302a145605a3270114ea7063daa82a173.tar
nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.gz
nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.bz2
nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.lz
nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.xz
nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.zst
nixlib-da8562f302a145605a3270114ea7063daa82a173.zip
Merge commit '467ce5a9f45aaf96110b41eb863a56866e1c2c3c'
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/idris2/default.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/idris2/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/idris2/default.nix b/nixpkgs/pkgs/development/compilers/idris2/default.nix
new file mode 100644
index 000000000000..858da311011d
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/idris2/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, clang, chez
+}:
+
+# Uses scheme to bootstrap the build of idris2
+stdenv.mkDerivation {
+  name = "idris2";
+  version = "0.2.0-840e020";
+
+  src = fetchFromGitHub {
+    owner = "idris-lang";
+    repo = "Idris2";
+    rev = "840e020d8ccc332135e86f855ad78053ca15d603";
+    sha256 = "1l6pdjiglwd13pf56xwzbjzyyxgz48ypfggjgsgqk2w57rmbfy90";
+  };
+
+  strictDeps = true;
+  nativeBuildInputs = [ makeWrapper clang chez ];
+  buildInputs = [ chez ];
+
+  prePatch = ''
+    patchShebangs --build tests
+
+    # Do not run tests as part of the build process
+    substituteInPlace bootstrap.sh --replace "make test" "# make test"
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  # The name of the main executable of pkgs.chez is `scheme`
+  buildFlags = [ "bootstrap" "SCHEME=scheme" ];
+
+  # idris2 needs to find scheme at runtime to compile
+  postInstall = ''
+    wrapProgram "$out/bin/idris2" --prefix PATH : "${chez}/bin"
+  '';
+
+  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 ];
+  };
+}
+