Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 jre, 5 coursier, 6 makeWrapper, 7 installShellFiles, 8 setJavaClassPath, 9 testers, 10}: 11stdenv.mkDerivation (finalAttrs: { 12 pname = "scalafix"; 13 version = "0.12.0"; 14 deps = stdenv.mkDerivation { 15 name = "${finalAttrs.pname}-deps-${finalAttrs.version}"; 16 buildCommand = '' 17 export COURSIER_CACHE=$(pwd) 18 ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${finalAttrs.version} > deps 19 mkdir -p $out/share/java 20 cp $(< deps) $out/share/java/ 21 ''; 22 outputHashMode = "recursive"; 23 outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; 24 }; 25 26 nativeBuildInputs = [ 27 makeWrapper 28 installShellFiles 29 setJavaClassPath 30 ]; 31 buildInputs = [ finalAttrs.deps ]; 32 33 dontUnpack = true; 34 35 installPhase = '' 36 makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ 37 --add-flags "-cp $CLASSPATH scalafix.cli.Cli" 38 39 installShellCompletion --cmd ${finalAttrs.pname} \ 40 --bash <($out/bin/${finalAttrs.pname} --bash) \ 41 --zsh <($out/bin/${finalAttrs.pname} --zsh) 42 ''; 43 44 passthru.tests = { 45 testVersion = testers.testVersion { 46 package = finalAttrs.finalPackage; 47 version = "${finalAttrs.version}"; 48 }; 49 }; 50 51 meta = with lib; { 52 description = "Refactoring and linting tool for Scala"; 53 mainProgram = "scalafix"; 54 homepage = "https://scalacenter.github.io/scalafix/"; 55 license = licenses.bsd3; 56 maintainers = [ maintainers.tomahna ]; 57 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 58 }; 59})