From 49b7a8f17fb8943fc43826cfe0cc167fac10dd45 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 4 Jun 2025 09:18:01 -0700 Subject: [PATCH] scala-update: refactor to finalAttrs style --- pkgs/by-name/sc/scala-update/package.nix | 55 ++++++++++++------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/pkgs/by-name/sc/scala-update/package.nix b/pkgs/by-name/sc/scala-update/package.nix index 849dcc6c327d..015972f48009 100644 --- a/pkgs/by-name/sc/scala-update/package.nix +++ b/pkgs/by-name/sc/scala-update/package.nix @@ -1,33 +1,17 @@ { lib, - stdenv, + stdenvNoCC, coursier, buildGraalvmNativeImage, }: -let - baseName = "scala-update"; +buildGraalvmNativeImage (finalAttrs: { + pname = "scala-update"; version = "0.2.2"; - deps = stdenv.mkDerivation { - name = "${baseName}-deps-${version}"; - buildCommand = '' - export COURSIER_CACHE=$(pwd) - ${coursier}/bin/cs fetch io.github.kitlangton:scala-update_2.13:${version} > deps - mkdir -p $out/share/java - cp $(< deps) $out/share/java/ - ''; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M="; - }; -in -buildGraalvmNativeImage { - pname = baseName; - inherit version; - buildInputs = [ deps ]; + buildInputs = [ finalAttrs.finalPackage.passthru.deps ]; - src = "${deps}/share/java/${baseName}_2.13-${version}.jar"; + src = "${finalAttrs.finalPackage.passthru.deps}/share/java/scala-update_2.13-${finalAttrs.version}.jar"; extraNativeImageBuildArgs = [ "--no-fallback" @@ -38,20 +22,37 @@ buildGraalvmNativeImage { buildPhase = '' runHook preBuild - native-image ''${nativeImageBuildArgs[@]} -cp $(JARS=("${deps}/share/java"/*.jar); IFS=:; echo "''${JARS[*]}") + native-image ''${nativeImageArgs[@]} -cp $(JARS=("${finalAttrs.finalPackage.passthru.deps}/share/java"/*.jar); IFS=:; echo "''${JARS[*]}") runHook postBuild ''; installCheckPhase = '' - $out/bin/${baseName} --version | grep -q "${version}" + runHook preInstallCheck + + $out/bin/scala-update --version | grep -q "${finalAttrs.version}" + + runHook postInstallCheck ''; - meta = with lib; { + passthru.deps = stdenvNoCC.mkDerivation { + name = "scala-update-deps-${finalAttrs.version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${lib.getExe coursier} fetch io.github.kitlangton:scala-update_2.13:${finalAttrs.version} > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M="; + }; + + meta = { description = "Update your Scala dependencies interactively"; homepage = "https://github.com/kitlangton/scala-update"; - license = licenses.asl20; - maintainers = [ maintainers.rtimush ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.rtimush ]; mainProgram = "scala-update"; }; -} +})