about summary refs log tree commit diff
path: root/pkgs/desktops/lomiri
diff options
context:
space:
mode:
authorOPNA2608 <opna2608@protonmail.com>2024-03-02 13:42:44 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2024-04-14 21:38:40 +0200
commitdd3f11b8f674fa0770181ac44d52042cabe53891 (patch)
tree8c415f6c0b3629293147c4a4f922dc20b3e88c53 /pkgs/desktops/lomiri
parentb6fd92ab77158c7d5835a2ce234a97dc323353f9 (diff)
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.
Diffstat (limited to 'pkgs/desktops/lomiri')
-rw-r--r--pkgs/desktops/lomiri/applications/morph-browser/default.nix15
1 files 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 910008136d7ee..f6e92d0c35049 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; {