gnu: Add itpp.
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
index 06ed052..5afc495 100644 (file)
@@ -1,9 +1,9 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; 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 © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
@@ -15,6 +15,9 @@
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
+;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +38,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
@@ -50,6 +54,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
                                   "/files/" name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))))
+                "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Do not record a timestamp and file name in gzipped man
+               ;; pages (this is equivalent to 'gzip --no-name'.)
+               '(substitute* "setup.py"
+                  (("gzip\\.open\\(gzfile, 'w', 9\\)")
+                   "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)")))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2     ;incompatible with python 3
              #t)))))
     (inputs `(("pygtk" ,python2-pygtk)
               ("xrandr" ,xrandr)))
-    (native-inputs `(("gettext"           ,gnu-gettext)
-                     ("python-docutils"   ,python2-docutils)
-                     ("python-setuptools" ,python2-setuptools)))
+    (native-inputs `(("gettext"           ,gettext-minimal)
+                     ("python-docutils"   ,python2-docutils)))
     (home-page "https://christian.amsuess.com/tools/arandr/")
     (synopsis "Another RandR graphical user interface")
     ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
@@ -248,7 +259,8 @@ following the mouse.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))))
+                "13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))
+              (patches (search-patches "pixman-CVE-2016-5296.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("libpng" ,libpng)
@@ -262,11 +274,10 @@ manipulation, providing features such as image compositing and trapezoid
 rasterisation.")
     (license license:x11)))
 
-
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.67")
+    (version "2.4.68")
     (source
       (origin
         (method url-fetch)
@@ -275,8 +286,8 @@ rasterisation.")
                version
                ".tar.bz2"))
         (sha256
-          (base32
-            "1gnf206zs8dwszvkv4z2hbvh23045z0q29kms127bqrv27hp2nzf"))
+         (base32
+          "1px91j6imaaq2fy8ksvgldmv0cdz3w379jqiciqvqa99jajxjjsv"))
         (patches (search-patches "libdrm-symbol-check.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -430,7 +441,7 @@ of the screen selected by mouse.")
 (define-public slop
   (package
     (name "slop")
-    (version "4.3.21")
+    (version "5.3.37")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -439,15 +450,14 @@ of the screen selected by mouse.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0z0p4a3p5mc6fjh5f8js9ppb0maxyvfxpiw2n6nqc5nim1kv6bim"))))
+                "1p2ih123zkj8rxz8acsxpaim1kq57f4rbq7zqsibafn5rkw5c5is"))))
     (build-system cmake-build-system)
-    (arguments '(#:tests? #f))  ; no "check" target
+    (arguments
+     '(#:tests? #f)) ; no "check" target
     (inputs
-     `(("libx11" ,libx11)
-       ("libxrandr" ,libxrandr)
+     `(("glm" ,glm)
        ("libxext" ,libxext)
-       ("imlib2" ,imlib2)
-       ("glew" ,glew)
+       ("libxrender" ,libxrender)
        ("mesa" ,mesa)))
     (home-page "https://github.com/naelstrof/slop")
     (synopsis "Select a region and print its bounds to stdout")
@@ -462,7 +472,7 @@ selection's dimensions to stdout.")
 (define-public maim
   (package
     (name "maim")
-    (version "3.4.47")
+    (version "4.4.61")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -471,27 +481,20 @@ selection's dimensions to stdout.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0kfp7k55bxc5h6h0wv8bwmsc5ny66h9ra2z4dzs4yzszq16544pv"))))
+                "14jksv05xyydbpb9v8k3jgq7sl72bh356iapymg02vwg519i1d5k"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f              ; no "check" target
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-source
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((slop (string-append (assoc-ref inputs "slop")
-                                        "/bin/slop")))
-               ;; "slop" command is hardcoded in the source; replace it
-               ;; with the full file name.
-               (substitute* "src/main.cpp"
-                 (("^( +slopcommand.*)\"slop\"" all front)
-                  (string-append front "\"" slop "\"")))))))))
+     '(#:tests? #f))            ; no "check" target
     (inputs
-     `(("libx11" ,libx11)
-       ("libxrandr" ,libxrandr)
+     `(("glm" ,glm)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libpng" ,libpng)
+       ("libxcomposite" ,libxcomposite)
        ("libxfixes" ,libxfixes)
-       ("imlib2" ,imlib2)
-       ("slop" ,slop)))
+       ("libxrandr" ,libxrandr)
+       ("mesa" ,mesa)
+       ("slop" ,slop)
+       ("zlib" ,zlib)))
     (home-page "https://github.com/naelstrof/maim")
     (synopsis "Screenshot utility for X Window System")
     (description
@@ -601,7 +604,7 @@ X Window System.")
        ("libxt" ,libxt)
        ("libxext" ,libxext)
        ("libxinerama" ,libxinerama)))
-    (home-page "http://sourceforge.net/projects/libxosd/")
+    (home-page "https://sourceforge.net/projects/libxosd/")
     (synopsis "X On Screen Display")
     (description
      "XOSD provides a C library and a simple utility (osd_cat) for displaying
@@ -687,9 +690,47 @@ compact configuration syntax.")
      ;; This sets the destination when installing the necessary terminal
      ;; capability data, which are not provided by 'ncurses'.  See
      ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
-     '(#:make-flags (list (string-append "TERMINFO="
+     `(#:make-flags (list (string-append "TERMINFO="
                                          (assoc-ref %outputs "out")
-                                         "/share/terminfo"))))
+                                         "/share/terminfo"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-desktop-urxvt
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((output (assoc-ref outputs "out"))
+                    (desktop (string-append output "/share/applications")))
+               (mkdir-p desktop)
+               (with-output-to-file
+                   (string-append desktop "/urxvt.desktop")
+                 (lambda _
+                   (format #t
+                           "[Desktop Entry]~@
+                           Name=rxvt-unicode~@
+                           Comment=~@
+                           Exec=~a/bin/urxvt~@
+                           TryExec=~@*~a/bin/urxvt~@
+                           Icon=~@
+                           Type=Application~%"
+                           output)))
+               #t)))
+         (add-after 'install 'install-desktop-urxvtc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((output (assoc-ref outputs "out"))
+                    (desktop (string-append output "/share/applications")))
+               (mkdir-p desktop)
+               (with-output-to-file
+                   (string-append desktop "/urxvtc.desktop")
+                 (lambda _
+                   (format #t
+                           "[Desktop Entry]~@
+                           Name=rxvt-unicode~@
+                           Comment=Rxvt clone with XFT and unicode support~@
+                           Exec=~a/bin/urxvtc~@
+                           TryExec=~@*~a/bin/urxvtc~@
+                           Icon=~@
+                           Type=Application~%"
+                           output)))
+               #t))))))
     (inputs
      `(("libXft" ,libxft)
        ("libX11" ,libx11)))
@@ -716,7 +757,7 @@ within a single process.")
 (define-public xcape
   (package
     (name "xcape")
-    (version "1.1")
+    (version "1.2")
     (source
       (origin
         (method url-fetch)
@@ -725,7 +766,7 @@ within a single process.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0jkdiaxc6sryrbibdgi2y1c48n4l9xyazhxr16l6h4ibddx95bk9"))))
+            "0898zc3vwxia00h9kfknpf7jygxgwggrx8v5mxc31w4lzn2dhzm2"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no check target
@@ -749,14 +790,14 @@ Escape key when Left Control is pressed and released on its own.")
 (define-public libwacom
   (package
     (name "libwacom")
-    (version "0.12")
+    (version "0.23")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "022d0097dk2glgb6772zpcsqm1w42sbsbr3i72pdhzq6naqawys8"))))
+                "0qiikh95b9crybkwgcbbv9y80hb7lsbvvmvaia4gbgbdyagwb2m0"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -781,7 +822,7 @@ Wacom tablet applet.")
 (define-public xf86-input-wacom
   (package
     (name "xf86-input-wacom")
-    (version "0.29.0")
+    (version "0.34.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -789,7 +830,7 @@ Wacom tablet applet.")
                     name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "15lbzjkaf690i69qy0n0ibwczbclqq1nx0418c6a567by5v7wl48"))))
+                "0idhkigl0pnyp08sqm6bqfb4h20v6rjrb71z1gdv59gk7d7qwpgi"))))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -837,7 +878,6 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
        ("libxxf86vm" ,libxxf86vm)
-       ("libjpeg" ,libjpeg)
        ("glib" ,glib)))                           ;for Geoclue2 support
     (home-page "https://github.com/jonls/redshift")
     (synopsis "Adjust the color temperature of your screen")
@@ -852,7 +892,7 @@ color temperature should be set to match the lamps in your room.")
 (define-public xscreensaver
   (package
     (name "xscreensaver")
-    (version "5.35")
+    (version "5.36")
     (source
      (origin
        (method url-fetch)
@@ -861,7 +901,7 @@ color temperature should be set to match the lamps in your room.")
                        version ".tar.gz"))
        (sha256
         (base32
-         "08kbb0ry7ih436ab4i5g6lnhaaz13zkcdmbdibrn4j5gm5qq8v0y"))))
+         "0v60mdhvv42jla5hljp77igng11kxpah5fs9j7ci65kz0hw552vb"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f  ; no check target
@@ -913,7 +953,7 @@ demos.  It also acts as a nice screen locker.")
     (license (license:non-copyleft
               (string-append
                "http://metadata.ftp-master.debian.org/changelogs/"
-               "/main/x/xscreensaver/xscreensaver_5.34-2_copyright")))))
+               "/main/x/xscreensaver/xscreensaver_5.36-1_copyright")))))
 
 (define-public xdpyprobe
   (package
@@ -940,7 +980,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
     (name "rofi")
-    (version "1.1.0")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/DaveDavenport/rofi/"
@@ -948,22 +988,23 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
                                   version "/rofi-" version ".tar.xz"))
               (sha256
                (base32
-                "1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"))))
+                "1s47biv6d68nblpz6d3aklsar1xxxcilzr4y77v3hz2w1wbz2b5m"))))
     (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)))
     (arguments
-     `(#:phases
+     `(#:parallel-tests? #f ; May fail in some circumstances.
+       #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'adjust-tests
            (lambda _
@@ -1010,7 +1051,7 @@ by name.")
        ("libxrandr" ,libxrandr)
        ("startup-notification" ,startup-notification)))
     (native-inputs
-     `(("gettext" ,gnu-gettext)
+     `(("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
     (home-page "https://gitlab.com/o9000/tint2")
     (synopsis "Lightweight task bar")
@@ -1024,10 +1065,61 @@ 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 dzen
+  (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
+        (revision "1"))
+    (package
+     (name "dzen")
+     (version (string-append "0.9.5-" ; Taken from `config.mk`.
+                             revision "." (string-take commit 7)))
+     (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/robm/dzen.git")
+                    (commit commit)))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+     (build-system gnu-build-system)
+     (arguments
+      `(#:tests? #f ; No test suite.
+        #:make-flags ; Replacement for `config.mk`.
+        (list
+         (string-append "VERSION = " ,version)
+         (string-append "PREFIX = " %output)
+         "MANPREFIX = ${PREFIX}/share/man"
+         "INCS = -I."
+         "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
+         "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
+         -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
+         "LDFLAGS = ${LIBS}"
+         "CC = gcc"
+         "LD = ${CC}")
+        #:phases
+        (modify-phases %standard-phases
+          (delete 'configure) ; No configuration script.
+          ;; Use own make-flags instead of `config.mk`.
+          (add-before 'build 'dont-include-config-mk
+            (lambda _
+              (substitute* "Makefile" (("include config.mk") ""))
+              #t)))))
+     (inputs
+      `(("libx11"      ,libx11)
+        ("libxft"      ,libxft)
+        ("libxpm"      ,libxpm)
+        ("libxinerama" ,libxinerama)))
+     (native-inputs `(("pkg-config" ,pkg-config)))
+     (synopsis "General purpose messaging, notification and menuing program for X11")
+     (description "Dzen is a general purpose messaging, notification and menuing
+program for X11.  It was designed to be fast, tiny and scriptable in any language.")
+     (home-page "https://github.com/robm/dzen")
+     (license license:expat))))
+
 (define-public xcb-util-xrm
   (package
     (name "xcb-util-xrm")
-    (version "1.0")
+    (version "1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1035,7 +1127,7 @@ actions, a built-in clock, a battery monitor and a system tray.")
                     "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
               (sha256
                (base32
-                "1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"))
+                "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp"))
               (modules '((guix build utils)))
               (snippet
                ;; Drop bundled m4.
@@ -1062,3 +1154,43 @@ XCB util-xrm module provides the following libraries:
 
 - xrm: utility functions for the X resource manager.")
     (license license:x11)))
+
+(define-public xcalib
+  (package
+    (name "xcalib")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/xcalib/xcalib/" version
+                                  "/xcalib-source-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rh6xb51c5xz926dnn82a2fn643g0sr4a8z66rn6yi7523kjw4ca"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags '("CC=gcc")
+       #:tests? #f   ; No test suite
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (bin (string-append out "/bin")))
+                        (install-file "xcalib" bin))))
+                  (add-after 'install 'install-doc
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((doc (string-append(assoc-ref outputs "out")
+                                               "/share/doc/xcalib")))
+                        (install-file "README" doc)
+                        ;; Avoid unspecified return value.
+                        #t))))))
+    (inputs `(("libx11", libx11)
+              ("libxext", libxext)
+              ("libxxf86vm", libxxf86vm)))
+    (synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
+    (description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
+profiles to the video card's gamma ramp.  It does work with most video card
+drivers except the generic VESA driver.  Alter brightness, contrast, RGB, and
+invert colors on a specific display/screen.")
+    (home-page "http://xcalib.sourceforge.net/")
+    (license license:gpl2)))