scala: Make overridable

This commit is contained in:
Tim Steinbach 2020-12-08 13:09:25 -05:00
parent 5e66517178
commit 7f50f98298
No known key found for this signature in database
GPG Key ID: 6538CB9266B06F31
2 changed files with 105 additions and 106 deletions

View File

@ -1,12 +1,43 @@
{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, nixosTests { stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, nixosTests
, writeScript, common-updater-scripts, git, gnused, nix, nixfmt }: , writeScript, common-updater-scripts, git, gnused, nix, nixfmt, majorVersion }:
with lib; with lib;
let let
repo = "git@github.com:scala/scala.git"; repo = "git@github.com:scala/scala.git";
common = { version, sha256, tests, pname }: versionMap = {
"2.10" = {
version = "2.10.7";
sha256 = "koMRmRb2u3cU4HaihAzPItWIGbNVIo7RWRrm92kp8RE=";
tests = [ nixosTests.scala.scala_2_10 ];
pname = "scala_2_10";
};
"2.11" = {
version = "2.11.12";
sha256 = "sR19M2mcpPYLw7K2hY/ZU+PeK4UiyUP0zaS2dDFhlqg=";
tests = [ nixosTests.scala.scala_2_11 ];
pname = "scala_2_11";
};
"2.12" = {
version = "2.12.12";
sha256 = "NSDNHzye//YrrudfMuUtHl3BIL4szzQGSeRw5I9Sfis=";
tests = [ nixosTests.scala.scala_2_12 ];
pname = "scala_2_12";
};
"2.13" = {
version = "2.13.4";
sha256 = "1alcnzmxga00nsvgy8yky91zw5b4q0xg2697vrrdgjlglpxiqwdw";
tests = [ nixosTests.scala.scala_2_13 ];
pname = "scala_2_13";
};
};
in with versionMap.${majorVersion};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
inherit version; inherit version;
@ -18,18 +49,17 @@ let
}; };
propagatedBuildInputs = [ jre ]; propagatedBuildInputs = [ jre ];
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
rm bin/*.bat rm bin/*.bat
mv * $out mv * $out
# put docs in correct subdirectory # put docs in correct subdirectory
mkdir -p $out/share/doc mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name} mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man mv $out/man $out/share/man
for p in $(ls $out/bin/) ; do for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \ wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \ --prefix PATH ":" ${coreutils}/bin \
@ -41,7 +71,6 @@ let
passthru = { passthru = {
inherit tests; inherit tests;
updateScript = writeScript "update.sh" '' updateScript = writeScript "update.sh" ''
#!${stdenv.shell} #!${stdenv.shell}
set -o errexit set -o errexit
@ -85,33 +114,4 @@ let
branch = versions.majorMinor version; branch = versions.majorMinor version;
maintainers = [ maintainers.nequissimus ]; maintainers = [ maintainers.nequissimus ];
}; };
};
in {
scala_2_10 = common {
version = "2.10.7";
sha256 = "koMRmRb2u3cU4HaihAzPItWIGbNVIo7RWRrm92kp8RE=";
tests = [ nixosTests.scala.scala_2_10 ];
pname = "scala_2_10";
};
scala_2_11 = common {
version = "2.11.12";
sha256 = "sR19M2mcpPYLw7K2hY/ZU+PeK4UiyUP0zaS2dDFhlqg=";
tests = [ nixosTests.scala.scala_2_11 ];
pname = "scala_2_11";
};
scala_2_12 = common {
version = "2.12.12";
sha256 = "NSDNHzye//YrrudfMuUtHl3BIL4szzQGSeRw5I9Sfis=";
tests = [ nixosTests.scala.scala_2_12 ];
pname = "scala_2_12";
};
scala_2_13 = common {
version = "2.13.4";
sha256 = "1alcnzmxga00nsvgy8yky91zw5b4q0xg2697vrrdgjlglpxiqwdw";
tests = [ nixosTests.scala.scala_2_13 ];
pname = "scala_2_13";
};
} }

View File

@ -10143,11 +10143,10 @@ in
sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.0.9.nix {}; sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.0.9.nix {};
sbcl = callPackage ../development/compilers/sbcl {}; sbcl = callPackage ../development/compilers/sbcl {};
inherit (callPackage ../development/compilers/scala/2.x.nix { jre = jre8; }) scala_2_10 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.10"; jre = jdk8; };
scala_2_10 scala_2_11 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.11"; jre = jdk8; };
scala_2_11 scala_2_12 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.12"; jre = jdk8; };
scala_2_12 scala_2_13 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.13"; jre = jdk8; };
scala_2_13;
scala = scala_2_13; scala = scala_2_13;