summary refs log tree commit diff
path: root/pkgs/applications/networking/irc
diff options
context:
space:
mode:
authorOPNA2608 <christoph.neidahl@gmail.com>2022-08-14 00:47:24 +0200
committerOPNA2608 <christoph.neidahl@gmail.com>2022-08-14 00:47:24 +0200
commit86ead2fed9cbd61ef7b7f4f2af4702a9456536cf (patch)
tree87dea5f017d93956edbf8898587d0f1595846480 /pkgs/applications/networking/irc
parent348da227c569d07ca572e6279e41a84dafe48404 (diff)
communi: fix on Darwin
Manual `wrapQtApp` call was previously removed in e0532475bca400362a2a488e31c86c6628a8e55a
but is required here because we work around `wrapQtAppsHook` trying to wrap
dylibs in app bundles.
Diffstat (limited to 'pkgs/applications/networking/irc')
-rw-r--r--pkgs/applications/networking/irc/communi/default.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix
index 71c559cbe713e..cbd099c33bc71 100644
--- a/pkgs/applications/networking/irc/communi/default.nix
+++ b/pkgs/applications/networking/irc/communi/default.nix
@@ -32,6 +32,11 @@ stdenv.mkDerivation rec {
     qtbase
   ];
 
+  # libCommuni.dylib is installed in $out/Applications/Communi.app/Contents/Frameworks/ on Darwin
+  # Wrapper hook thinks it's a binary because it's in $out/Applications, wraps it with a shell script
+  # So we manually call the wrapper script on just the binary
+  dontWrapQtApps = stdenv.isDarwin;
+
   preConfigure = ''
     export QMAKEFEATURES=${libcommuni}/features
   '';
@@ -51,6 +56,9 @@ stdenv.mkDerivation rec {
       install_name_tool \
         -add_rpath @executable_path/../Frameworks \
         $out/Applications/Communi.app/Contents/MacOS/Communi
+
+      # Do not remove until wrapQtAppsHook doesn't wrap dylibs in app bundles anymore
+      wrapQtApp $out/Applications/Communi.app/Contents/MacOS/Communi
     '' else ''
       substituteInPlace "$out/share/applications/communi.desktop" \
         --replace "/usr/bin" "$out/bin"
@@ -66,6 +74,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ hrdinka ];
     platforms = platforms.all;
-    broken = stdenv.isDarwin;
   };
 }