scalafmt: 0.6.8 -> 1.3.0
This commit is contained in:
parent
b459c8475c
commit
614a6d43a7
@ -1,29 +1,36 @@
|
|||||||
{ stdenv, fetchurl, unzip, jre }:
|
{ stdenv, jdk, jre, coursier, makeWrapper }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
version = "0.6.8";
|
|
||||||
baseName = "scalafmt";
|
baseName = "scalafmt";
|
||||||
|
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}";
|
name = "${baseName}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
buildInputs = [ jdk makeWrapper deps ];
|
||||||
url = "https://github.com/scalameta/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
|
|
||||||
sha256 = "1iaanrxk5lhxx1zj9gbxzgqbnyy1azfrab984mga7di5z1hs02s2";
|
|
||||||
};
|
|
||||||
|
|
||||||
unpackPhase = "tar xvzf $src";
|
doCheck = true;
|
||||||
|
|
||||||
|
phases = [ "installPhase" "checkPhase" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/bin"
|
makeWrapper ${jre}/bin/java $out/bin/${baseName} \
|
||||||
mkdir -p "$out/lib"
|
--add-flags "-cp $CLASSPATH org.scalafmt.cli.Cli"
|
||||||
|
'';
|
||||||
|
|
||||||
cp cli/target/scala-2.11/scalafmt.jar "$out/lib/${name}.jar"
|
checkPhase = ''
|
||||||
|
$out/bin/${baseName} --version | grep -q "${version}"
|
||||||
cat > "$out/bin/${baseName}" << EOF
|
|
||||||
#!${stdenv.shell}
|
|
||||||
exec ${jre}/bin/java -jar "$out/lib/${name}.jar" "\$@"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chmod a+x "$out/bin/${baseName}"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
Loading…
Reference in New Issue
Block a user