;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages inkscape)
#:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libedit)
#:use-module (gnu packages linux)
(define-public xcb-proto
(package
(name "xcb-proto")
- (version "1.13")
+ (version "1.14")
(source
(origin
(method url-fetch)
(uri (string-append
"https://xcb.freedesktop.org/dist/xcb-proto-"
- version
- ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"))))
+ "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper)))
(license license:x11)))
+(define-public hackneyed-x11-cursors
+ ;; The current release 0.8 suffers from non-deterministic build problems.
+ (let ((revision "1")
+ (commit "9423cef2e2e5ff6b1d65d61f7108c97bc7f5fdfb"))
+ (package
+ (name "hackneyed-x11-cursors")
+ (version (git-version "0.8.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0f637i76sdwz3nm1g1iynamq6j0i6k3c70fpl0fmd0dlynm8ga96"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:make-flags (list (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-inkscape-environment-variable
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((inkscape (string-append (assoc-ref inputs "inkscape")
+ "/bin/inkscape")))
+ (setenv "INKSCAPE" inkscape)
+ #t)))
+ (add-before 'build 'placate-inkscape-warnings
+ (lambda _
+ (setenv "HOME" (getcwd))
+ #t))
+ (add-after 'build 'generate-black-cursors
+ (lambda* (#:key make-flags parallel-build #:allow-other-keys)
+ (let ((build (assoc-ref %standard-phases 'build))
+ (make-flags/extended
+ `(,@make-flags
+ "THEME_NAME=Hackneyed-Dark"
+ "COMMON_SOURCE=theme/common-dark.svg"
+ "RSVG_SOURCE=theme/right-handed-dark.svg"
+ "LSVG_SOURCE=theme/left-handed-dark.svg")))
+ (build #:make-flags make-flags/extended
+ #:parallel-build parallel-build))))
+ (add-after 'install 'install-black-cursors
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" "install" ,@make-flags
+ "THEME_NAME=Hackneyed-Dark")))))))
+ (native-inputs `(("imagemagick" ,imagemagick)
+ ("inkscape" ,inkscape)
+ ("xcursorgen" ,xcursorgen)))
+ (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors")
+ (synopsis "Classic cursor theme for X11")
+ (description "Hackneyed is a scalable cursor theme mildly resembling old
+Windows 3.x cursors. The cursors are available in white and black colors. A
+left-handed version of the cursors is also included.")
+ (license license:x11))))
+
(define-public xcursorgen
(package
(name "xcursorgen")
(define-public libevdev
(package
(name "libevdev")
- (version "1.5.9")
+ (version "1.8.0")
(source
(origin
(method url-fetch)
name "-" version ".tar.xz"))
(sha256
(base32
- "0xca343ff12wh6nsq76r0nbsfrm8dypjrzm4fqz9vv9v8i8kfrp1"))))
+ "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
+ `(#:configure-flags '("--disable-static")
+ #:phases (modify-phases %standard-phases
(add-before 'configure 'pedantry
(lambda _
;; XXX: libevdev includes kernel headers, which causes this
(string-prefix? "x86_64-" system)))
%supported-systems))
(arguments
- '(#:configure-flags '("--with-default-accel=uxa")
- #:phases (modify-phases %standard-phases
- (add-before 'bootstrap 'pre-bootstrap
- (lambda _
- ;; Inhibit autogen.sh from running configure.
- (setenv "NOCONFIGURE" "1")
- #t)))))
+ '(#:configure-flags '("--with-default-accel=uxa")))
(home-page "https://www.x.org/wiki/")
(synopsis "Intel video driver for X server")
(description
X server.")
(license license:x11)))
+(define-public v86d
+ (package
+ (name "v86d")
+ (version "0.1.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mjanusz/v86d.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c4iiggb5r9i2hxhk8c6q1m2vpfva39l1w33fsfkrz6fav6x34pp"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; remove bundled x86emu
+ (for-each delete-file
+ (filter (lambda (name) ;keep customized Makefile
+ (not (string-suffix? "Makefile" name)))
+ (find-files "libs/x86emu")))
+ ;; remove non-working vbetest utility program (it is unnecessary)
+ (delete-file "libs/lrmi-0.10/vbe.h")
+ (delete-file "libs/lrmi-0.10/vbetest.c")
+ #t))))
+
+ ;; We keep the bundled copy of the Linux Real Mode Interface lrmi-0.10,
+ ;; because it includes fixes missing from upstream lrmi. We do not use
+ ;; libx86, because we already use x86emu with the more current lrmi.
+
+ (inputs `(("xorg-server-sources" ,(package-source xorg-server)) ;for x86emu
+ ("xorgproto" ,xorgproto))) ;upstream x86emu uses X11/Xfuncproto.h
+ (outputs '("out" ;main v86d helper
+ "testvbe")) ;test program for listing video modes
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;there are no tests
+ #:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ ;; Replace the bundled x86emu with its upstream copy from Xorg-server:
+ (add-after 'unpack 'unpack-x86emu-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (begin
+ (format #t "decompressing x86emu source code~%")
+ (with-directory-excursion "libs"
+ (let ((srcs (assoc-ref inputs "xorg-server-sources"))
+ (tar-binary (string-append (assoc-ref inputs "tar")
+ "/bin/tar")))
+ (invoke tar-binary "xvf" srcs "--strip-components=3"
+ "--wildcards" "*/hw/xfree86/x86emu/")
+ ;; extract license:
+ (with-directory-excursion "x86emu"
+ (invoke tar-binary "xvf" srcs "--strip-components=1"
+ "--wildcards" "*/COPYING"))
+ #t)))))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CC" (which "gcc"))
+ (setenv "DESTDIR" out)
+ (invoke "./configure" "--with-x86emu"))))
+ (add-after 'build 'build-testvbe
+ (lambda _
+ (invoke "make" "testvbe")))
+ (add-after 'install 'install-testvbe
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((testvbe (assoc-ref outputs "testvbe"))
+ (olddest (getenv "DESTDIR")))
+ (setenv "DESTDIR" testvbe)
+ (invoke "make" "install_testvbe")
+ (setenv "DESTDIR" olddest)
+ #t)))
+ (add-after 'install 'install-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc-dir (string-append out "/share/doc/v86d")))
+ (mkdir-p doc-dir)
+ (copy-file "README"
+ (string-append doc-dir "/README"))
+ (copy-file "libs/lrmi-0.10/README"
+ (string-append doc-dir "/README.lrmi"))
+ (copy-file "libs/x86emu/COPYING"
+ (string-append doc-dir "/COPYING.xorg-server.x86emu"))
+ #t))))))
+ (home-page "https://github.com/mjanusz/v86d")
+ (synopsis "Userspace helper for uvesafb")
+ (description
+ "v86d provides a backend for kernel drivers that need to execute x86 BIOS
+code. The code is executed in a controlled environment and the results are
+passed back to the kernel via the netlink interface. v86d is required by the
+uvesafb Linux kernel module that provides an fbdev framebuffer when Kernel
+Mode Setting is unavailable. It can be a last resort when no other Xorg X
+server driver works.")
+ (license (list license:gpl2
+ license:x11)))) ;for bundled lrmi and x86emu
(define-public xf86-video-vmware
(package
(define xkbcomp-intermediate ; used as input for xkeyboard-config
(package
(name "xkbcomp-intermediate")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"))))
+ "0dflr250nlj6rrnv658f6dm8qx37sj0xfimc3ihay761kwb2q906"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)
(define-public xkeyboard-config
(package
(name "xkeyboard-config")
- (version "2.28")
+ (version "2.29")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "1kmxc8hdw4qpvdlzp4ag8ygl34lqhs6sn3pcz1sl0kn61xdv5bb9"))))
+ "00hqc8nykvy8c09b8vab64dcd0ij3n5klxjn6rl00q7hickpah8x"))))
(build-system gnu-build-system)
(inputs
- `(("gettext" ,gettext-minimal)
- ("libx11" ,libx11)
+ `(("libx11" ,libx11)
("xkbcomp-intermediate" ,xkbcomp-intermediate)))
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ `(("gettext" ,gettext-minimal)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
(home-page "https://www.x.org/wiki/")
(synopsis "Xorg XKB configuration files")
(description
(define-public libxcb
(package
(name "libxcb")
- (version "1.13")
+ (version "1.14")
(source
(origin
(method url-fetch)
(uri (string-append "https://xcb.freedesktop.org/dist/"
- "libxcb-" version ".tar.bz2"))
+ "libxcb-" version ".tar.xz"))
(sha256
(base32
- "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q"))))
+ "0d2chjgyn5lr9sfhacfvqgnj9l9faz11vn322a06jd6lk3dxcpm5"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libpthread-stubs" ,libpthread-stubs)
(define-public xterm
(package
(name "xterm")
- (version "351")
+ (version "353")
(source (origin
(method url-fetch)
(uri (list
"xterm-" version ".tgz")))
(sha256
(base32
- "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn"))))
+ "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
(base32 "11i7vyk3pynw8q8aczpy56qncm84y0cmhlvyja3sj8dgy60g03q2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _
- (setenv "NOCONFIGURE" "t")
- (invoke "sh" "autogen.sh"))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
(guix build emacs-utils))
#:configure-flags
(list "--with-anthy-utf8"
- (string-append "--with-lispdir=" %output
- "/share/emacs/site-lisp/guix.d")
+ (string-append "--with-lispdir=" %output "/share/emacs")
;; Set proper runpath
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
;; Set path of uim-el-agent and uim-el-helper-agent executables
(add-after 'configure 'configure-uim-el
(lambda* (#:key outputs #:allow-other-keys)
- (substitute* "emacs/uim-var.el"
- (("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable)
- (string-append "\"" (assoc-ref outputs "out")
- "/bin/" executable "\"")))
+ (let ((out (assoc-ref outputs "out")))
+ (emacs-substitute-variables "emacs/uim-var.el"
+ ("uim-el-agent" (string-append out "/bin/uim-el-agent"))
+ ("uim-el-helper-agent" (string-append out "/bin/uim-el-helper-agent"))))
+ #t))
+ ;; Fix installation path by renaming share/emacs/uim-el to
+ ;; share/emacs/site-lisp
+ (add-after 'install 'fix-install-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((share-emacs (string-append (assoc-ref outputs "out")
+ "/share/emacs")))
+ (rename-file (string-append share-emacs "/uim-el")
+ (string-append share-emacs "/site-lisp")))
#t))
;; Generate emacs autoloads for uim.el
- (add-after 'install 'make-autoloads
+ (add-after 'fix-install-path 'make-autoloads
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
,name (string-append (assoc-ref outputs "out")
adds functionality, including: selecting window by clicking (as transset),
selecting windows by pointing select actual focused X11 window, selecting by
window name or id, forcing toggle, increase or decrease opacity.")
- (home-page "http://forchheimer.se/transset-df/")
+ (home-page "https://forchheimer.se/transset-df/")
(license license:x11)))
(define-public bdfresize
a configuration file reusable by xcursorgen.")
(home-page "https://github.com/eworm-de/xcur2png")
(license license:gpl3+)))
+
+(define-public gccmakedep
+ (package
+ (name "gccmakedep")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://xorg/individual/util/gccmakedep-"
+ version ".tar.bz2"))
+ (sha256
+ (base32 "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"))))
+ (build-system gnu-build-system)
+ (synopsis "Create dependencies in makefiles using 'gcc -M'")
+ (description
+ "@command{gccmakedep} is a deprecated program which calls @code{gcc -M}
+to output Makefile rules describing the dependencies of each source file, so
+that Make knows which object files must be recompiled when a dependency has
+changed.")
+ (home-page "https://gitlab.freedesktop.org/xorg/util/gccmakedep")
+ (license license:x11)))