summaryrefslogtreecommitdiff
path: root/gnu/packages/ratpoison.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-28 22:44:08 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-28 23:06:59 +0100
commitc9711f9347522771a25ce608fb6ff54ef2f28e2f (patch)
treeb754f9333d1dfcd954634b0fda1fb1392cbc1723 /gnu/packages/ratpoison.scm
parent539af7f257eea291b1e6ffbfdcaeee9fde9bffe5 (diff)
downloadguix-c9711f9347522771a25ce608fb6ff54ef2f28e2f.tar.gz
guix-c9711f9347522771a25ce608fb6ff54ef2f28e2f.tar.xz
gnu: ratpoison: Provide a .desktop file with an absolute file name.
This allows GDM to start ratpoison. Without that GDM crashes with an assertion failure when trying to start a ratpoison session. * gnu/packages/ratpoison.scm (ratpoison.desktop): Remove. (ratpoison.desktop)[arguments]: Add #:modules. Rewrite 'install-xsession' phase such that .desktop file contains an absolute file name.
Diffstat (limited to 'gnu/packages/ratpoison.scm')
-rw-r--r--gnu/packages/ratpoison.scm45
1 files changed, 22 insertions, 23 deletions
diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm
index fefde982bc..42e17b63d9 100644
--- a/gnu/packages/ratpoison.scm
+++ b/gnu/packages/ratpoison.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@@ -30,17 +30,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages fontutils))
-(define ratpoison.desktop
- (origin
- (method url-fetch)
- (uri (string-append "https://sources.gentoo.org/cgi-bin/viewvc.cgi/"
- "gentoo-x86/x11-wm/ratpoison/files/ratpoison.desktop"
- "?revision=1.1"))
- (file-name "ratpoison.desktop")
- (sha256
- (base32
- "1rh3f4c3rhn6q2hmkraam0831xqcqyj3qkqf019ahaxsxaan3553"))))
-
(define-public ratpoison
(package
(name "ratpoison")
@@ -55,17 +44,28 @@
(patches (search-patches "ratpoison-shell.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ `(#:modules ((ice-9 format)
+ ,@%gnu-build-system-modules)
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'install-xsession
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((rpd "ratpoison.desktop")
- (dst (string-append (assoc-ref outputs "out")
- "/share/xsessions/")))
- (mkdir-p dst)
- (copy-file (assoc-ref inputs rpd)
- (string-append dst rpd))
- #t))))))
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Add a .desktop file to xsessions.
+ (let* ((output (assoc-ref outputs "out"))
+ (xsessions (string-append output "/share/xsessions")))
+ (mkdir-p xsessions)
+ (call-with-output-file (string-append xsessions
+ "/ratpoison.desktop")
+ (lambda (port)
+ (format port
+ "[Desktop Entry]~@
+ Name=ratpoison~@
+ Comment=Tiling window manager: say goodbye to the rodent!~@
+ Exec=~a/bin/ratpoison~@
+ TryExec=~@*~a/bin/ratpoison~@
+ Type=Application~%"
+ output)))
+ #t))))))
(inputs
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
@@ -80,8 +80,7 @@
("xorgproto" ,xorgproto)))
(native-inputs
`(("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("ratpoison.desktop" ,ratpoison.desktop)))
+ ("pkg-config" ,pkg-config)))
(home-page "https://www.nongnu.org/ratpoison/")
(synopsis "Simple mouse-free tiling window manager")
(description