gnu: sway: Update to 1.4
[jackhill/guix/guix.git] / gnu / packages / ratpoison.scm
index 3a93188..42e17b6 100644 (file)
@@ -1,5 +1,7 @@
 ;;; 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #: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")
-    (version "1.4.6")
-    (source (origin
-             (method url-fetch)
+    (version "1.4.9")
+    (source
+     (origin (method url-fetch)
              (uri (string-append "mirror://savannah/ratpoison/ratpoison-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0v4mh8d3vsh5xbbycfdl3g8zfygi1rkslh1x7k5hi1d05bfq3cdr"))
-             (patches (list (search-patch "ratpoison-shell.patch")))))
+               "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr"))
+             (patches (search-patches "ratpoison-shell.patch"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
-       (alist-cons-after
-        'install 'install-xsession
-        (lambda _
-          (let* ((file      (assoc-ref %build-inputs "ratpoison.desktop"))
-                 (xsessions (string-append %output "/share/xsessions"))
-                 (target    (string-append xsessions "/ratpoison.desktop")))
-            (mkdir-p xsessions)
-            (copy-file file target)))
-        %standard-phases)))
+     `(#:modules ((ice-9 format)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-xsession
+           (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
-     `(("libXi" ,libxi)
-       ("readline" ,readline)
-       ("xextproto" ,xextproto)
-       ("libXtst" ,libxtst)
+     `(("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
-       ("fontconfig" ,fontconfig)
-       ("libxinerama" ,libxinerama)
        ("libXft" ,libxft)
+       ("libXi" ,libxi)
+       ("libxrandr" ,libxrandr)
        ("libXpm" ,libxpm)
        ("libXt" ,libxt)
-       ("inputproto" ,inputproto)
+       ("libXtst" ,libxtst)
        ("libX11" ,libx11)
-       ("ratpoison.desktop" ,ratpoison.desktop)))
+       ("readline" ,readline)
+       ("xorgproto" ,xorgproto)))
     (native-inputs
-      `(("perl" ,perl)
-        ("pkg-config" ,pkg-config)))
-    (home-page "http://www.nongnu.org/ratpoison/")
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://www.nongnu.org/ratpoison/")
     (synopsis "Simple mouse-free tiling window manager")
     (description
      "Ratpoison is a simple window manager with no fat library