summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/quaternion/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/quaternion/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 2e2489870ed..983646fbad5 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
 
 stdenv.mkDerivation rec {
   name = "quaternion-${version}";
@@ -11,10 +11,18 @@ stdenv.mkDerivation rec {
     sha256 = "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib";
   };
 
-  buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
+  buildInputs = [ qtbase qtquickcontrols ];
 
   nativeBuildInputs = [ cmake ];
 
+  patches = [
+    # https://github.com/QMatrixClient/Quaternion/pull/400
+    (fetchpatch {
+      url = "https://github.com/QMatrixClient/Quaternion/commit/6cb29834efc343dc2bcf1db62cfad2dc4c121c54.patch";
+      sha256 = "0n7mgzzrvx9sa657rfb99i0mjh1k0sn5br344mknqy3wgqdr7s3x";
+    })
+  ];
+
   # libqmatrixclient is now compiled as a dynamic library but quarternion cannot use it yet
   # https://github.com/QMatrixClient/Quaternion/issues/239
   postPatch = ''
@@ -22,7 +30,11 @@ stdenv.mkDerivation rec {
     ln -s ${libqmatrixclient.src} lib
   '';
 
-  postInstall = ''
+  postInstall = if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+    mv $out/bin/quaternion.app $out/Applications
+    rmdir $out/bin || :
+  '' else ''
     substituteInPlace $out/share/applications/quaternion.desktop \
       --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
   '';