lol

whatsapp-electron: init at 1.1.1 (#413696)

authored by

Sandro and committed by
GitHub
31bdfaf6 e733b1eb

+111
+13
pkgs/by-name/wh/whatsapp-electron/icon.patch
··· 1 + diff --git a/src/index.js b/src/index.js 2 + index cf77b75..4ceb2da 100644 3 + --- a/src/index.js 4 + +++ b/src/index.js 5 + @@ -14,7 +14,7 @@ class WhatsAppElectron 6 + { 7 + constructor() { 8 + this.store = new Store(); 9 + - this.baseIcon = isDev ? path.join(__dirname, "../assets/whatsapp-icon-512x512.png") : path.join(process.resourcesPath, "app.asar.unpacked/assets/whatsapp-icon-512x512.png"); 10 + + this.baseIcon = isDev ? path.join(__dirname, "../assets/whatsapp-icon-512x512.png") : path.join(app.getAppPath(), "assets/whatsapp-icon-512x512.png"); 11 + this.isQuit = false; 12 + 13 + this.bounds = this.store.get("bounds");
+98
pkgs/by-name/wh/whatsapp-electron/package.nix
··· 1 + { 2 + lib, 3 + fetchFromGitHub, 4 + makeWrapper, 5 + electron, 6 + stdenv, 7 + copyDesktopItems, 8 + nodejs, 9 + fetchNpmDeps, 10 + makeDesktopItem, 11 + npmHooks, 12 + }: 13 + 14 + stdenv.mkDerivation (finalAttrs: { 15 + pname = "whatsapp"; 16 + version = "1.1.1"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "dagmoller"; 20 + repo = "whatsapp-electron"; 21 + tag = "v${finalAttrs.version}"; 22 + hash = "sha256-i3rk/wAr2MtJqXv7Z9uG0YzIsvaxrDvcXsXQhDEmzxw="; 23 + }; 24 + 25 + npmDeps = fetchNpmDeps { 26 + inherit (finalAttrs) pname version src; 27 + hash = "sha256-5AlnAtxiQDbJEbxthGT8DQhZG5tdkrFk0+47czalnlU="; 28 + }; 29 + 30 + patches = [ ./icon.patch ]; 31 + 32 + nativeBuildInputs = [ 33 + makeWrapper 34 + nodejs 35 + npmHooks.npmConfigHook 36 + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; 37 + 38 + env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; 39 + 40 + buildPhase = '' 41 + runHook preBuild 42 + 43 + npm install 44 + ./node_modules/.bin/electron-builder \ 45 + --dir \ 46 + -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ 47 + -c.electronVersion=${electron.version} 48 + 49 + runHook postBuild 50 + ''; 51 + 52 + installPhase = '' 53 + runHook preInstall 54 + mkdir -p "$out/share/whatsapp-electron" 55 + cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/whatsapp-electron" 56 + 57 + install -D assets/whatsapp-icon-512x512.png $out/share/pixmaps/whatsapp.png 58 + install -D assets/whatsapp-icon-512x512.svg $out/share/icons/hicolor/scalable/apps/whatsapp.svg 59 + runHook postInstall 60 + ''; 61 + 62 + postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' 63 + makeWrapper ${electron}/bin/electron $out/bin/whatsapp-electron \ 64 + --add-flags $out/share/whatsapp-electron/resources/app.asar \ 65 + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ 66 + --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ 67 + --set-default ELECTRON_IS_DEV 0 \ 68 + --inherit-argv0 69 + ''; 70 + 71 + desktopItems = [ 72 + (makeDesktopItem { 73 + name = "com.github.dagmoller.whatsapp-electron"; 74 + exec = "whatsapp-electron %u"; 75 + icon = "whatsapp"; 76 + desktopName = "Whatsapp"; 77 + startupWMClass = "com.github.dagmoller.whatsapp-electron"; 78 + categories = [ 79 + "Network" 80 + "InstantMessaging" 81 + ]; 82 + }) 83 + ]; 84 + 85 + meta = { 86 + description = "Electron wrapper around Whatsapp"; 87 + homepage = "https://github.com/dagmoller/whatsapp-electron"; 88 + license = lib.licenses.isc; 89 + maintainers = with lib.maintainers; [ 90 + rucadi 91 + ]; 92 + mainProgram = "whatsapp-electron"; 93 + platforms = [ 94 + "x86_64-linux" 95 + "aarch64-linux" 96 + ]; 97 + }; 98 + })