From dd3f11b8f674fa0770181ac44d52042cabe53891 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 2 Mar 2024 13:42:44 +0100 Subject: [PATCH] lomiri.morph-browser: Patch desktop icon path to be absolute Because Lomiri App Launch parses it on Lomiri startup, and having a relative Icon entry somehow corrupts the search paths. --- .../lomiri/applications/morph-browser/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index 910008136d7e..f6e92d0c3504 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -56,9 +56,12 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \ --replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - # Don't use absolute paths in desktop file + # We normally don't want to use absolute paths in desktop file, but this one is special + # There appears to be some issue in lomiri-app-launch's lookup of relative Icon entries (while lomiri is starting up?) + # that makes the session segfault. + # As a compromise, hardcode /run/current-system substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \ - --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=morph-browser' \ + --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \ --replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg' '' + lib.optionalString (!finalAttrs.doCheck) '' substituteInPlace CMakeLists.txt \ @@ -124,7 +127,13 @@ stdenv.mkDerivation (finalAttrs: { passthru = { updateScript = gitUpdater { }; - tests.standalone = nixosTests.morph-browser; + tests = { + # Test of morph-browser itself + standalone = nixosTests.morph-browser; + + # Lomiri-specific issues with the desktop file may break the entire session, make sure it still works + lomiri = nixosTests.lomiri; + }; }; meta = with lib; {