summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPascal Wittmann <PascalWittmann@gmx.net>2017-12-14 09:06:27 +0100
committerGitHub <noreply@github.com>2017-12-14 09:06:27 +0100
commitb11254d3779d87beed07488cba295ea4fbf79fdb (patch)
tree3c3d161fc6228d322a24509796ece6f9c7fb45f5 /pkgs
parent7de78d3efc865a1941f8f2264580a95f102d8d63 (diff)
parent614a6d43a7c81bdd58f5fe5e0fda682f87c1fb4d (diff)
downloadnixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar.gz
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar.bz2
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar.lz
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar.xz
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.tar.zst
nixlib-b11254d3779d87beed07488cba295ea4fbf79fdb.zip
Merge pull request #32442 from markus1189/scalafmt-130
scalafmt: 0.6.8 -> 1.3.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/scalafmt/default.nix43
1 files changed, 25 insertions, 18 deletions
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index 391c653b98ab..ae2bbd08e4c9 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -1,29 +1,36 @@
-{ stdenv, fetchurl, unzip, jre }:
+{ stdenv, jdk, jre, coursier, makeWrapper }:
 
-stdenv.mkDerivation rec {
-  version = "0.6.8";
+let
   baseName = "scalafmt";
-  name = "${baseName}-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/scalameta/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
-    sha256 = "1iaanrxk5lhxx1zj9gbxzgqbnyy1azfrab984mga7di5z1hs02s2";
+  version = "1.3.0";
+  deps = stdenv.mkDerivation {
+    name = "${baseName}-${version}-deps";
+    buildCommand = ''
+      export COURSIER_CACHE=$(pwd)
+      mkdir -p $out/share/java
+      cp $(${coursier}/bin/coursier fetch com.geirsson:scalafmt-cli_2.12:${version}) $out/share/java/
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = "0q1vw6drpdrfifbm3266igpml0phdk6pl0gd3b5amysigx83m251";
   };
+in
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
 
-  unpackPhase = "tar xvzf $src";
+  buildInputs = [ jdk makeWrapper deps ];
 
-  installPhase = ''
-    mkdir -p "$out/bin"
-    mkdir -p "$out/lib"
+  doCheck = true;
 
-    cp cli/target/scala-2.11/scalafmt.jar "$out/lib/${name}.jar"
+  phases = [ "installPhase" "checkPhase" ];
 
-    cat > "$out/bin/${baseName}" << EOF
-    #!${stdenv.shell}
-    exec ${jre}/bin/java -jar "$out/lib/${name}.jar" "\$@"
-    EOF
+  installPhase = ''
+    makeWrapper ${jre}/bin/java $out/bin/${baseName} \
+      --add-flags "-cp $CLASSPATH org.scalafmt.cli.Cli"
+  '';
 
-    chmod a+x "$out/bin/${baseName}"
+  checkPhase = ''
+    $out/bin/${baseName} --version | grep -q "${version}"
   '';
 
   meta = with stdenv.lib; {