gnu: mate-session-manager: Provide absolute file name in '.desktop' file.
Previously GDM would crash when selecting MATE. * gnu/packages/mate.scm (mate-session-manager)[arguments]: Add 'update-xsession-dot-desktop' phase.
This commit is contained in:
		
							parent
							
								
									307586c1e3
								
							
						
					
					
						commit
						bfac636675
					
				
					 1 changed files with 15 additions and 1 deletions
				
			
		| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2017 ng0 <ng0@n0.is>
 | 
					;;; Copyright © 2017 ng0 <ng0@n0.is>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -337,7 +338,20 @@ configurations (profiles).")
 | 
				
			||||||
               (("#ifdef HAVE_SYSTEMD") "#if 0"))
 | 
					               (("#ifdef HAVE_SYSTEMD") "#if 0"))
 | 
				
			||||||
             (substitute* "mate-session/gsm-autostart-app.c"
 | 
					             (substitute* "mate-session/gsm-autostart-app.c"
 | 
				
			||||||
               (("#ifdef HAVE_SYSTEMD") "#if 0"))
 | 
					               (("#ifdef HAVE_SYSTEMD") "#if 0"))
 | 
				
			||||||
             #t)))))
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'install 'update-xsession-dot-desktop
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; Record the absolute file name of 'mate-session' in the
 | 
				
			||||||
 | 
					             ;; '.desktop' file.
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (xsession (string-append
 | 
				
			||||||
 | 
					                               out "/share/xsessions/mate.desktop")))
 | 
				
			||||||
 | 
					               (substitute* xsession
 | 
				
			||||||
 | 
					                 (("^Exec=.*$")
 | 
				
			||||||
 | 
					                  (string-append "Exec=" out "/bin/mate-session\n"))
 | 
				
			||||||
 | 
					                 (("^TryExec=.*$")
 | 
				
			||||||
 | 
					                  (string-append "Exec=" out "/bin/mate-session\n")))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("intltool" ,intltool)
 | 
					       ("intltool" ,intltool)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue