about summary refs log tree commit diff
path: root/pkgs/development/tools/icr/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/icr/default.nix')
-rw-r--r--pkgs/development/tools/icr/default.nix34
1 files changed, 18 insertions, 16 deletions
diff --git a/pkgs/development/tools/icr/default.nix b/pkgs/development/tools/icr/default.nix
index 3a39d0ddf6bd..50a349d8ff71 100644
--- a/pkgs/development/tools/icr/default.nix
+++ b/pkgs/development/tools/icr/default.nix
@@ -1,28 +1,30 @@
-{ stdenv, fetchFromGitHub, crystal, shards, which
-, openssl, readline, libyaml }:
+{ stdenv, lib, fetchFromGitHub, crystal, shards, makeWrapper, pkgconfig, which
+, openssl, readline, libyaml, zlib }:
 
-stdenv.mkDerivation rec {
+crystal.buildCrystalPackage rec {
   pname = "icr";
-  version = "0.6.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
-    owner  = "crystal-community";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "0kkdqrxk4f4bqbb84mgjrk9r0fz1hsz95apvjsc49gav4c8xx3mb";
+    owner = "crystal-community";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1bz2bhs6csyg2rhrlknlvaiilq3vq8plxjh1hdxmbrfi3n6c7k5a";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace /usr/local $out
-  '';
+  shardsFile = ./shards.nix;
+
+  buildInputs = [ libyaml openssl readline zlib ];
 
-  buildInputs = [ crystal libyaml openssl readline ];
+  nativeBuildInputs = [ makeWrapper pkgconfig which ];
 
-  nativeBuildInputs = [ shards which ];
+  # tests are failing due to our sandbox
+  doCheck = false;
 
-  doCheck = true;
-  checkTarget = "test";
+  postFixup = ''
+    wrapProgram $out/bin/icr \
+      --prefix PATH : ${lib.makeBinPath [ crystal shards makeWrapper which ]}
+  '';
 
   meta = with stdenv.lib; {
     description = "Interactive console for the Crystal programming language";