diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index 095f94143e34..03a914695a06 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -56,6 +56,8 @@ let inherit sha256; }; + outputs = [ "out" "lib" "bin" ]; + # we are almost able to run the full test suite now postPatch = '' substituteInPlace src/crystal/system/unix/time.cr \ @@ -97,22 +99,22 @@ let # This makes sure we don't keep depending on the previous version of # crystal used to build this one. - CRYSTAL_LIBRARY_PATH = "${placeholder "out"}/lib/crystal"; + CRYSTAL_LIBRARY_PATH = "${placeholder "lib"}/crystal"; # We *have* to add `which` to the PATH or crystal is unable to build stuff # later if which is not available. installPhase = '' runHook preInstall - install -Dm755 .build/crystal $out/bin/crystal - wrapProgram $out/bin/crystal \ + install -Dm755 .build/crystal $bin/bin/crystal + wrapProgram $bin/bin/crystal \ --suffix PATH : ${lib.makeBinPath [ pkgconfig clang which ]} \ - --suffix CRYSTAL_PATH : lib:$out/lib/crystal \ + --suffix CRYSTAL_PATH : lib:$lib/crystal \ --suffix CRYSTAL_LIBRARY_PATH : ${ lib.makeLibraryPath (commonBuildInputs extraBuildInputs) } - install -dm755 $out/lib/crystal - cp -r src/* $out/lib/crystal/ + install -dm755 $lib/crystal + cp -r src/* $lib/crystal/ install -dm755 $out/share/doc/crystal/api cp -r docs/* $out/share/doc/crystal/api/ @@ -125,6 +127,10 @@ let install -Dm644 -t $out/share/licenses/crystal LICENSE README.md + mkdir -p $out + ln -s $bin/bin $out/bin + ln -s $lib $out/lib + runHook postInstall '';