btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / da / dayon / package.nix
blobd183a9256730a58d6049d3cdffb4f88d979d37ec
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , ant
5 , jdk
6 , jre
7 , makeWrapper
8 , copyDesktopItems
9 , stripJavaArchivesHook
12 stdenv.mkDerivation (finalAttrs: {
13   pname = "dayon";
14   version = "14.0.2";
16   src = fetchFromGitHub {
17     owner = "RetGal";
18     repo = "dayon";
19     rev = "v${finalAttrs.version}";
20     hash = "sha256-nRNqubR44ydZwwuQG3q6TRm+MHTRgRbeLI9dsk83wq4=";
21   };
23   nativeBuildInputs = [
24     ant
25     jdk
26     makeWrapper
27     copyDesktopItems
28     stripJavaArchivesHook
29   ];
31   buildPhase = ''
32     runHook preBuild
33     ant
34     runHook postBuild
35   '';
37   installPhase = ''
38     runHook preInstall
40     install -Dm644 build/dayon.jar $out/share/dayon/dayon.jar
41     # jre is in PATH because dayon needs keytool to generate certificates
42     makeWrapper ${jre}/bin/java $out/bin/dayon \
43       --prefix PATH : "${lib.makeBinPath [ jre ]}" \
44       --add-flags "-jar $out/share/dayon/dayon.jar"
45     makeWrapper ${jre}/bin/java $out/bin/dayon_assisted \
46       --prefix PATH : "${lib.makeBinPath [ jre ]}" \
47       --add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assisted.AssistedRunner"
48     makeWrapper ${jre}/bin/java $out/bin/dayon_assistant \
49       --prefix PATH : "${lib.makeBinPath [ jre ]}" \
50       --add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assistant.AssistantRunner"
51     install -Dm644 resources/dayon.png $out/share/icons/hicolor/128x128/apps/dayon.png
53     runHook postInstall
54   '';
56   desktopItems = [
57     "resources/deb/dayon_assisted.desktop"
58     "resources/deb/dayon_assistant.desktop"
59   ];
61   postFixup = ''
62     substituteInPlace $out/share/applications/*.desktop \
63         --replace "/usr/bin/dayon/dayon.png" "dayon"
64   '';
66   meta = with lib; {
67     description = "Easy to use, cross-platform remote desktop assistance solution";
68     homepage = "https://retgal.github.io/Dayon/index.html";
69     license = licenses.gpl3Plus; # https://github.com/RetGal/Dayon/issues/59
70     mainProgram = "dayon";
71     maintainers = with maintainers; [ fgaz ];
72     platforms = platforms.all;
73   };