X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/4f70db97a040b35f125484ce8885766ca5807dd4..34b81a9cddcfd4b5b2aa041d644833e2211da8c9:/gnu/packages/xdisorg.scm diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 966847e245..2cb8f3b13f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -14,16 +14,17 @@ ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Alex Kost -;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017, 2019 Marius Bakke ;;; Copyright © 2016 Petter ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 Nils Gillmann -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marek Benc ;;; Copyright © 2017 Mike Gerwitz ;;; Copyright © 2018 Thomas Sigurdsen -;;; Copyright © 2018 Rutger Helling -;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018, 2019 Rutger Helling +;;; Copyright © 2018, 2019 Pierre Neidhardt +;;; Copyright © 2018 Nam Nguyen ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,9 +50,12 @@ #: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) @@ -59,16 +63,19 @@ #: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) @@ -126,19 +133,74 @@ are saved as executable shell scripts which can be loaded without using this 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 @@ -157,14 +219,14 @@ avoiding password prompts when X11 forwarding has already been setup.") (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) @@ -291,15 +353,15 @@ following the mouse.") (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 @@ -317,7 +379,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.93") + (version "2.4.97") (source (origin (method url-fetch) @@ -327,24 +389,22 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f")) + "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p")) (patches (search-patches "libdrm-symbol-check.patch")))) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments `(#:configure-flags '(,@(match (%current-system) ("armhf-linux" - '("--enable-exynos-experimental-api" - "--enable-omap-experimental-api" - ;; XXX: This fails a symbol check on a build machine: - ;; - ;; TODO: Update the list of symbols. - ;;"--enable-etnaviv-experimental-api" - "--enable-tegra-experimental-api" - "--enable-freedreno-kgsl")) - ("aarch64-linux" - '("--enable-tegra-experimental-api" - "--enable-freedreno-kgsl")) + '("-Dexynos-experimental-api=true" + "-Domap-experimental-api=true" + "-Detnaviv-experimental-api=true" + "-Dtegra-experimental-api=true" + "-Dfreedreno-kgsl=true")) + ("aarch64-linux=true" + '("-Dtegra-experimental-api=true" + "-Detnaviv-experimental-api=true" + "-Dfreedreno-kgsl=true")) (_ '()))))) (inputs `(("libpciaccess" ,libpciaccess))) @@ -450,39 +510,24 @@ move windows, switch between desktops, etc.).") (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 @@ -497,14 +542,14 @@ of the screen selected by mouse.") (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 @@ -530,14 +575,14 @@ selection's dimensions to stdout.") (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 @@ -636,6 +681,36 @@ to find buttons, etc, on the screen to click on.") (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") @@ -849,15 +924,15 @@ within a single process.") (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 @@ -882,15 +957,15 @@ Escape key when Left Control is pressed and released on its own.") (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))) @@ -986,7 +1061,7 @@ color temperature should be set to match the lamps in your room.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.40") + (version "5.42") (source (origin (method url-fetch) @@ -995,7 +1070,7 @@ color temperature should be set to match the lamps in your room.") version ".tar.gz")) (sha256 (base32 - "1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h")))) + "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -1009,7 +1084,9 @@ color temperature should be set to match the lamps in your room.") #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 @@ -1101,7 +1178,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (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/" @@ -1109,7 +1186,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i")))) + "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1554,3 +1631,82 @@ to automatically turn it on on login.") (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+)))