biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / ganttproject-bin / default.nix
blob0ea873da8477e56516eb9ca41ded6d18695cba99
1 { lib, stdenv, fetchzip, makeDesktopItem, makeWrapper
2 , jre
3 }:
5 stdenv.mkDerivation rec {
6   pname = "ganttproject-bin";
7   version = "3.3.3309";
9   src = fetchzip {
10     url = "https://dl.ganttproject.biz/ganttproject-${version}/ganttproject-${version}.zip";
11     stripRoot = false;
12     hash = "sha256-ysK+q9r8pbf9MBv7ck24joPR/ywyHnDCBHeOLfljYNw=";
13   };
15   nativeBuildInputs = [ makeWrapper ];
16   buildInputs = [ jre ];
18   installPhase = let
20     desktopItem = makeDesktopItem {
21       name = "ganttproject";
22       exec = "ganttproject";
23       icon = "ganttproject";
24       desktopName = "GanttProject";
25       genericName = "Shedule and manage projects";
26       comment = meta.description;
27       categories = [ "Office" ];
28     };
30     javaOptions = [
31       "-Dawt.useSystemAAFontSettings=on"
32     ];
34   in ''
35     mkdir -pv "$out/share/ganttproject"
36     cp -rv *  "$out/share/ganttproject"
38     mkdir -pv "$out/bin"
39     wrapProgram "$out/share/ganttproject/ganttproject" \
40       --set JAVA_HOME "${jre}" \
41       --set _JAVA_OPTIONS "${builtins.toString javaOptions}"
43     mv -v "$out/share/ganttproject/ganttproject" "$out/bin"
45     cp -rv "${desktopItem}/share/applications" "$out/share"
46   '';
48   meta = with lib; {
49     description = "Project scheduling and management";
50     homepage = "https://www.ganttproject.biz/";
51     downloadPage = "https://www.ganttproject.biz/download";
52     # GanttProject itself is GPL3+. All bundled libraries are declared
53     # ‘GPL3-compatible’. See ${downloadPage} for detailed information.
54     license = licenses.gpl3Plus;
55     platforms = platforms.linux;
56     maintainers = [ maintainers.vidbina ];
57     mainProgram = "ganttproject";
58   };