Subject: [bug#72538] [PATCH] gnu: xmonad: Re-add xmonad.desktop file.

From: EuAndreh <[email-masked]>
Date: Fri, 9 Aug 2024 07:09:54 -0300

* gnu/packages/wm.scm (xmonad)[arguments]: Add 'install-xsession phase
  that was removed in previous automated update.

Change-Id: Iac02b4c6e7a73c9b354c52b46eb39dca8156b1c3
---

Notes:
    The said automated update is 0bce74d458a343e61d054c4b25d6f67bd1086f3c,
    an upgrade to Stackage 20.26.
    
    After rebooting my computer and realizing what happened, I searched for
    discussions around this on the mailing lists, only to find a message
    from, wait a minute, me! haha
    
    This has happened before, and I was the one to send an equivalent patch
    to address the issue, 307d1b626be86ed21d48d44a131ce8490f370a17.
    
    I did take a quick look at this latest automated update, and all I could
    find were docstring typos spelling "httsp", and not much else.  Other
    packages with custom phases were either adjusted or kept as they were,
    so it does seem to have been a one-off in this update.
    
    Cc Lars-Dominik Braun:
    If you're so inclined, I may help to improve the upgrade script to avoid
    this in the future, but also feel free to decline or ignore.  And thanks
    for the maintenance work on the Haskell packages :)

 gnu/packages/wm.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index ad74fb5cf7..da1695ff62 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -872,6 +872,24 @@ (define-public xmonad
         (base32 "19qz9a23377nzc0qq8nca45s745mfncd4i2vwba14gi7ipipfcil"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "xmonad")))
+    (arguments
+      (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'install 'install-xsession
+             (lambda _
+               (let* ((xsessions (string-append #$output "/share/xsessions"))
+                      (entry     (string-append xsessions "/xmonad.desktop")))
+                 (mkdir-p xsessions)
+                 (call-with-output-file
+                  entry
+                  (lambda (port)
+                    (format port "~
+                      [Desktop Entry]~@
+                      Name=xmonad~@
+                      Comment=xmonad window manager~@
+                      Exec=~a/bin/xmonad~@
+                      Type=Application~%" #$output)))))))))
     (inputs (list ghc-x11 ghc-data-default-class ghc-setlocale))
     (native-inputs (list ghc-quickcheck ghc-quickcheck-classes))
     (home-page "http://xmonad.org")

base-commit: 9c6353c5568a56620af43c2213a9f1cbdc2b4adf
-- 
2.45.2