ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / ca / camunda-modeler / package.nix
blob0972247271a8c08b82feb88330daa8560fca68ca
1 { stdenvNoCC
2 , lib
3 , fetchurl
4 , electron
5 , makeWrapper
6 , makeDesktopItem
7 , copyDesktopItems
8 }:
10 stdenvNoCC.mkDerivation rec {
11   pname = "camunda-modeler";
12   version = "5.28.0";
14   src = fetchurl {
15     url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
16     hash = "sha256-0xOgnpHoFxBzDoDGI7bcBFRu47HDYASIu4ApQo288Bo=";
17   };
18   sourceRoot = "camunda-modeler-${version}-linux-x64";
20   dontConfigure = true;
21   dontBuild = true;
23   nativeBuildInputs = [
24     makeWrapper
25     copyDesktopItems
26   ];
28   installPhase = ''
29     runHook preInstall
31     mkdir -p $out/bin $out/share/${pname}
32     cp -a {locales,resources} $out/share/${pname}
33     install -Dm644 support/mime-types.xml $out/share/mime/packages/${pname}.xml
35     for SIZE in 16 48 128; do
36       install -D -m0644 support/icon_''${SIZE}.png "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps/${pname}.png"
37     done
39     runHook postInstall
40   '';
42   postFixup = ''
43     makeWrapper ${electron}/bin/electron $out/bin/${pname} \
44       --add-flags $out/share/${pname}/resources/app.asar
45   '';
47   desktopItems = [
48     (makeDesktopItem {
49       name = pname;
50       exec = pname;
51       desktopName = "Camunda Modeler";
52       icon = pname;
53       keywords = [ "bpmn" "cmmn" "dmn" "form" "modeler" "camunda"];
54       genericName = "Process Modeling Tool";
55       comment = meta.description;
56       mimeTypes = [ "application/bpmn" "application/cmmn" "application/dmn" "application/camunda-form" ];
57       extraConfig = {
58         X-Ayatana-Desktop-Shortcuts = "NewWindow;RepositoryBrowser";
59       };
60     })
61   ];
63   meta = with lib; {
64     homepage = "https://github.com/camunda/camunda-modeler";
65     description = "An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io";
66     maintainers = teams.wdz.members;
67     license = licenses.mit;
68     inherit (electron.meta) platforms;
69     mainProgram = "camunda-modeler";
70   };