summary refs log tree commit diff
path: root/gnu/packages/xdisorg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xdisorg.scm')
-rw-r--r--gnu/packages/xdisorg.scm341
1 files changed, 341 insertions, 0 deletions
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
new file mode 100644
index 0000000000..6820d018e3
--- /dev/null
+++ b/gnu/packages/xdisorg.scm
@@ -0,0 +1,341 @@
+;;; 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 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages xdisorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages xorg))
+
+;; packages outside the x.org system proper
+
+(define-public xclip
+  (package
+    (name "xclip")
+    (version "0.12")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "mirror://sourceforge/" name "/" name "-" version ".tar.gz"))
+        (sha256
+          (base32
+           "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f))   ; There is no test suite
+    (inputs `(("libxmu" ,libxmu)
+              ("libxt" ,libxt)))
+    (home-page "http://xclip.sourceforge.net/")
+    (synopsis "Command line interface to X11 clipboard")
+    (description "Xclip is a command line interface to the X11 clipboard.  It
+can also be used for copying files, as an alternative to sftp/scp, thus
+avoiding password prompts when X11 forwarding has already been setup.")
+    (license license:gpl2+)))
+
+(define-public xeyes
+  (package
+    (name "xeyes")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
+               version
+               ".orig.tar.gz"))
+        (sha256
+          (base32
+            "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
+    (build-system gnu-build-system)
+    (inputs
+      `(("libxext" ,libxext)
+        ("libxmu" ,libxmu)
+        ("libxt" ,libxt)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://xeyes.sourcearchive.com/")
+    (synopsis "Follow-the-mouse X demo")
+    (description "Xeyes is a demo program for x.org.  It shows eyes
+following the mouse.")
+    (license license:x11)))
+
+
+(define-public pixman
+  (package
+    (name "pixman")
+    (version "0.32.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "http://cairographics.org/releases/pixman-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32
+           "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
+    (build-system gnu-build-system)
+    (inputs
+      `(("libpng" ,libpng)
+        ("zlib" ,zlib)))
+    (native-inputs
+      `(("pkg-config" ,pkg-config)))
+    (home-page "http://www.pixman.org/")
+    (synopsis "Low-level pixel manipulation library")
+    (description "Pixman is a low-level software library for pixel
+manipulation, providing features such as image compositing and trapezoid
+rasterisation.")
+    (license license:x11)))
+
+
+(define-public libdrm
+  (package
+    (name "libdrm")
+    (version "2.4.46")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "http://dri.freedesktop.org/libdrm/libdrm-"
+               version
+               ".tar.bz2"))
+        (sha256
+          (base32
+            "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
+    (build-system gnu-build-system)
+    (inputs
+      `(("libpciaccess" ,libpciaccess)
+        ("libpthread-stubs" ,libpthread-stubs)))
+    (native-inputs
+       `(("pkg-config" ,pkg-config)))
+    (home-page "http://dri.freedesktop.org/wiki/")
+    (synopsis "Direct rendering userspace library")
+    (description "The Direct Rendering Infrastructure, also known as the DRI,
+is a framework for allowing direct access to graphics hardware under the
+X Window System in a safe and efficient manner.  It includes changes to the
+X server, to several client libraries, and to the kernel (DRM, Direct
+Rendering Manager).  The most important use for the DRI is to create fast
+OpenGL implementations providing hardware acceleration for Mesa.
+Several 3D accelerated drivers have been written to the DRI specification,
+including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
+and Matrox.")
+    (license license:x11)))
+
+
+;; old version, required by old mesa, see
+;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html
+(define-public libdrm-2.4.33
+  (package (inherit libdrm)
+    (version "2.4.33")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "http://dri.freedesktop.org/libdrm/libdrm-"
+               version
+               ".tar.bz2"))
+        (sha256
+          (base32
+            "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"))))
+    (arguments
+      `(#:configure-flags
+         ;; create libdrm_nouveau.so, needed by mesa, see
+         ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261
+         `("--enable-nouveau-experimental-api")))))
+
+
+(define-public mtdev
+  (package
+    (name "mtdev")
+    (version "1.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "http://bitmath.org/code/mtdev/mtdev-"
+               version ".tar.bz2"))
+        (sha256
+          (base32
+            "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d"))))
+    (build-system gnu-build-system)
+    (home-page "http://bitmath.org/code/mtdev/")
+    (synopsis "Multitouch protocol translation library")
+    (description "Mtdev is a stand-alone library which transforms all
+variants of kernel MT events to the slotted type B protocol.  The events
+put into mtdev may be from any MT device, specifically type A without
+contact tracking, type A with contact tracking, or type B with contact
+tracking.")
+    (license license:x11)))
+
+(define-public startup-notification
+  (package
+    (name "startup-notification")
+    (version "0.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.freedesktop.org/software/" name
+                           "/releases/" name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("xcb-util" ,xcb-util)))
+    (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/")
+    (synopsis "Application startup notification and feedback library")
+    (description
+     "Startup-notification contains a reference implementation of the startup
+notification protocol.  The reference implementation is mostly under an X Window
+System style license, and has no special dependencies.")
+    ;; Most of the code is provided under x11 license.
+    (license license:lgpl2.0+)))
+
+(define-public wmctrl
+  (package
+    (name "wmctrl")
+    (version "1.07")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://tomas.styblo.name/wmctrl/dist/wmctrl-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
+              (patches (list (search-patch "wmctrl-64-fix.patch")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       (list (string-append "--mandir="
+                            (assoc-ref %outputs "out")
+                            "/share/man"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxmu" ,libxmu)
+       ("glib" ,glib)))
+    (home-page "http://tomas.styblo.name/wmctrl/")
+    (synopsis "Command-line tool to control X window managers")
+    (description
+     "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.)")
+    (license license:gpl2+)))
+
+(define-public scrot
+  (package
+    (name "scrot")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://linuxbrit.co.uk/downloads/scrot-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
+    (build-system gnu-build-system)
+    (arguments
+     ;; By default, man and doc are put in PREFIX/{man,doc} instead of
+     ;; PREFIX/share/{man,doc}.
+     '(#:configure-flags
+       (list (string-append "--mandir="
+                            (assoc-ref %outputs "out")
+                            "/share/man"))
+       #:phases (alist-replace
+                 'install
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let* ((out (assoc-ref outputs "out"))
+                          (doc (string-append out "/share/doc/scrot")))
+                     (mkdir-p doc)
+                     (zero?
+                      (system* "make" "install"
+                               (string-append "docsdir=" doc)))))
+                 %standard-phases)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("giblib" ,giblib)))
+    (home-page "http://linuxbrit.co.uk/software/")
+    (synopsis "Command-line screen capture utility for X Window System")
+    (description
+     "Scrot allows to save a screenshot of a full screen, a window or a part
+of the screen selected by mouse.")
+    ;; This license removes a clause about X Consortium from the original
+    ;; X11 license.
+    (license (license:x11-style "file://COPYING"
+                                "See 'COPYING' in the distribution."))))
+
+(define-public unclutter
+  (package
+    (name "unclutter")
+    (version "8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://ftp.x.org/contrib/utilities/unclutter-"
+                    version ".tar.Z"))
+              (sha256
+               (base32
+                "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq"))))
+    (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))))
+    (inputs `(("libx11" ,libx11)))
+    (home-page "http://ftp.x.org/contrib/utilities/")
+    (synopsis "Hide idle mouse cursor")
+    (description
+     "Unclutter is a program which runs permanently in the background of an
+X11 session.  It checks on the X11 pointer (cursor) position every few
+seconds, and when it finds it has not moved (and no buttons are pressed
+on the mouse, and the cursor is not in the root window) it creates a
+small sub-window as a child of the window the cursor is in.  The new
+window installs a cursor of size 1x1 but a mask of all 0, i.e. an
+invisible cursor.  This allows you to see all the text in an xterm or
+xedit, for example.  The human factors crowd would agree it should make
+things less distracting.")
+    (license license:public-domain)))