1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-17 19:21:04 +00:00

scala-next: Init at 3.5.1

This change allows to use the latest non-LTS scala version
This commit is contained in:
nikolaiser 2024-08-23 11:09:59 +02:00
parent 4de4818c1f
commit a03eab619f
No known key found for this signature in database
GPG key ID: 9EE04A6AB88D0DB8
3 changed files with 57 additions and 22 deletions

View file

@ -0,0 +1,10 @@
{ scala, fetchurl }:
scala.bare.overrideAttrs (oldAttrs: {
version = "3.5.1";
pname = "scala-next";
src = fetchurl {
inherit (oldAttrs.src) url;
hash = "sha256-pRfoCXFVnnEh3zyB9HbUZK3qrQ94Gq3iXX2fWGS/l9o=";
};
})

View file

@ -1,15 +1,25 @@
{ lib, stdenv, fetchurl, makeWrapper, jre, ncurses }: {
lib,
stdenv,
fetchurl,
makeWrapper,
jre,
ncurses,
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
version = "3.3.3"; version = "3.3.3";
pname = "scala-bare"; pname = "scala-bare";
src = fetchurl { src = fetchurl {
url = "https://github.com/lampepfl/dotty/releases/download/${version}/scala3-${version}.tar.gz"; url = "https://github.com/scala/scala3/releases/download/${finalAttrs.version}/scala3-${finalAttrs.version}.tar.gz";
hash = "sha256-61lAETEvqkEqr5pbDltFkh+Qvp+EnCDilXN9X67NFNE="; hash = "sha256-61lAETEvqkEqr5pbDltFkh+Qvp+EnCDilXN9X67NFNE=";
}; };
propagatedBuildInputs = [ jre ncurses.dev ] ; propagatedBuildInputs = [
jre
ncurses.dev
];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
@ -20,23 +30,24 @@ stdenv.mkDerivation rec {
# Use preFixup instead of fixupPhase # Use preFixup instead of fixupPhase
# because we want the default fixupPhase as well # because we want the default fixupPhase as well
preFixup = '' preFixup = ''
bin_files=$(find $out/bin -type f ! -name common) bin_files=$(find $out/bin -type f ! -name "*common*" ! -name "scala-cli.jar")
for f in $bin_files ; do for f in $bin_files ; do
wrapProgram $f --set JAVA_HOME ${jre} --prefix PATH : '${ncurses.dev}/bin' wrapProgram $f --set JAVA_HOME ${jre} --prefix PATH : '${ncurses.dev}/bin'
done done
''; '';
meta = with lib; { meta = with lib; {
description = "Research platform for new language concepts and compiler technologies for Scala"; description = "The Scala 3 compiler, also known as Dotty";
longDescription = '' homepage = "https://scala-lang.org/";
Dotty is a platform to try out new language concepts and compiler technologies for Scala. license = licenses.asl20;
The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals),
and try to boil down Scalas 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; platforms = platforms.all;
maintainers = with maintainers; [ karolchmist virusdave kashw2 ]; maintainers = with maintainers; [
karolchmist
virusdave
kashw2
natsukagami
hamzaremmal
dottybot
];
}; };
} })

View file

@ -1,8 +1,19 @@
{ stdenv, fetchurl, makeWrapper, jre, callPackage }: {
stdenv,
fetchurl,
makeWrapper,
jre,
callPackage,
}:
let let
bare = callPackage ./bare.nix { bare = callPackage ./bare.nix {
inherit stdenv fetchurl makeWrapper jre; inherit
stdenv
fetchurl
makeWrapper
jre
;
}; };
in in
@ -21,4 +32,7 @@ stdenv.mkDerivation {
''; '';
inherit (bare) meta; inherit (bare) meta;
} // { inherit bare; } }
// {
inherit bare;
}