Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
index b485632..9fd9f4a 100644 (file)
@@ -1,9 +1,12 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
+;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,7 +27,9 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages image)
@@ -32,6 +37,9 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages xorg))
 
 ;; packages outside the x.org system proper
@@ -76,8 +84,8 @@ avoiding password prompts when X11 forwarding has already been setup.")
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; Test suite requires a lot of black magic
-       #:phases 
-       (alist-replace 'configure 
+       #:phases
+       (alist-replace 'configure
                       (lambda* (#:key outputs #:allow-other-keys #:rest args)
                         (setenv "PREFIX" (assoc-ref outputs "out"))
                         (setenv "LDFLAGS" (string-append "-Wl,-rpath="
@@ -271,7 +279,7 @@ System style license, and has no special dependencies.")
      "Wmctrl allows to interact with an X window manager that is compatible
 with the EWMH/NetWM specification.  It can query the window manager for
 information, and request for certain window management actions (resize and
-move windows, switch between desktops, etc.)")
+move windows, switch between desktops, etc.).")
     (license license:gpl2+)))
 
 (define-public scrot
@@ -389,6 +397,195 @@ things less distracting.")
     (description
      "XLockMore is a classic screen locker and screen saver for the
 X Window System.")
-    (license (license:bsd-style #f "See xlock.c.")
+    (license (license:non-copyleft #f "See xlock.c.")
              ;; + GPLv2 in modes/glx/biof.c.
              )))
+
+(define-public xosd
+  (package
+    (name "xosd")
+    (version "2.2.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/libxosd/xosd-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append "--mandir=" %output "/share/man"))))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxt" ,libxt)
+       ("libxext" ,libxext)
+       ("libxinerama" ,libxinerama)))
+    (home-page "http://sourceforge.net/projects/libxosd/")
+    (synopsis "X On Screen Display")
+    (description
+     "XOSD provides a C library and a simple utility (osd_cat) for displaying
+transparent text on your screen.")
+    (license license:gpl2+)))
+
+(define-public xbindkeys
+  (package
+    (name "xbindkeys")
+    (version "1.8.6")
+    (source (origin
+              (method url-fetch)
+              ;; Download from the savannah mirror list fails
+              (uri (string-append
+                    "http://www.nongnu.org/xbindkeys/xbindkeys-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libx11" ,libx11)
+       ("guile" ,guile-2.0)))
+    (home-page "http://www.nongnu.org/xbindkeys/")
+    (synopsis "Associate a combination of keys with a shell command")
+    (description
+     "XBindKeys is a program that allows you to launch shell commands with
+your keyboard or your mouse under the X Window System.  It links commands to
+keys or mouse buttons, using a configuration file.  It's independent of the
+window manager and can capture all keyboard keys (ex: Power, Wake...).  It
+optionally supports a Guile-based configuration file layout, which enables you
+to access all XBindKeys internals, so you can have key combinations, double
+clicks or timed double clicks take actions.  Also all functions that work in
+Guile will work for XBindKeys.")
+    (license license:gpl2+)))
+
+(define-public rxvt-unicode
+  (package
+    (name "rxvt-unicode")
+    (version "9.21")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "http://dist.schmorp.de/rxvt-unicode/"
+              name "-"
+              version
+              ".tar.bz2"))
+        (sha256
+          (base32
+            "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libXft" ,libxft)
+       ("libX11" ,libx11)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
+    (synopsis "Rxvt clone with XFT and unicode support")
+    (description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
+intended as an xterm replacement for users who do not require features such as
+Tektronix 4014 emulation and toolkit-style configurability.  It supports
+unicode, XFT and may be extended with Perl plugins.  It also comes with a
+client/daemon pair that lets you open any number of terminal windows from
+within a single process.")
+    (license license:gpl3+)))
+
+(define-public xcape
+  (package
+    (name "xcape")
+    (version "1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/alols/" name
+                            "/archive/v" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0jkdiaxc6sryrbibdgi2y1c48n4l9xyazhxr16l6h4ibddx95bk9"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no check target
+       #:phases (alist-delete 'configure %standard-phases) ; no configure script
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                          "MANDIR=/share/man/man1"
+                          "CC=gcc")))
+    (inputs
+     `(("libxtst" ,libxtst)
+       ("libx11" ,libx11)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://github.com/alols/xcape")
+    (synopsis "Use a modifier key in X.org as another key")
+    (description
+     "This utility for X.org allows to use modifier key as another key when
+pressed and released on its own.  The default behaviour is to generate the
+Escape key when Left Control is pressed and released on its own.")
+    (license license:gpl3+)))
+
+(define-public libwacom
+  (package
+    (name "libwacom")
+    (version "0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "022d0097dk2glgb6772zpcsqm1w42sbsbr3i72pdhzq6naqawys8"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("eudev" ,eudev)
+       ("libxml2" ,libxml2)))
+    (home-page "http://linuxwacom.sourceforge.net/")
+    (synopsis "Helper library for Wacom tablet settings")
+    (description
+     "Libwacom is a library to help implement Wacom tablet settings.  It
+is intended to be used by client-programs that need model identification.  It
+is already being used by the gnome-settings-daemon and the GNOME 3.4 Control
+Center Wacom tablet applet.  In the future, the xf86-input-wacom driver may
+use it as well.")
+    (license license:x11)))
+
+(define-public xf86-input-wacom
+  (package
+    (name "xf86-input-wacom")
+    (version "0.29.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/linuxwacom/xf86-input-wacom/"
+                    name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "15lbzjkaf690i69qy0n0ibwczbclqq1nx0418c6a567by5v7wl48"))))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-sdkdir="
+                            (assoc-ref %outputs "out")
+                            "/include/xorg")
+             (string-append "--with-xorg-conf-dir="
+                            (assoc-ref %outputs "out")
+                            "/share/X11/xorg.conf.d"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("xorg-server" ,xorg-server)
+       ("libxrandr" ,libxrandr)
+       ("libxinerama" ,libxinerama)
+       ("libxi" ,libxi)
+       ("eudev" ,eudev)))
+    (home-page "http://linuxwacom.sourceforge.net/")
+    (synopsis "Wacom input driver for X")
+    (description
+     "The xf86-input-wacom driver is the wacom-specific X11 input driver for
+the X.Org X Server version 1.7 and later (X11R7.5 or later).")
+    (license license:x11)))