;;; 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>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
-;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;;
;;; This file is part of GNU Guix.
;;;
#: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 meson)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages base)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages m4)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages linux)
#:use-module (gnu packages gl)
#:use-module (gnu packages guile)
program.")
(license license:gpl3+)))
+(define-public autorandr
+ ;; Use latest commit since 1.7 lacks many new features such as the
+ ;; autorandr_launcher.
+ (let ((commit "b484c0ea9c9a4838278bbd661a7cc384333c1df8"))
+ (package
+ (name "autorandr")
+ (version (git-version "1.7" "1" commit))
+ (home-page "https://github.com/phillipberndt/autorandr")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0da17kzsisjv3s993j5idkk1n2d2cvjdn7pngs2b0ic1r2h5z02h"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("man-db" ,man-db)))
+ (inputs
+ `(("xrandr" ,xrandr)
+ ("libxcb" ,libxcb)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "autorandr.py"
+ (("popen\\(\"xrandr") (string-append "popen(\""
+ (assoc-ref inputs "xrandr")
+ "/bin/xrandr"))
+ (("\\[\"xrandr") (string-append "[\""
+ (assoc-ref inputs "xrandr")
+ "/bin/xrandr")))
+ #t))
+ (add-after 'install 'install-contrib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make"
+ (string-append "DESTDIR=" (assoc-ref outputs "out"))
+ "PREFIX="
+ "BASH_COMPLETIONS_DIR=etc/bash_completiond.d"
+ "install_manpage"
+ "install_bash_completion"
+ "install_launcher"))))))
+ (synopsis "Auto-detect connected displays and load appropiate setup")
+ (description "Autorandr wraps around xrandr to help with X11
+multi-screen configuration management. It allows the user to create profiles
+for various multi-screen setups. Autorandr automatically detects the profiles
+that can be activated based on the connected hardware. Hook scripts can be
+used to further tweak the behaviour of the different profiles.")
+ (license license:gpl3+))))
+
(define-public xclip
(package
(name "xclip")
(version "0.13")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/astrand/xclip"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0n7pczk9vv30zf8qfln8ba3hnif9yfdxg0m84djac469wc28hnya"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/astrand/xclip.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q0hmvcjlv8arhh1pzhja2wglyj6n7z209jnpnzd281kqqv4czcs"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ;there is no test suite
(define-public libxkbcommon
(package
(name "libxkbcommon")
- (version "0.8.2")
+ (version "0.8.4")
(source (origin
(method url-fetch)
- (uri (string-append "https://xkbcommon.org/download/" name "-"
+ (uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
version ".tar.xz"))
(sha256
(base32
- "136mdq11lrwg6rjmm44lmysxxgb9c35p4sq6k0cd129x82rw9f3s"))))
+ "12vc91ydhphd5sddz15560r41l7k0i7mq6nma8kkbzdp6bwwzpb0"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
(mkdir-p (string-append out "/lib"))
(setenv "PREFIX" out)
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
- (setenv "CC" "gcc")))))))
+ (setenv "CC" "gcc")
+ #t))))))
(native-inputs `(("perl" ,perl))) ; for pod2man
(inputs `(("libx11" ,libx11)
("libxext" ,libxext)
(define-public pixman
(package
(name "pixman")
- (version "0.34.0")
+ (version "0.36.0")
(source (origin
(method url-fetch)
(uri (string-append
- "http://cairographics.org/releases/pixman-"
+ "https://www.cairographics.org/releases/pixman-"
version ".tar.gz"))
(sha256
(base32
- "13m842m9ffac3m9r0b4lvwjhwzg3w4353djkjpf00s0wnm4v5di1"))
+ "1blzrx50ssdv0pn56hcv2v0zw0vrjwj1sx22pkgjls1p9n6rr88w"))
(patches (search-patches "pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system)
(inputs
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.93")
+ (version "2.4.97")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"))
+ "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments
("armhf-linux"
'("--enable-exynos-experimental-api"
"--enable-omap-experimental-api"
- ;; XXX: This fails a symbol check on a build machine:
- ;; <https://hydra.gnu.org/build/2270314/nixlog/4/raw>
- ;; TODO: Update the list of symbols.
- ;;"--enable-etnaviv-experimental-api"
+ "--enable-etnaviv-experimental-api"
"--enable-tegra-experimental-api"
"--enable-freedreno-kgsl"))
("aarch64-linux"
'("--enable-tegra-experimental-api"
+ "--enable-etnaviv-experimental-api"
"--enable-freedreno-kgsl"))
(_ '())))))
(inputs
(define-public scrot
(package
(name "scrot")
- (version "0.8")
- (source (origin
- (method url-fetch)
- (uri (list (string-append
- "http://linuxbrit.co.uk/downloads/scrot-"
- version ".tar.gz")
- (string-append
- "https://fossies.org/linux/privat/old/scrot-"
- version ".tar.gz")))
- (sha256
- (base32
- "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1"))))
+ (version "0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/resurrecting-open-source-projects/scrot.git")
+ (commit version)))
+ (sha256
+ (base32 "1dg0pnmk09p7zlbyxv7d40vf54amrv73y976ds5p7096x6lmlndy"))))
(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
- (modify-phases %standard-phases
- (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)
- (invoke "make" "install"
- (string-append "docsdir=" doc))))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
(inputs
- `(("libx11" ,libx11)
- ("giblib" ,giblib)))
- (home-page "http://linuxbrit.co.uk/software/")
+ `(("giblib" ,giblib)
+ ("libx11" ,libx11)))
+ (home-page "https://github.com/resurrecting-open-source-projects/scrot")
(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
(name "slop")
(version "7.4")
(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"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/naelstrof/slop.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1kpdrikgpjb4fpxalb6pjcih5njv1w9cnrjj5612ywdv1q5mjs48"))))
+ "0fgd8a2dqkg64all0f96sca92sdss9r3pzmv5kck46b99z2325z6"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
(name "maim")
(version "5.5.2")
(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"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/naelstrof/maim.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "14zdhsx1cndg5m8wbv1rqmza7wgknwfj5h0knzxg3p2jkjw66i95"))))
+ "14mfxdm39kc5jk8wysrzx05ag2g4sk9l24i8m5pzqn8j611150v3"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
(home-page "https://www.hoopajoo.net/projects/xautomation.html")
(license license:gpl2+)))
+(define-public xbanish
+ (package
+ (name "xbanish")
+ (version "1.6")
+ (home-page "https://github.com/jcs/xbanish")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0vp8ja68hpmqkl61zyjar3czhmny1hbm74m8f393incfz1ymr3i8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxfixes" ,libxfixes)
+ ("libxi" ,libxi)
+ ("libxt" ,libxt)))
+ (synopsis "Banish the mouse cursor")
+ (description
+ "@command{xbanish} hides the mouse cursor when you start typing, and
+shows it again when the mouse cursor moves or a mouse button is pressed.")
+ (license license:bsd-3)))
+
(define-public xlockmore
(package
(name "xlockmore")
(package
(name "xcape")
(version "1.2")
- (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
- "0898zc3vwxia00h9kfknpf7jygxgwggrx8v5mxc31w4lzn2dhzm2"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alols/xcape.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09a05cxgrip6nqy1qmwblamp2bhknqnqmxn7i2a1rgxa0nba95dm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
(define-public libwacom
(package
(name "libwacom")
- (version "0.31")
+ (version "0.32")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/linuxwacom/libwacom/releases/download/"
- name "-" version "/" name "-" version ".tar.bz2"))
+ "libwacom-" version "/libwacom-" version ".tar.bz2"))
(sha256
(base32
- "00xzkxhm0s9bvhbf27hscjbh17wa8lcgvxjqbmzm527f9cjqrm8q"))))
+ "102kz0q7i0bjsnl6yy83vcj2rpir12rs2d4xr0wvhw84rs5sp7bb"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public xscreensaver
(package
(name "xscreensaver")
- (version "5.40")
+ (version "5.42")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h"))))
+ "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
(lambda _
(substitute* '("driver/Makefile.in" "po/Makefile.in.in")
(("@GTK_DATADIR@") "@datadir@")
- (("@PO_DATADIR@") "@datadir@")))))
+ (("@PO_DATADIR@") "@datadir@"))
+ #t)))
#:configure-flags '("--with-pam" "--with-proc-interrupts"
"--without-readdisplay")
- #:make-flags (list (string-append "AD_DIR="
+ ;; FIXME: Remove CFLAGS once our default compiler is GCC6 or later.
+ #:make-flags (list "CFLAGS=-std=c99"
+ (string-append "AD_DIR="
(assoc-ref %outputs "out")
"/usr/lib/X11/app-defaults"))))
(native-inputs
(define-public rofi
(package
(name "rofi")
- (version "1.5.1")
+ (version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/"
version "/rofi-" version ".tar.xz"))
(sha256
(base32
- "0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i"))))
+ "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)
(add-after 'unpack 'fix-installation-prefix
(lambda _
(substitute* "CMakeLists.txt"
- (("/etc") "${CMAKE_INSTALL_PREFIX}/etc")))))))
+ (("/etc") "${CMAKE_INSTALL_PREFIX}/etc"))
+ #t)))))
(inputs
`(("gtk+" ,gtk+-2)
("imlib2" ,imlib2)
(build-system gnu-build-system)
(arguments '(#:configure-flags `("--enable-sound"
"--enable-wave"
- "--enable-alsa")
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'autoreconf
- (lambda _
- (invoke "autoreconf" "-vfi"))))))
- (native-inputs `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("perl" ,perl)))
+ "--enable-alsa")))
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("perl" ,perl)))
(inputs `(("libx11" ,libx11)
("alsa-lib" ,alsa-lib)))
(synopsis "Daemon that performs an action every time the X11 bell is rung")
"Pyperclip is a clipboard module for Python, handling copy/pasting from
the X11 clipboard")
(license license:bsd-3)))
+
+(define-public numlockx
+ (package
+ (name "numlockx")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; It seems that upstream is gone.
+ (url "https://github.com/rg3/numlockx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("xorg-server" ,xorg-server)))
+ (home-page "https://github.com/rg3/numlockx")
+ (synopsis "Turns on the numlock key in X11")
+ (description "@command{numlockx} is a tiny program that lets you turn on
+the numlock key in X11. It can be called from the user's initialization files
+to automatically turn it on on login.")
+ (license license:expat)))
+
+(define-public xrandr-invert-colors
+ (package
+ (name "xrandr-invert-colors")
+ (version "0.01")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zoltanp/xrandr-invert-colors.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1br3x9vr6xm4ika06n8cfxx1b3wdchdqvyzjl4y1chmivrml8x9h"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list "CC=gcc")
+ #:tests? #f ; there are none
+ #: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 "xrandr-invert-colors.bin" bin)
+ #t))))))
+ (inputs
+ `(("libxrandr" ,libxrandr)))
+ (home-page "https://github.com/zoltanp/xrandr-invert-colors")
+ (synopsis "Invert display colors")
+ (description "This package provides a small utility for inverting the
+colors on all monitors attached to an XRandR-capable X11 display server.")
+ (license license:gpl3+)))
+
+(define-public sct
+ (package
+ (name "sct")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.umaxx.net/dl/sct-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0r57z9ki8pvxhawfxys0v5h85z2x211sqxki0xvk1bga88ryldlv"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags (list "CC=gcc")
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fix-sctd-paths
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (inetutils (assoc-ref inputs "inetutils"))
+ (sed (assoc-ref inputs "sed")))
+ (substitute* "sctd.sh"
+ (("\\$\\(which sct\\)") (string-append out "/bin/sct"))
+ (("date") (string-append coreutils "/bin/date"))
+ (("printf") (string-append coreutils "/bin/printf"))
+ (("sleep") (string-append coreutils "/bin/sleep"))
+ (("logger") (string-append inetutils "/bin/logger"))
+ (("sed") (string-append sed "/bin/sed"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "sct" (string-append out "/bin"))
+ (install-file "sctd.sh" (string-append out "/bin"))
+ (install-file "sct.1" (string-append out "/man/man1"))
+ (install-file "sctd.1" (string-append out "/man/man1"))
+ (rename-file (string-append out "/bin/sctd.sh")
+ (string-append out "/bin/sctd"))
+ #t))))))
+ (inputs
+ `(("coreutils" ,coreutils) ; sctd uses "date", "printf" and "sleep"
+ ("inetutils" ,inetutils) ; sctd uses "logger"
+ ("libxrandr" ,libxrandr)
+ ("sed" ,sed))) ; sctd uses "sed"
+ (home-page "https://www.umaxx.net")
+ (synopsis "Set the color temperature of the screen")
+ (description "@code{sct} is a lightweight utility to set the color
+temperature of the screen.")
+ (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
+
+(define-public wl-clipboard
+ (package
+ (name "wl-clipboard")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bugaevc/wl-clipboard.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03h6ajcc30w6928bkd4h6xfj4iy2359ww6hdlybq8mr1zwmb2h0q"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://github.com/bugaevc/wl-clipboard")
+ (synopsis "Command-line copy/paste utilities for Wayland")
+ (description "Wl-clipboard is a set of command-line copy/paste utilities for
+Wayland.")
+ (license license:gpl3+)))