Unverified Commit 7e37cb58 authored by Artturin's avatar Artturin Committed by GitHub
Browse files

groovy: add completion,desktop support (#321462)

parents 0ac785f5 e84c5104
Loading
Loading
Loading
Loading
+50 −5
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, unzip, which, makeWrapper, jdk }:
{
  lib,
  stdenv,
  fetchurl,
  unzip,
  which,
  makeWrapper,
  installShellFiles,
  jdk,
  copyDesktopItems,
  makeDesktopItem,
}:

# at runtime, need jdk

@@ -11,12 +22,44 @@ stdenv.mkDerivation rec {
    sha256 = "sha256-2Ro93+NThx1MJlbT0KBcgovD/zbp1J29vsE9zZjwWHc=";
  };

  nativeBuildInputs = [ makeWrapper unzip ];
  nativeBuildInputs = [
    makeWrapper
    unzip
    installShellFiles
    copyDesktopItems
  ];

  desktopItems = [
    (makeDesktopItem {
      name = "groovy";
      desktopName = "Groovy Console";
      exec = "groovyConsole";
      icon = "groovy";
      comment = meta.description;
      terminal = false;
      startupNotify = false;
      categories = [ "Development" ];
    })
  ];

  installPhase = ''
    runHook preInstall

    rm bin/*.bat

    mkdir -p $out
    mkdir -p $out/share/doc/groovy
    rm bin/*.bat

    #Install icons
    mkdir -p $out/share/icons
    mv bin/groovy.ico $out/share/icons/

    #Install Completion
    for p in grape groovy{,doc,c,sh,Console}; do
      installShellCompletion --cmd $p --bash bin/''${p}_completion
    done
    rm bin/*_completion

    mv {bin,conf,grooid,lib} $out
    mv {licenses,LICENSE,NOTICE} $out/share/doc/groovy

@@ -27,6 +70,8 @@ stdenv.mkDerivation rec {
        --set JAVA_HOME "${jdk}" \
        --prefix PATH ":" "${jdk}/bin"
    done

    runHook postInstall
  '';

  meta = with lib; {