about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/chatterino2
diff options
context:
space:
mode:
authorMatthew Glazar <strager.nds@gmail.com>2020-02-01 19:55:55 -0800
committerMatthew Glazar <strager.nds@gmail.com>2020-02-01 19:59:08 -0800
commit1221a6b096aed2276d25963434cacb805f133cca (patch)
tree859f60d6cf517961b8dc29024d91cd08b768442a /pkgs/applications/networking/instant-messengers/chatterino2
parentcdd1c216ff377e724d390aaed73cc7b5fc2273bb (diff)
chatterino2: fix: Could not find the Qt platform plugin "cocoa" in ""
wrapQtAppsHook ignores Mach-O binaries [1]. Additionally, wrapQtAppsHook
doesn't look inside $out/Applications [2], which is where chatterino2 is
installed. This means chatterino2 for Darwin/macOS is not wrapped
properly, causing the following error when launched:

> qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
>
> This application failed to start because no Qt platform plugin could
> be initialized. Reinstalling the application may fix this problem.

On macOS, explicitly wrap chatterino2's executable.

[1] pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh line 85
[2] pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh line 76
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/chatterino2')
-rw-r--r--pkgs/applications/networking/instant-messengers/chatterino2/default.nix7
1 files changed, 5 insertions, 2 deletions
diff --git a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
index f3051eabe2bcc..553b466b12f9c 100644
--- a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, stdenv, lib, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
+{ mkDerivation, stdenv, lib, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl, wrapQtAppsHook }:
 
 mkDerivation rec {
   pname = "chatterino2";
@@ -10,12 +10,15 @@ mkDerivation rec {
     sha256 = "0i2385hamhd9i7jdy906cfrd81cybw524j92l87c8pzrkxphignk";
     fetchSubmodules = true;
   };
-  nativeBuildInputs = [ qmake pkgconfig ];
+  nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
   buildInputs = [ qtbase qtsvg qtmultimedia boost openssl ];
   postInstall = lib.optionalString stdenv.isDarwin ''
     mkdir -p "$out/Applications"
     mv bin/chatterino.app "$out/Applications/"
   '';
+  postFixup = lib.optionalString stdenv.isDarwin ''
+    wrapQtApp "$out/Applications/chatterino.app/Contents/MacOS/chatterino"
+  '';
   meta = with lib; {
     description = "A chat client for Twitch chat";
     longDescription = ''