;;; 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, 2015 Alex Kost <alezost@gmail.com>
+;;; 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 Alexander I.Grafov <grafov@gmail.com>
+;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
+;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
+;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
+;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
+ #: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 ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
#:use-module (gnu packages linux)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages bison))
;; packages outside the x.org system proper
+(define-public arandr
+ (package
+ (name "arandr")
+ (version "0.1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://christian.amsuess.com/tools/" name
+ "/files/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d574mbmhaqmh7kivaryj2hpghz6xkvic9ah43s1hf385y7c33kd"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2 ;incompatible with python 3
+ #:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'make-xrandr-available
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/arandr")
+ `("PATH" ":" prefix (,(string-append (assoc-ref inputs "xrandr")
+ "/bin"))))
+ #t)))))
+ (inputs `(("pygtk" ,python2-pygtk)
+ ("xrandr" ,xrandr)))
+ (native-inputs `(("gettext" ,gnu-gettext)
+ ("python-docutils" ,python2-docutils)
+ ("python-setuptools" ,python2-setuptools)))
+ (home-page "https://christian.amsuess.com/tools/arandr/")
+ (synopsis "Another RandR graphical user interface")
+ ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
+ (description "ARandR is designed to provide a simple visual front end for
+the X11 resize-and-rotate (RandR) extension. Relative monitor positions are
+shown graphically and can be changed in a drag-and-drop way. Configurations
+are saved as executable shell scripts which can be loaded without using this
+program.")
+ (license license:gpl3+)))
+
(define-public xclip
(package
(name "xclip")
avoiding password prompts when X11 forwarding has already been setup.")
(license license:gpl2+)))
+(define-public libxkbcommon
+ (package
+ (name "libxkbcommon")
+ (version "0.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://xkbcommon.org/download/" name "-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxcb" ,libxcb)
+ ("xkeyboard-config" ,xkeyboard-config)))
+ (native-inputs
+ `(("bison" ,bison)
+ ("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-xkb-config-root="
+ (assoc-ref %build-inputs "xkeyboard-config")
+ "/share/X11/xkb")
+ (string-append "--with-x-locale-root="
+ (assoc-ref %build-inputs "libx11")
+ "/share/X11/locale"))))
+ (home-page "http://xkbcommon.org/")
+ (synopsis "Library to handle keyboard descriptions")
+ (description "Xkbcommon is a library to handle keyboard descriptions,
+including loading them from disk, parsing them and handling their
+state. It is mainly meant for client toolkits, window systems, and other
+system applications; currently that includes Wayland, kmscon, GTK+, Qt,
+Clutter, and more. Despite the name, it is not currently used by anything
+X11 (yet).")
+ (license (license:x11-style "file://COPYING"
+ "See 'COPYING' in the distribution."))))
+
(define-public xdotool
(package
(name "xdotool")
- (version "2.20110530.1")
+ (version "3.20150503.1")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://semicomplete.googlecode.com/files/" name "-"
- version ".tar.gz"))
+ "https://github.com/jordansissel/xdotool/releases/download/v"
+ version "/xdotool-" version ".tar.gz"))
(sha256
(base32
- "0rxggg1cy7nnkwidx8x2w3c5f3pk6dh2b6q0q7hp069r3n5jrd77"))))
+ "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
+ (patches (search-patches "xdotool-fix-makefile.patch"))))
(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="
("libxext" ,libxext)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
- ("libxtst" ,libxtst)))
+ ("libxtst" ,libxtst)
+ ("libxkbcommon" ,libxkbcommon)))
(home-page "http://www.semicomplete.com/projects/xdotool")
(synopsis "Fake keyboard/mouse input, window management, and more")
(description "Xdotool lets you simulate keyboard input and mouse activity,
(define-public pixman
(package
(name "pixman")
- (version "0.32.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://cairographics.org/releases/pixman-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix"))))
+ (version "0.34.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://cairographics.org/releases/pixman-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))))
(build-system gnu-build-system)
(inputs
- `(("libpng" ,libpng)
- ("zlib" ,zlib)))
+ `(("libpng" ,libpng)
+ ("zlib" ,zlib)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("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
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.58")
+ (version "2.4.65")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://dri.freedesktop.org/libdrm/libdrm-"
+ "https://dri.freedesktop.org/libdrm/libdrm-"
version
".tar.bz2"))
(sha256
(base32
- "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi"))))
+ "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki"))
+ (patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(inputs
`(("libpciaccess" ,libpciaccess)
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.freedesktop.org/software/" name
+ (uri (string-append "https://www.freedesktop.org/software/" name
"/releases/" name "-" version ".tar.gz"))
(sha256
(base32
(source (origin
(method url-fetch)
(uri (string-append
- "http://tomas.styblo.name/wmctrl/dist/wmctrl-"
+ "https://sites.google.com/site/tstyblo/wmctrl/wmctrl-"
version ".tar.gz"))
(sha256
(base32
"1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np"))
- (patches (list (search-patch "wmctrl-64-fix.patch")))))
+ (patches (search-patches "wmctrl-64-fix.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
"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
(license (license:x11-style "file://COPYING"
"See 'COPYING' in the distribution."))))
+(define-public slop
+ (package
+ (name "slop")
+ (version "4.3.21")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/naelstrof/slop/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0z0p4a3p5mc6fjh5f8js9ppb0maxyvfxpiw2n6nqc5nim1kv6bim"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ; no "check" target
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxrandr" ,libxrandr)
+ ("libxext" ,libxext)
+ ("imlib2" ,imlib2)
+ ("glew" ,glew)
+ ("mesa" ,mesa)))
+ (home-page "https://github.com/naelstrof/slop")
+ (synopsis "Select a region and print its bounds to stdout")
+ (description
+ "slop (Select Operation) is a tool that queries for a selection from a
+user and prints the region to stdout. It grabs the mouse and turns it into a
+crosshair, lets the user click and drag to make a selection (or click on a
+window) while drawing a pretty box around it, then finally prints the
+selection's dimensions to stdout.")
+ (license license:gpl3+)))
+
+(define-public maim
+ (package
+ (name "maim")
+ (version "3.4.47")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/naelstrof/maim/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kfp7k55bxc5h6h0wv8bwmsc5ny66h9ra2z4dzs4yzszq16544pv"))))
+ (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 "\"")))))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxrandr" ,libxrandr)
+ ("libxfixes" ,libxfixes)
+ ("imlib2" ,imlib2)
+ ("slop" ,slop)))
+ (home-page "https://github.com/naelstrof/maim")
+ (synopsis "Screenshot utility for X Window System")
+ (description
+ "maim (Make Image) is a tool that takes screenshots of your desktop and
+saves it in any format. Along with a full screen, it allows you to capture a
+predefined region or a particular window. Also, it makes it possible to
+include cursor in the resulting image.")
+ (license license:gpl3+)))
+
(define-public unclutter
(package
(name "unclutter")
(define-public xlockmore
(package
(name "xlockmore")
- (version "5.45")
+ (version "5.46")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.tux.org/~bagleyd/xlock/xlockmore-"
- version "/xlockmore-" version ".tar.bz2"))
+ (uri (list (string-append
+ "http://www.tux.org/~bagleyd/xlock/xlockmore-"
+ version ".tar.xz")
+ (string-append
+ "http://www.tux.org/~bagleyd/xlock/xlockmore-old"
+ "/xlockmore-" version
+ "/xlockmore-" version ".tar.bz2")))
(sha256
(base32
- "1xqm61bbfn5q056w57vp16gvai8nqpcw570ysxlm5h46nh6ai0bz"))))
+ "1ps0dmnh912x8mwns94y2607xk90rjxrjn5s1pkmmpjg5h9bxcrj"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "--enable-appdefaultdir="
(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.
)))
"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 sxhkd
+ (package
+ (name "sxhkd")
+ (version "0.5.5")
+ (source
+ (origin
+ (file-name (string-append name "-" version ".tar.gz"))
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/baskerville/sxhkd/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04s3y2bq9502gw72jj3y2zsh96yj3qg2av3zsa8ahd2farvrysg6"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("asciidoc" ,asciidoc)
+ ("libxcb" ,libxcb)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)
+ ("xcb-util-wm" ,xcb-util-wm)))
+ (arguments
+ '(#:phases (alist-delete 'configure %standard-phases)
+ #:tests? #f ; no check target
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))))
+ (home-page "https://github.com/baskerville/sxhkd")
+ (synopsis "Simple X hotkey daemon")
+ (description "sxhkd is a simple X hotkey daemon with a powerful and
+compact configuration syntax.")
+ (license license:bsd-2)))
+
+(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/Attic/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; 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="
+ (assoc-ref %outputs "out")
+ "/share/terminfo"))))
+ (inputs
+ `(("libXft" ,libxft)
+ ("libX11" ,libx11)))
+ (native-inputs
+ `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
+ ;; provided for usability reasons. See <https://bugs.gnu.org/22138>.
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TERMINFO_DIRS")
+ (files '("share/terminfo")))))
+ (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
+ `(("gtk+" ,gtk+)
+ ("libgudev" ,libgudev)
+ ("eudev" ,eudev)
+ ("libxml2" ,libxml2)))
+ (propagated-inputs
+ ;; libwacom includes header files that include GLib, and libinput uses
+ ;; those header files.
+ `(("glib" ,glib)))
+ (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 Control Center
+Wacom tablet applet.")
+ (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)))
+
+(define-public redshift
+ (package
+ (name "redshift")
+ (version "1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/jonls/redshift/"
+ "releases/download/v" version
+ "/redshift-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (inputs
+ `(("libdrm" ,libdrm)
+ ("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")
+ (description
+ "Redshift adjusts the color temperature according to the position of the
+sun. A different color temperature is set during night and daytime. During
+twilight and early morning, the color temperature transitions smoothly from
+night to daytime temperature to allow your eyes to slowly adapt. At night the
+color temperature should be set to match the lamps in your room.")
+ (license license:gpl3+)))
+
+(define-public xscreensaver
+ (package
+ (name "xscreensaver")
+ (version "5.34")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "09sy5v8bn62hiq4ib3jyvp8lipqcvn3rdsj74q25qgklpv27xzvg"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'adjust-gtk-resource-paths
+ (lambda _
+ (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
+ (("@GTK_DATADIR@") "@datadir@")
+ (("@PO_DATADIR@") "@datadir@")))))
+ #:configure-flags '("--with-pam" "--with-proc-interrupts"
+ "--without-readdisplay")
+ #:make-flags (list (string-append "AD_DIR="
+ (assoc-ref %outputs "out")
+ "/usr/lib/X11/app-defaults"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxi" ,libxi)
+ ("libxt" ,libxt)
+ ("libxft" ,libxft)
+ ("libxmu" ,libxmu)
+ ("libxpm" ,libxpm)
+ ("libglade" ,libglade)
+ ("libxml2" ,libxml2)
+ ("libsm" ,libsm)
+ ("libjpeg" ,libjpeg)
+ ("linux-pam" ,linux-pam)
+ ("pango" ,pango)
+ ("gtk+" ,gtk+)
+ ("perl" ,perl)
+ ("cairo" ,cairo)
+ ("bc" ,bc)
+ ("libxrandr" ,libxrandr)
+ ("glu" ,glu)
+ ("glib" ,glib)))
+ (home-page "https://www.jwz.org/xscreensaver/")
+ (synopsis "Classic screen saver suite supporting screen locking")
+ (description
+ "xscreensaver is a popular screen saver collection with many entertaining
+demos. It also acts as a nice screen locker.")
+ ;; xscreensaver doesn't have a single copyright file and instead relies on
+ ;; source comment headers, though most files have the same lax
+ ;; permissions. To reduce complexity, we're pointing at Debian's
+ ;; breakdown of the copyright information.
+ (license (license:non-copyleft
+ (string-append
+ "http://metadata.ftp-master.debian.org/changelogs/"
+ "/main/x/xscreensaver/xscreensaver_5.34-2_copyright")))))