;;; Copyright © 2016 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 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 © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019, 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
+;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
+;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
;;; 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 git-download)
- #:use-module (guix hg-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 gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
- #:use-module (gnu packages)
- #:use-module (gnu packages documentation)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix hg-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages admin)
- #:use-module (gnu packages base)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
- #:use-module (gnu packages image)
- #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages m4)
#: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 pkg-config)
#: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)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages gtk)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages bison)
+ #:use-module (gnu packages)
#:use-module (ice-9 match))
;; packages outside the x.org system proper
+(define-public xtitle
+ (package
+ (name "xtitle")
+ (version "0.4.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/baskerville/xtitle")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f5070k2bwarghl1vq886pl52xck1x5p7x3qhlfchsc2y3dcqms9"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libxcb" ,libxcb)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-wm" ,xcb-util-wm)))
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:phases (modify-phases %standard-phases (delete 'configure))))
+ (home-page "https://github.com/baskerville/xtitle")
+ (synopsis "Output X window titles")
+ (description
+ "If arguments are given, @code{xtitle} outputs the title of each
+specified window, otherwise it outputs the title of the active window. With
+@emph{snoop} mode on, it continuously monitors the specified windows and
+outputs when titles change.")
+ (license license:unlicense)))
+
(define-public arandr
(package
(name "arandr")
(home-page "https://hluk.github.io/CopyQ/")
(license license:gpl3+)))
+(define-public xkeysnail
+ (package
+ (name "xkeysnail")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xkeysnail" version))
+ (sha256
+ (base32
+ "1xyqp6yqxcwmxaqj86qcsiz0ly7bwr0a2w835myz909irhip3ngf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;tests need /dev/uinput
+ (inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-evdev" ,python-evdev)
+ ("python-inotify-simple" ,python-inotify-simple)
+ ("python-xlib" ,python-xlib)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/mooz/xkeysnail")
+ (synopsis "Keyboard remapping tool for the X11 environment")
+ (description
+ "Xkeysnail is an X environment keyboard remapping tool, featuring
+high-level and flexible remapping mechanisms. It affects the low-level
+layers (evdev and uinput), making remapping work in almost all the places.")
+ (license license:gpl3+))) ; see README.md (no licence headers)
+
(define-public xclip
(package
(name "xclip")
(define-public libxkbcommon
(package
(name "libxkbcommon")
- (version "0.10.0")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
version ".tar.xz"))
(sha256
(base32
- "1wmnl0hngn6vrqrya4r8hvimlkr4jag39yjprls4gyrqvh667hsp"))))
+ "0lmwglj16anhpaq0h830xsl1ivknv75i4lir9bk88aq73s2jy852"))))
(build-system meson-build-system)
(inputs
`(("libx11" ,libx11)
("libxcb" ,libxcb)
+ ("libxml2" ,libxml2)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
("xkeyboard-config" ,xkeyboard-config)))
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."))))
+ "See 'COPYING' in the distribution."))
+ (properties '((cpe-name . "xkbcommon")))))
(define-public libfakekey
(package
(package
(name "pixman")
(version "0.38.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://www.cairographics.org/releases/pixman-"
- version ".tar.gz"))
- (sha256
- (base32
- "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
- (patches (search-patches "pixman-CVE-2016-5296.patch"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://www.cairographics.org/releases/pixman-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
+ (patches
+ (search-patches
+ "pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(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.")
+ (home-page "http://www.pixman.org/")
(license license:x11)))
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.102")
+ (version "2.4.103")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0nx0bd9dhymdsd99v4ifib77yjirkvkxf5hzdkbr7qr8dhrzkjwb"))))
+ "08h2nnf4w96b4ql7485mvjgbbsb8rwc0qa93fdm1cq34pbyszq1z"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(define-public scrot
(package
(name "scrot")
- (version "1.4")
+ (version "1.5")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds"))))
+ (base32 "0x64b7xqi5cbq29pb8s8r2kzbxaday1f5k0j70n3s2p7sahjxy72"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(inputs
`(("giblib" ,giblib)
("libx11" ,libx11)
- ("libXcursor" ,libxcursor)
("libxcomposite" ,libxcomposite)
+ ("libxext" ,libxext)
("libXfixes" ,libxfixes)))
(home-page "https://github.com/resurrecting-open-source-projects/scrot")
(synopsis "Command-line screen capture utility for X Window System")
(define-public xlockmore
(package
(name "xlockmore")
- (version "5.62")
+ (version "5.66")
(source (origin
(method url-fetch)
(uri (list (string-append "http://sillycycle.com/xlock/"
"xlockmore-" version ".tar.xz")))
(sha256
(base32
- "0b05wgj4mpssy4hd7km5c48i454dfg45p11mfmsr7xjd2gnz5gqi"))))
+ "0wdb7gpyjw3sigmhiplgg1bqxz6wipr0c3n9492x2a18cv1saxjr"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "--enable-appdefaultdir="
transparent text on your screen.")
(license license:gpl2+)))
+(define-public wob
+ (package
+ (name "wob")
+ (version "0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/francma/wob/releases/download/"
+ version "/wob-" version ".tar.gz"))
+ (sha256
+ (base32 "1vgngcg8wxn6zfg34czn9w55ia0zmhlgnpzf0gh31dc72li9353k"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("scdoc" ,scdoc)))
+ (inputs
+ `(("libseccomp" ,libseccomp)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://github.com/francma/wob")
+ (synopsis "Lightweight overlay bar for Wayland")
+ (description
+ "Wob, or Wayland Overlay Bar, is a lightweight overlay volume,
+backlight, progress, or anything bar for Wayland.")
+ (license license:isc)))
+
(define-public xbindkeys
(package
(name "xbindkeys")
(base32
"1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'sanitise-shebang
+ ;; This wish script uses a strange double shebang that escapes our
+ ;; patch-shebangs phase. Assume that it's unnecessary & replace it.
+ (lambda _
+ (substitute* "xbindkeys_show"
+ (("^#!.*|^exec wish.*") "")
+ (("^# \\\\") (string-append "#!" (which "wish"))))
+ #t))
+ (add-after 'unpack 'patch-references
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "xbindkeys_show"
+ (("\"(xbindkeys)\"" _ command)
+ (format #f "\"~a/bin/~a\"" out command)))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("libx11" ,libx11)
- ("guile" ,guile-2.2)))
+ `(("guile" ,guile-2.2)
+ ("libx11" ,libx11)
+ ("tk" ,tk)))
(home-page "https://www.nongnu.org/xbindkeys/")
(synopsis "Associate a combination of keys with a shell command")
(description
;; 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="
+ `(#:configure-flags (list "--enable-256-color")
+ #:make-flags (list (string-append "TERMINFO="
(assoc-ref %outputs "out")
"/share/terminfo"))
#:phases
(define-public libwacom
(package
(name "libwacom")
- (version "1.5")
+ (version "1.7")
(source (origin
(method url-fetch)
(uri (string-append
"libwacom-" version "/libwacom-" version ".tar.bz2"))
(sha256
(base32
- "0yyl6vzpfd7dq8a8k9dn8r494542ci4r1i0pillg1p4f7jvryd3b"))))
+ "0797gc055dgg2jfqijy9823bd83jwr4wb2z9id992qlcr0xmz1rw"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; For tests.
+ ("python" ,python)))
(inputs
`(("gtk+" ,gtk+)
("libgudev" ,libgudev)
protocol.")
(license license:gpl3+))))
+(define-public gammastep
+ (package
+ (name "gammastep")
+ (version "2.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/chinstrap/gammastep")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11j54rdd3cgngdhjwyapwjbrdm8cii4i7g4zdvfykvmb1w4zdk7g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-python-and-typelib
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Gammastep GUI needs Typelib files from GTK and access
+ ;; to Python libraries.
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/gammastep-indicator")
+ `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(getenv "GI_TYPELIB_PATH")))))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("intltool" ,intltool)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk" ,gtk+)
+ ("libappindicator" ,libappindicator)
+ ("libdrm" ,libdrm)
+ ("libX11" ,libx11)
+ ("libxxf86vm" ,libxxf86vm)
+ ("libxcb" ,libxcb)
+ ("python" ,python)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyxdg" ,python-pyxdg)
+ ("wayland" ,wayland)))
+ (home-page "https://gitlab.com/chinstrap/gammastep")
+ (synopsis "Adjust the color temperature of your screen")
+ (description
+ "Gammastep automatically adjusts the color temperature of your
+screen according to your surroundings. This may help your eyes hurt
+less if you are working in front of the screen at night.")
+ (license license:gpl3)))
+
(define-public xscreensaver
(package
(name "xscreensaver")
- (version "5.44")
+ (version "5.45")
(source
(origin
(method url-fetch)
(string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
version ".tar.gz"))
(sha256
- (base32 "15bv05vpfjwsrqbazrjmm382jd7vvw0mp6y9vasn6wvxzjf0in3k"))))
+ (base32 "03fmyjlwjinzv7mih6n07glmys8s877snd8zijk2c0ds6rkxy5kh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
(define-public rofi
(package
(name "rofi")
- (version "1.5.4")
+ (version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/"
version "/rofi-" version ".tar.xz"))
(sha256
(base32
- "1nslmyqyzhfr4hxd4llqkkkb8ap8apkdna32rllvar7r576059ci"))))
+ "12p9z8bl1gg8k024m4a6zfz7gf1zbyffardh98raqgabn6knwk22"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)
("cairo" ,cairo)
("glib" ,glib)
("startup-notification" ,startup-notification)
+ ("libjpeg" ,libjpeg-turbo)
("librsvg" ,librsvg)
("libxkbcommon" ,libxkbcommon)
("libxcb" ,libxcb)
(define-public screen-message
(package
(name "screen-message")
- (version "0.25")
+ (version "0.26")
(source (origin
(method url-fetch)
(uri (string-append
"/screen-message-" version ".tar.gz"))
(sha256
(base32
- "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
+ "0dwgm4z3dfk6xz41w8xiv0hmnwr74gf3ykb91b090hc4ffwsf4mw"))))
(build-system gnu-build-system)
(inputs `(("gtk3" ,gtk+)
("gdk" ,gdk-pixbuf)
(define-public autocutsel
(package
(name "autocutsel")
- (version "0.10.0")
+ (version "0.10.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/sigmike/autocutsel"
"autocutsel-" version ".tar.gz"))
(sha256
(base32
- "0gsys2dzh4az51ndcsabhlbbrjn2nm75lnjr45kg6r8sm8q66dx2"))))
+ "05zb85imp42birvrc320q20r98qddc5vxx169dnl753l5za0czpi"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
(define-public jgmenu
(package
(name "jgmenu")
- (version "4.1.0")
+ (version "4.3.0")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk"))))
+ (base32 "13y4ra2hjfqbn2vxyyn4ar5iqklbabyfwksbryc2gzxspw1vz4zq"))))
(build-system gnu-build-system)
(native-inputs
`(("cppcheck" ,cppcheck)
("libxrandr" ,libxrandr)
("pango" ,pango)))
(arguments
- `(#:phases
+ `(#:test-target "test"
+ #:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "scripts/cppcheck-wrapper.sh"
- (("--library=/usr/share/cppcheck/cfg/gnu\\.cfg")
- ""))
- #t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(invoke "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))
#t)))))
(define-public xwallpaper
(package
(name "xwallpaper")
- (version "0.6.5")
+ (version "0.6.6")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "121ai4dc0v65qk12gn9w62ixly8hc8a5qrygkbb82vy8ck4jqxj7"))))
+ (base32 "10klm81rs3k3l2i7whpvcsg95x51ja11l86fmwbrvg3kq705p2sr"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(define-public xsettingsd
(package
(name "xsettingsd")
- (version "1.0.0")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v"))))
+ (base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
(build-system scons-build-system)
(inputs
`(("libx11" ,libx11)))
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(inputs
- `(("dbus-glib", dbus-glib)
+ `(("dbus-glib" ,dbus-glib)
("glib" ,glib)
("libx11" ,libx11)))
(home-page "https://github.com/qnikst/kbdd")
(define-public j4-dmenu-desktop
(package
(name "j4-dmenu-desktop")
- (version "2.17")
+ (version "2.18")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"))))
+ "1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26"))))
(build-system cmake-build-system)
(native-inputs
`(("catch2" ,catch-framework2)))
(define-public wofi
(package
(name "wofi")
- (version "1.1.2")
+ (version "1.2.4")
(source (origin
(method hg-fetch)
(uri (hg-reference
(file-name (git-file-name name version))
(sha256
(base32
- "086j5wshawjbwdmmmldivfagc2rr7g5a2gk11l0snqqslm294xsn"))))
+ "1bnf078fg1kwslzwm1mjxwcqqq3bhk1dzymwfw9gk3brqbxrl75c"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
such as sway, similar to @command{rofi}.")
(home-page "https://hg.sr.ht/~scoopta/wofi")
(license license:gpl3+)))
+
+(define-public dex
+ (package
+ (name "dex")
+ (version "0.9.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/jceb/dex"))
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "03aapcywnz4kl548cygpi25m8adwbmqlmwgxa66v4156ax9dqs86"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))
+ #:tests? #f))
+ (inputs
+ `(("python" ,python)))
+ (native-inputs
+ `(("python-sphinx" ,python-sphinx)))
+ (home-page "https://github.com/jceb/dex")
+ (synopsis "Execute DesktopEntry files")
+ (description
+ "@command{dex}, @dfn{DesktopEntry Execution}, is a program to generate
+and execute @file{.desktop} files of the Application type.")
+ (license license:gpl3+)))
+
+(define-public sx
+ (package
+ (name "sx")
+ (version "2.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Earnestly/sx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0p24ghp1ygvyc2hv81byhxax7491yhcc5priq5ldv07nzl7akagc"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)))
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure))))
+ (propagated-inputs
+ `(("xauth" ,xauth)))
+ (home-page "https://github.com/Earnestly/sx")
+ (synopsis "Start an xorg server")
+ (description
+ "@command{sx} is a simple alternative to both @command{xinit} and
+@command{startx} for starting an Xorg server.")
+ (license license:x11)))
+
+(define-public hsetroot
+ (package
+ (name "hsetroot")
+ (version "1.0.5")
+ (home-page "https://github.com/himdel/hsetroot")
+ (source (origin
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (sha256
+ (base32
+ "1jbk5hlxm48zmjzkaq5946s58rqwg1v1ds2sdyd2ba029hmvr722"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:make-flags
+ (list
+ "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'install 'mkdir-install-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/bin"))))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("imlib2" ,imlib2)
+ ("libxinerama" ,libxinerama)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Imlib2-based wallpaper changer")
+ (description
+ "The @command{hsetroot} command composes wallpapers for X.
+This package is the fork of hsetroot by Hyriand.")
+ (license license:gpl2+)))