16 pname = "jitsi-meet-electron";
19 src = fetchFromGitHub {
21 repo = "jitsi-meet-electron";
23 hash = "sha256-BGN+t9Caw5n/NN1E5Oi/ruMLjoVh0jUlpzYR6vodHbw=";
31 # robotjs node-gyp dependencies
40 npmDepsHash = "sha256-KanG8y+tYzswCCXjSkOlk+p9XKaouP2Z7IhsD5bDtRk=";
42 makeCacheWritable = true;
44 env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
47 substituteInPlace main.js \
48 --replace "require('electron-is-dev')" "false"
52 # remove some prebuilt binaries
53 find node_modules -type d -name prebuilds -exec rm -r {} +
58 # asarUnpack makes sure to unwrap binaries so that nix can see the RPATH
59 npm exec electron-builder -- \
61 -c.asarUnpack="**/*.node" \
62 -c.electronDist=${electron}/libexec/electron \
63 -c.electronVersion=${electron.version}
69 mkdir -p $out/share/jitsi-meet-electron
70 cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/jitsi-meet-electron
72 makeWrapper ${lib.getExe electron} $out/bin/jitsi-meet-electron \
73 --add-flags $out/share/jitsi-meet-electron/resources/app.asar \
74 --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
77 install -Dm644 resources/icons/512x512.png $out/share/icons/hicolor/512x512/apps/jitsi-meet-electron.png
84 name = "jitsi-meet-electron";
85 exec = "jitsi-meet-electron %U";
86 icon = "jitsi-meet-electron";
87 desktopName = "Jitsi Meet";
88 comment = meta.description;
89 categories = [ "VideoConference" "AudioVideo" "Audio" "Video" "Network" ];
90 mimeTypes = [ "x-scheme-handler/jitsi-meet" ];
96 changelog = "https://github.com/jitsi/jitsi-meet-electron/releases/tag/${src.rev}";
97 description = "Jitsi Meet desktop application powered by Electron";
98 homepage = "https://github.com/jitsi/jitsi-meet-electron";
99 license = licenses.asl20;
100 mainProgram = "jitsi-meet-electron";
101 maintainers = teams.jitsi.members ++ [ maintainers.tomasajt ];
102 inherit (electron.meta) platforms;