communi: fix on Darwin

Manual `wrapQtApp` call was previously removed in e0532475bc
but is required here because we work around `wrapQtAppsHook` trying to wrap
dylibs in app bundles.
This commit is contained in:
OPNA2608 2022-08-14 00:47:24 +02:00
parent 348da227c5
commit 86ead2fed9

View File

@ -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;
};
}