From ee2acb33bfa2f1ab3c66ccb286d5f67a2157095a Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 13 Jun 2019 14:40:45 -0400 Subject: [PATCH] scala: Init 2.13 Make 2.13 the default, move 2.12 from default.nix to 2.12.nix --- .../compilers/scala/{default.nix => 2.12.nix} | 0 pkgs/development/compilers/scala/2.13.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +- 3 files changed, 49 insertions(+), 2 deletions(-) rename pkgs/development/compilers/scala/{default.nix => 2.12.nix} (100%) create mode 100644 pkgs/development/compilers/scala/2.13.nix diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/2.12.nix similarity index 100% rename from pkgs/development/compilers/scala/default.nix rename to pkgs/development/compilers/scala/2.12.nix diff --git a/pkgs/development/compilers/scala/2.13.nix b/pkgs/development/compilers/scala/2.13.nix new file mode 100644 index 00000000000..ab27d93a7cf --- /dev/null +++ b/pkgs/development/compilers/scala/2.13.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: + +stdenv.mkDerivation rec { + name = "scala-2.13.0"; + + src = fetchurl { + url = "https://www.scala-lang.org/files/archive/${name}.tgz"; + sha256 = "12g0a9i0xxqxxcvmimm5w2wgmrdhq80p8bsp52d6yldz4lrnbm7p"; + }; + + propagatedBuildInputs = [ jre ] ; + buildInputs = [ makeWrapper ] ; + + installPhase = '' + mkdir -p $out + rm "bin/"*.bat + mv * $out + + # put docs in correct subdirectory + mkdir -p $out/share/doc + mv $out/doc $out/share/doc/scala + + for p in $(ls $out/bin/) ; do + wrapProgram $out/bin/$p \ + --prefix PATH ":" ${coreutils}/bin \ + --prefix PATH ":" ${gnugrep}/bin \ + --prefix PATH ":" ${jre}/bin \ + --set JAVA_HOME ${jre} + done + ''; + + meta = { + description = "General purpose programming language"; + longDescription = '' + Scala is a general purpose programming language designed to express + common programming patterns in a concise, elegant, and type-safe way. + It smoothly integrates features of object-oriented and functional + languages, enabling Java and other programmers to be more productive. + Code sizes are typically reduced by a factor of two to three when + compared to an equivalent Java application. + ''; + homepage = https://www.scala-lang.org/; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 421ae6a90a9..85fff1a43b9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8044,8 +8044,9 @@ in scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { }; scala_2_11 = callPackage ../development/compilers/scala/2.11.nix { }; - scala_2_12 = callPackage ../development/compilers/scala { jre = jre8; }; - scala = scala_2_12; + scala_2_12 = callPackage ../development/compilers/scala/2.12.nix { jre = jre8; }; + scala_2_13 = callPackage ../development/compilers/scala/2.13.nix { jre = jre8; }; + scala = scala_2_13; scalafix = callPackage ../development/tools/scalafix { }; scalafmt = callPackage ../development/tools/scalafmt { };