gnu: Add and use gettext-minimal.
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
index 226e5c1..a26c716 100644 (file)
@@ -4,7 +4,7 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,7 +49,8 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages gnome)               ;for libgudev
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
@@ -88,7 +90,7 @@
              #t)))))
     (inputs `(("pygtk" ,python2-pygtk)
               ("xrandr" ,xrandr)))
-    (native-inputs `(("gettext"           ,gnu-gettext)
+    (native-inputs `(("gettext"           ,gettext-minimal)
                      ("python-docutils"   ,python2-docutils)
                      ("python-setuptools" ,python2-setuptools)))
     (home-page "https://christian.amsuess.com/tools/arandr/")
@@ -182,14 +184,14 @@ X11 (yet).")
     (arguments
      '(#:tests? #f ; Test suite requires a lot of black magic
        #:phases
-       (alist-replace 'configure
-                      (lambda* (#:key outputs #:allow-other-keys #:rest args)
-                        (setenv "PREFIX" (assoc-ref outputs "out"))
-                        (setenv "LDFLAGS" (string-append "-Wl,-rpath="
-                                               (assoc-ref
-                                                %outputs "out") "/lib"))
-                        (setenv "CC" "gcc"))
-                      %standard-phases)))
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys #:rest args)
+             (setenv "PREFIX" (assoc-ref outputs "out"))
+             (setenv "LDFLAGS"
+                     (string-append "-Wl,-rpath="
+                                    (assoc-ref %outputs "out") "/lib"))
+             (setenv "CC" "gcc"))))))
     (native-inputs `(("perl" ,perl))) ; for pod2man
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)
@@ -264,7 +266,7 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.67")
+    (version "2.4.68")
     (source
       (origin
         (method url-fetch)
@@ -273,8 +275,8 @@ rasterisation.")
                version
                ".tar.bz2"))
         (sha256
-          (base32
-            "1gnf206zs8dwszvkv4z2hbvh23045z0q29kms127bqrv27hp2nzf"))
+         (base32
+          "1px91j6imaaq2fy8ksvgldmv0cdz3w379jqiciqvqa99jajxjjsv"))
         (patches (search-patches "libdrm-symbol-check.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -514,21 +516,20 @@ include cursor in the resulting image.")
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no check target
-       #:phases (alist-delete
-                 'configure
-                 (alist-replace
-                  'install
-                  (lambda* (#:key inputs outputs #:allow-other-keys)
-                    (let* ((out  (assoc-ref outputs "out"))
-                           (bin  (string-append out "/bin"))
-                           (man1 (string-append out "/share/man/man1")))
-                      (mkdir-p bin)
-                      (mkdir-p man1)
-                      (zero?
-                       (system* "make" "install" "install.man"
-                                (string-append "BINDIR=" bin)
-                                (string-append "MANDIR=" man1)))))
-                  %standard-phases))))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (bin  (string-append out "/bin"))
+                    (man1 (string-append out "/share/man/man1")))
+               (mkdir-p bin)
+               (mkdir-p man1)
+               (zero?
+                 (system* "make" "install" "install.man"
+                          (string-append "BINDIR=" bin)
+                          (string-append "MANDIR=" man1)))))))))
     (inputs `(("libx11" ,libx11)))
     (home-page "http://ftp.x.org/contrib/utilities/")
     (synopsis "Hide idle mouse cursor")
@@ -939,7 +940,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
     (name "rofi")
-    (version "1.1.0")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/DaveDavenport/rofi/"
@@ -947,17 +948,17 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
                                   version "/rofi-" version ".tar.xz"))
               (sha256
                (base32
-                "1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"))))
+                "0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libx11" ,libx11)
-       ("pango" ,pango)
+     `(("pango" ,pango)
        ("cairo" ,cairo)
        ("glib" ,glib)
        ("startup-notification" ,startup-notification)
        ("libxkbcommon" ,libxkbcommon)
        ("libxcb" ,libxcb)
        ("xcb-util" ,xcb-util)
+       ("xcb-util-xrm" ,xcb-util-xrm)
        ("xcb-util-wm" ,xcb-util-wm)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -976,3 +977,88 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 applications you regularily use and also allows you to search for an application
 by name.")
     (license license:expat)))
+
+(define-public tint2
+  (package
+    (name "tint2")
+    (version "0.12.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://gitlab.com/o9000/" name
+                                  "/repository/archive.tar.gz?ref=" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0dv7zaj2ahnfclnwnwcz9arrvzxn65yy29z7fqdgifdh3jk1kl2h"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f                      ;no test target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-installation-prefix
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("/etc") "${CMAKE_INSTALL_PREFIX}/etc")))))))
+    (inputs
+     `(("gtk+" ,gtk+-2)
+       ("imlib2" ,imlib2)
+       ("librsvg" ,librsvg)
+       ("libxcomposite" ,libxcomposite)
+       ("libxdamage" ,libxdamage)
+       ("libxft" ,libxft)
+       ("libxinerama" ,libxinerama)
+       ("libxrandr" ,libxrandr)
+       ("startup-notification" ,startup-notification)))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://gitlab.com/o9000/tint2")
+    (synopsis "Lightweight task bar")
+    (description
+     "Tint2 is a simple task bar made for modern X window managers.  It was
+specifically made for Openbox but it should also work with other window
+managers (GNOME, KDE, XFCE etc.).
+
+The taskbar includes transparency and color settings for the font, icons,
+border, and background.  It also supports multihead setups, customized mouse
+actions, a built-in clock, a battery monitor and a system tray.")
+    (license license:gpl2)))
+
+(define-public xcb-util-xrm
+  (package
+    (name "xcb-util-xrm")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/Airblader/xcb-util-xrm/releases"
+                    "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Drop bundled m4.
+               '(delete-file-recursively "m4"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("m4" ,m4)
+       ("libx11" ,libx11))) ; for tests
+    (inputs
+     `(("libxcb" ,libxcb)
+       ("xcb-util" ,xcb-util)))
+    (home-page "https://github.com/Airblader/xcb-util-xrm")
+    (synopsis "XCB utility functions for the X resource manager")
+    (description
+     "The XCB util module provides a number of libraries which sit on
+top of libxcb, the core X protocol library, and some of the extension
+libraries.  These experimental libraries provide convenience functions
+and interfaces which make the raw X protocol more usable.  Some of the
+libraries also provide client-side code which is not strictly part of
+the X protocol but which has traditionally been provided by Xlib.
+
+XCB util-xrm module provides the following libraries:
+
+- xrm: utility functions for the X resource manager.")
+    (license license:x11)))