From 7bdb28f3554dfb3000e5e81be9d3df33c622c1c3 Mon Sep 17 00:00:00 2001 From: hakan-demirli Date: Fri, 5 Apr 2024 22:14:29 +0300 Subject: [PATCH 1/4] feat: bump scalafix to 12.0 --- pkgs/development/tools/scalafix/default.nix | 44 +++++++++++---------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix index 36e79c74365f..5b2a4e767778 100644 --- a/pkgs/development/tools/scalafix/default.nix +++ b/pkgs/development/tools/scalafix/default.nix @@ -1,47 +1,49 @@ -{ lib, stdenv, jre, coursier, makeWrapper, installShellFiles, setJavaClassPath }: - -let - baseName = "scalafix"; - version = "0.10.0"; +{ + lib, + stdenv, + jre, + coursier, + makeWrapper, + installShellFiles, + setJavaClassPath, +}: +stdenv.mkDerivation rec { + pname = "scalafix"; + version = "0.12.0"; deps = stdenv.mkDerivation { - name = "${baseName}-deps-${version}"; + name = "${pname}-deps-${version}"; buildCommand = '' export COURSIER_CACHE=$(pwd) - ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.8:${version} > deps + ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${version} > deps mkdir -p $out/share/java cp $(< deps) $out/share/java/ ''; outputHashMode = "recursive"; - outputHash = "sha256-lDeg90L484MggtQ2a9OyHv4UcfLPjzG3OJZCaWW2AC8="; + outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; }; -in -stdenv.mkDerivation { - pname = baseName; - inherit version; - nativeBuildInputs = [ makeWrapper installShellFiles setJavaClassPath ]; - buildInputs = [ deps ]; + nativeBuildInputs = [makeWrapper installShellFiles setJavaClassPath]; + buildInputs = [deps]; dontUnpack = true; installPhase = '' - makeWrapper ${jre}/bin/java $out/bin/${baseName} \ + makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-cp $CLASSPATH scalafix.cli.Cli" - installShellCompletion --cmd ${baseName} \ - --bash <($out/bin/${baseName} --bash) \ - --zsh <($out/bin/${baseName} --zsh) + installShellCompletion --cmd ${pname} \ + --bash <($out/bin/${pname} --bash) \ + --zsh <($out/bin/${pname} --zsh) ''; installCheckPhase = '' - $out/bin/${baseName} --version | grep -q "${version}" + $out/bin/${pname} --version | grep -q "${version}" ''; meta = with lib; { description = "Refactoring and linting tool for Scala"; - mainProgram = "scalafix"; homepage = "https://scalacenter.github.io/scalafix/"; license = licenses.bsd3; - maintainers = [ maintainers.tomahna ]; + maintainers = [maintainers.tomahna]; }; } From 1bbd8501ee01d307a1fbb76376d0d59d573ae234 Mon Sep 17 00:00:00 2001 From: hakan-demirli <78746991+hakan-demirli@users.noreply.github.com> Date: Tue, 9 Apr 2024 05:50:57 +0300 Subject: [PATCH 2/4] use finalAttrs instead of rec --- pkgs/development/tools/scalafix/default.nix | 77 +++++++++++---------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix index 5b2a4e767778..e3e24bd934f2 100644 --- a/pkgs/development/tools/scalafix/default.nix +++ b/pkgs/development/tools/scalafix/default.nix @@ -7,43 +7,46 @@ installShellFiles, setJavaClassPath, }: -stdenv.mkDerivation rec { - pname = "scalafix"; - version = "0.12.0"; - deps = stdenv.mkDerivation { - name = "${pname}-deps-${version}"; - buildCommand = '' - export COURSIER_CACHE=$(pwd) - ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${version} > deps - mkdir -p $out/share/java - cp $(< deps) $out/share/java/ +stdenv.mkDerivation ( + finalAttrs: { + pname = "scalafix"; + version = "0.12.0"; + deps = stdenv.mkDerivation { + name = "${finalAttrs.pname}-deps-${finalAttrs.version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${finalAttrs.version} > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; + }; + + nativeBuildInputs = [makeWrapper installShellFiles setJavaClassPath]; + buildInputs = [finalAttrs.deps]; + + dontUnpack = true; + + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ + --add-flags "-cp $CLASSPATH scalafix.cli.Cli" + + installShellCompletion --cmd ${finalAttrs.pname} \ + --bash <($out/bin/${finalAttrs.pname} --bash) \ + --zsh <($out/bin/${finalAttrs.pname} --zsh) ''; - outputHashMode = "recursive"; - outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; - }; - nativeBuildInputs = [makeWrapper installShellFiles setJavaClassPath]; - buildInputs = [deps]; + installCheckPhase = '' + $out/bin/${finalAttrs.pname} --version | grep -q "${finalAttrs.version}" + ''; - dontUnpack = true; - - installPhase = '' - makeWrapper ${jre}/bin/java $out/bin/${pname} \ - --add-flags "-cp $CLASSPATH scalafix.cli.Cli" - - installShellCompletion --cmd ${pname} \ - --bash <($out/bin/${pname} --bash) \ - --zsh <($out/bin/${pname} --zsh) - ''; - - installCheckPhase = '' - $out/bin/${pname} --version | grep -q "${version}" - ''; - - meta = with lib; { - description = "Refactoring and linting tool for Scala"; - homepage = "https://scalacenter.github.io/scalafix/"; - license = licenses.bsd3; - maintainers = [maintainers.tomahna]; - }; -} + meta = with lib; { + description = "Refactoring and linting tool for Scala"; + mainProgram = "scalafix"; + homepage = "https://scalacenter.github.io/scalafix/"; + license = licenses.bsd3; + maintainers = [maintainers.tomahna]; + }; + } +) From 5e1411181013e2a73d652d0fb2938e2e809b5c89 Mon Sep 17 00:00:00 2001 From: hakan-demirli <78746991+hakan-demirli@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:46:37 +0300 Subject: [PATCH 3/4] add sourceProvenance Co-authored-by: Aleksana --- pkgs/development/tools/scalafix/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix index e3e24bd934f2..baf81acc40f6 100644 --- a/pkgs/development/tools/scalafix/default.nix +++ b/pkgs/development/tools/scalafix/default.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation ( homepage = "https://scalacenter.github.io/scalafix/"; license = licenses.bsd3; maintainers = [maintainers.tomahna]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; } ) From 1076af3b622ccf49615cb50dee153b20f46cf68e Mon Sep 17 00:00:00 2001 From: hakan-demirli Date: Thu, 18 Apr 2024 10:21:18 +0300 Subject: [PATCH 4/4] use passthru tests --- pkgs/development/tools/scalafix/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix index baf81acc40f6..4b4f887d4a04 100644 --- a/pkgs/development/tools/scalafix/default.nix +++ b/pkgs/development/tools/scalafix/default.nix @@ -6,6 +6,7 @@ makeWrapper, installShellFiles, setJavaClassPath, + testers, }: stdenv.mkDerivation ( finalAttrs: { @@ -37,9 +38,12 @@ stdenv.mkDerivation ( --zsh <($out/bin/${finalAttrs.pname} --zsh) ''; - installCheckPhase = '' - $out/bin/${finalAttrs.pname} --version | grep -q "${finalAttrs.version}" - ''; + passthru.tests = { + testVersion = testers.testVersion { + program = "${finalAttrs.pname}"; + version = "${finalAttrs.version}"; + }; + }; meta = with lib; { description = "Refactoring and linting tool for Scala";