Subject: bug#23094: [PATCH] Re: bug#23094: icecat is missing a desktop file

From: Danny Milosavljevic <[email-masked]>
Date: Sun, 10 Apr 2016 12:04:04 +0200

Here's a patch which adds a desktop file to icecat:

Note that there's still a maintenance problem with the icon - version "38.6.0" is currently hard-coded, so if icecat updates, it won't be able to find its icon. What is the usual way to fix this?

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index b4892d7..2c38458 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -519,7 +519,40 @@ standards.")
               (format #t "configure flags: ~s~%" flags)
               (zero? (apply system* bash
                             (string-append srcdir "/configure")
-                            flags))))))))
+                            flags)))))
+         (add-after
+          'install
+          'install-desktop-entry
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((applications (string-append (assoc-ref outputs "out") "/share/applications")))
+              (mkdir-p applications)
+              (call-with-output-file (string-append applications "/icecat.desktop")
+                (lambda (port)
+                  (format port "~
+[Desktop Entry]~@
+Version=1.0~@
+Name=GNU IceCat~@
+GenericName=Web Browser~@
+Comment=Browse the World Wide Web~@
+Keywords=Internet;WWW;Browser;Web~@
+Exec=~a/bin/icecat %u~@
+Terminal=false~@
+X-MultipleArgs=false~@
+Type=Application~@
+Icon=~a/lib/icecat-38.6.0/browser/icons/mozicon128.png~@
+Categories=GNOME;GTK;Network;WebBrowser;~@
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;~@
+StartupNotify=true~@
+Actions=NewWindow;NewPrivateWindow~@
+~@
+[Desktop Action NewWindow]~@
+Name=Open a New Window~@
+Exec=~a/bin/icecat --new-window~@
+~@
+[Desktop Action NewPrivateWindow]~@
+Name=Open a New Private Window~@
+Exec=~a/bin/icecat -private-window~@
+" (assoc-ref outputs "out") (assoc-ref outputs "out") (assoc-ref outputs "out") (assoc-ref outputs "out")))))))))) ; FIXME version
     (home-page "http://www.gnu.org/software/gnuzilla/")
     (synopsis "Entirely free browser derived from Mozilla Firefox")
     (description