diff options
Diffstat (limited to 'pkgs/development/compilers/scala/dotty.nix')
-rw-r--r-- | pkgs/development/compilers/scala/dotty.nix | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/pkgs/development/compilers/scala/dotty.nix b/pkgs/development/compilers/scala/dotty.nix index cb0c43550022..a999bd422e63 100644 --- a/pkgs/development/compilers/scala/dotty.nix +++ b/pkgs/development/compilers/scala/dotty.nix @@ -1,46 +1,22 @@ -{ stdenv, fetchurl, makeWrapper, jre }: +{ stdenv, fetchurl, makeWrapper, jre, callPackage }: -stdenv.mkDerivation rec { - version = "0.4.0-RC1"; - name = "dotty-${version}"; - - src = fetchurl { - url = "https://github.com/lampepfl/dotty/releases/download/${version}/${name}.tar.gz"; - sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b"; +let + dotty-bare = callPackage ./dotty-bare.nix { + inherit stdenv fetchurl makeWrapper jre; }; +in - propagatedBuildInputs = [ jre ] ; - buildInputs = [ makeWrapper ] ; - - installPhase = '' - mkdir -p $out - mv * $out +stdenv.mkDerivation { + name = "dotty-${dotty-bare.version}"; - mkdir -p $out/shared - mv $out/bin/common $out/shared - ''; + unpackPhase = ":"; - fixupPhase = '' - for file in $out/bin/* ; do - substituteInPlace $file \ - --replace '$PROG_HOME/bin/common' $out/shared/common - - wrapProgram $file \ - --set JAVA_HOME ${jre} - done + installPhase = '' + mkdir -p $out/bin + ln -s ${dotty-bare}/bin/dotc $out/bin/dotc + ln -s ${dotty-bare}/bin/dotd $out/bin/dotd + ln -s ${dotty-bare}/bin/dotr $out/bin/dotr ''; - meta = with stdenv.lib; { - description = "Research platform for new language concepts and compiler technologies for Scala."; - longDescription = '' - Dotty is a platform to try out new language concepts and compiler technologies for Scala. - The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals), - and try to boil down Scala’s types into a smaller set of more fundamental constructs. - The theory behind these constructs is researched in DOT, a calculus for dependent object types. - ''; - homepage = http://dotty.epfl.ch/; - license = licenses.bsd3; - platforms = platforms.all; - maintainers = [maintainers.karolchmist]; - }; + inherit (dotty-bare) meta; } |