evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / sc / scala-update / package.nix
blobd15292c4d32ea7450091c743245fec8e2147ad2e
1 { lib, stdenv, coursier, buildGraalvmNativeImage }:
3 let
4   baseName = "scala-update";
5   version = "0.2.2";
6   deps = stdenv.mkDerivation {
7     name = "${baseName}-deps-${version}";
8     buildCommand = ''
9       export COURSIER_CACHE=$(pwd)
10       ${coursier}/bin/cs fetch io.github.kitlangton:scala-update_2.13:${version} > deps
11       mkdir -p $out/share/java
12       cp $(< deps) $out/share/java/
13     '';
14     outputHashMode = "recursive";
15     outputHashAlgo = "sha256";
16     outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M=";
17   };
18 in buildGraalvmNativeImage {
19   pname = baseName;
20   inherit version;
22   buildInputs = [ deps ];
24   src = "${deps}/share/java/${baseName}_2.13-${version}.jar";
26   extraNativeImageBuildArgs =
27     [ "--no-fallback" "--enable-url-protocols=https" "update.Main" ];
29   buildPhase = ''
30     runHook preBuild
32     native-image ''${nativeImageBuildArgs[@]} -cp $(JARS=("${deps}/share/java"/*.jar); IFS=:; echo "''${JARS[*]}")
34     runHook postBuild
35   '';
37   installCheckPhase = ''
38     $out/bin/${baseName} --version | grep -q "${version}"
39   '';
41   meta = with lib; {
42     description = "Update your Scala dependencies interactively";
43     homepage = "https://github.com/kitlangton/scala-update";
44     license = licenses.asl20;
45     maintainers = [ maintainers.rtimush ];
46   };