diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix index e446bf1c1eb3..13a216799a2d 100644 --- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix +++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix @@ -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" < $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 ]; + }; }