gnu: icedove: Add a desktop file.
authorJonathan Brielmaier <jonathan.brielmaier@web.de>
Thu, 14 May 2020 11:49:53 +0000 (13:49 +0200)
committerMarius Bakke <mbakke@fastmail.com>
Sat, 23 May 2020 19:19:13 +0000 (21:19 +0200)
* gnu/packages/gnuzilla.scm (icedove)[phases]: Add install-desktop-file phase.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
gnu/packages/gnuzilla.scm

index 8a92668..7bf9850 100644 (file)
@@ -1344,6 +1344,32 @@ standards of the IceCat project.")
            (lambda _ (invoke "./mach" "build")))
          (replace 'install
            (lambda _ (invoke "./mach" "install")))
+         ;; Thunderbird doesn't provide any .desktop file.
+         ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1637575
+         (add-after 'install 'install-desktop-file
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (apps (string-append out "/share/applications")))
+               (mkdir-p apps)
+               (with-output-to-file (string-append apps "/icedove.desktop")
+                 (lambda _
+                   (format #t
+                           "[Desktop Entry]~@
+                            Name=Icedove~@
+                            Exec=~a/bin/icedove~@
+                            Icon=icedove~@
+                            GenericName=Mail/News Client~@
+                            Categories=Network;Email;~@
+                            Terminal=false~@
+                            StartupNotify=true~@
+                            MimeType=x-scheme-handler/mailto;~@
+                            Type=Application~@
+                            Actions=ComposeMessage;~@
+                            [Desktop Action ComposeMessage]~@
+                            Name=Write new message~@
+                            Exec=~@*~a/bin/icedove -compose~%"
+                           out))))
+             #t))
          (add-after 'install 'wrap-program
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))