mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
commit
5af6de819a
@ -1,93 +1,30 @@
|
||||
{ stdenv, versionedDerivation, fetchurl, version ? "xsbt-0.12.3" }:
|
||||
{ stdenv, fetchurl, jre }:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbt-${version}";
|
||||
version = "0.13.0";
|
||||
|
||||
description = "A build tool for Scala";
|
||||
longDescription = name: ''
|
||||
${name} is a simple build tool for Scala projects that aims to do the
|
||||
basics well.
|
||||
|
||||
This package is the sbt launcher which automatically manages
|
||||
and downloads dependencies, including the SBT package and the
|
||||
Scala compiler.
|
||||
'';
|
||||
|
||||
metaSBT = {
|
||||
inherit description;
|
||||
longDescription = longDescription "sbt";
|
||||
homepage = http://code.google.com/p/simple-build-tool/;
|
||||
license = "bsd";
|
||||
};
|
||||
|
||||
metaXSBT = {
|
||||
inherit description;
|
||||
longDescription = longDescription "xsbt";
|
||||
homepage = https://github.com/harrah/xsbt;
|
||||
license = "bsd";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
# Depends on a JRE at runtime.
|
||||
|
||||
versionedDerivation "simple-build-tool" version {
|
||||
"0.7.3" = let version = "0.7.3"; in {
|
||||
name = "simple-build-tool-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
|
||||
sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k";
|
||||
};
|
||||
meta = metaSBT;
|
||||
src = fetchurl {
|
||||
url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
|
||||
sha256 = "04s49v5mw4kwz1rmvbf07kq51i2m0lcv60c9i5y524gjj518pk1w";
|
||||
};
|
||||
|
||||
"0.7.7" = let version = "0.7.7"; in {
|
||||
name = "simple-build-tool-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
|
||||
# sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6j";
|
||||
sha256 = "2720b033012a7509f7fbdfddfa69c07b105452a6f95bc410cb7dc34c1594ab3d";
|
||||
};
|
||||
meta = metaSBT;
|
||||
};
|
||||
|
||||
"xsbt-0.11.2" = let version = "0.11.2"; in { # scala 2.9
|
||||
name = "xsbt-${version}";
|
||||
|
||||
# scala needs much more PermGen space
|
||||
javaArgs = "-Xmx1024M";
|
||||
# from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
|
||||
src = fetchurl {
|
||||
url = http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar;
|
||||
sha256 = "14fbzvb1s66wpbqznw65a7nn27qrq1i9pd7wlbydv8ffl49d262n";
|
||||
};
|
||||
meta = metaXSBT;
|
||||
};
|
||||
|
||||
"xsbt-0.12.3" = let version = "0.12.3"; in {
|
||||
name = "xsbt-${version}";
|
||||
|
||||
# Recommended java options from sbt Getting started guide
|
||||
javaArgs = "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M";
|
||||
# from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
|
||||
src = fetchurl {
|
||||
url = http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.3/sbt-launch.jar;
|
||||
sha256 = "11r26abjzmnmpn65ndbq60qg31s3ichkvzpmxyrq941s1n1dbxgh";
|
||||
};
|
||||
meta = metaXSBT;
|
||||
};
|
||||
}
|
||||
{
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -pv "$out/lib/java"
|
||||
cp $src "$out/lib/java/sbt-launch-${version}.jar"
|
||||
mkdir -p "$out/bin"
|
||||
cat > "$out/bin/sbt" <<EOF
|
||||
#! /bin/sh
|
||||
exec java $javaArgs -jar $out/lib/java/sbt-launch-${version}.jar "\$@"
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/sbt << EOF
|
||||
#!/bin/sh
|
||||
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
|
||||
${jre}/bin/java $SBT_OPTS -jar ${src} "\$@"
|
||||
EOF
|
||||
chmod u+x "$out/bin/sbt"
|
||||
chmod +x $out/bin/sbt
|
||||
'';
|
||||
|
||||
phases = "installPhase";
|
||||
meta = {
|
||||
homepage = http://www.scala-sbt.org/;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
description = "A build tool for Scala, Java and more";
|
||||
maintainers = [ stdenv.lib.maintainers.rickynils ];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user