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";
pname = "scala-bare";
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=";
};
propagatedBuildInputs = [ jre ncurses.dev ] ;
propagatedBuildInputs = [
jre
ncurses.dev
];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
@ -20,23 +30,24 @@ stdenv.mkDerivation rec {
# Use preFixup instead of fixupPhase
# because we want the default fixupPhase as well
preFixup = ''
bin_files=$(find $out/bin -type f ! -name common)
for f in $bin_files ; do
wrapProgram $f --set JAVA_HOME ${jre} --prefix PATH : '${ncurses.dev}/bin'
done
bin_files=$(find $out/bin -type f ! -name "*common*" ! -name "scala-cli.jar")
for f in $bin_files ; do
wrapProgram $f --set JAVA_HOME ${jre} --prefix PATH : '${ncurses.dev}/bin'
done
'';
meta = with 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 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;
description = "The Scala 3 compiler, also known as Dotty";
homepage = "https://scala-lang.org/";
license = licenses.asl20;
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
bare = callPackage ./bare.nix {
inherit stdenv fetchurl makeWrapper jre;
inherit
stdenv
fetchurl
makeWrapper
jre
;
};
in
@ -21,4 +32,7 @@ stdenv.mkDerivation {
'';
inherit (bare) meta;
} // { inherit bare; }
}
// {
inherit bare;
}