;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2017, 2018, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@n0.is>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; 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, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 nee <nee@cock.li>
;;; 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 font-alias
(package
(name "font-alias")
- (version "1.0.3")
+ (version "1.0.4")
(source (xorg-font-origin
name version
- "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"))
+ "0xjjjindczv3g7m1597l0x19zz75xy70wh5garghz61fpzl1l4gk"))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
(define-public font-misc-ethiopic
(package
(name "font-misc-ethiopic")
- (version "1.0.3")
+ (version "1.0.4")
(source (xorg-font-origin
name version
- "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk"))
+ "1q2azkdwc4x3kh53xclwpf9q654k70lhiyns1cjq594wvxnhz339"))
(build-system gnu-build-system)
(inputs
`(("mkfontdir" ,mkfontdir)
`(("libice" ,libice))) ; SMlib.h includes ICElib.h
(inputs
`(("xtrans" ,xtrans)
- ("util-linux" ,util-linux)))
+ ("libuuid" ,util-linux "lib")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.x.org/wiki/")
(define-public libxpm
(package
(name "libxpm")
- (version "3.5.12")
+ (version "3.5.13")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx"))))
+ "09dc6nwlb2122h02vl64k9x56mxnyqz2gwpga0abfv4bb1bxmlcw"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(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 xev
(package
(name "xev")
- (version "1.2.3")
+ (version "1.2.4")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "02ddsdx138g7szhwklpbzi0cxr34871iay3k28kdcihrz8f4zg36"))))
+ "1ql592pdhddhkipkrsxn929y9l2nn02a5fh2z3dx47kmzs5y006p"))))
(build-system gnu-build-system)
(inputs
`(("libxrender" ,libxrender)
(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
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("libinput" ,libinput)
+ `(("libinput" ,libinput-minimal)
("xorg-server" ,xorg-server)))
(home-page "https://www.x.org/wiki/")
(synopsis "Input driver for X server based on libinput")
X server.")
(license license:x11)))
-
-;; non-free license
-;; (define-public xf86-video-dummy
-
+(define-public xf86-video-dummy
+ (package
+ (name "xf86-video-dummy")
+ (version "0.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://xorg/individual/driver/"
+ "xf86-video-dummy-" version ".tar.bz2"))
+ (sha256
+ (base32 "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip"))))
+ (build-system gnu-build-system)
+ (inputs `(("xorg-server" ,xorg-server)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/wiki/")
+ (synopsis "Dummy video driver for X server")
+ (description
+ "Virtual/offscreen frame buffer driver for the Xorg X server.")
+ ;; per https://lists.freedesktop.org/archives/xorg/2020-June/060316.html
+ (license license:x11)))
(define-public xf86-video-fbdev
(package
(define-public xf86-video-intel
- (let ((commit "f66d39544bb8339130c96d282a80f87ca1606caf")
- (revision "15"))
+ (let ((commit "5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc")
+ (revision "16"))
(package
(name "xf86-video-intel")
(version (git-version "2.99.917" revision commit))
(commit commit)))
(sha256
(base32
- "14rwbbn06l8qpx7s5crxghn80vgcx8jmfc7qvivh72d81r0kvywl"))
+ "1y1v6cp3r3isq3bc7mypkvypwjygi205k06slmidx2q3sz4h4mjc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)
(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")
+ (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-public xinput
(package
(name "xinput")
- (version "1.6.2")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n"))))
+ "1vb6xdd1xmk5f7pwc5zcbxfray5sf1vbnscqwf2yl8lv7gfq38im"))))
(build-system gnu-build-system)
(inputs
`(("libxrender" ,libxrender)
(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.27")
+ (version "2.29")
(source
(origin
(method url-fetch)
".tar.bz2"))
(sha256
(base32
- "07wh443lhwv1j0q6xnxnji7f7ahh7xphxj90fv02cdd6zv4aw3b9"))))
+ "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 xorg-server
(package
(name "xorg-server")
- (version "1.20.6")
+ (version "1.20.8")
+ (replacement xorg-server/fixed)
(source
(origin
(method url-fetch)
- (uri (string-append
- "mirror://xorg/individual/xserver/"
- "xorg-server-" version ".tar.bz2"))
+ (uri (string-append "mirror://xorg/individual/xserver/"
+ "xorg-server-" version ".tar.bz2"))
(sha256
(base32
- "1laib9z17jksgzb67z69blcmnpbvj7i7m604b5ns7s760iii85k3"))
+ "0ih15m7gh1z1ly6z7g82bkni719yisqmbk61a1wgp82bxrmn8yyi"))
(patches
(list
;; See:
draggable titlebars and borders.")
(license license:x11)))
+(define xorg-server/fixed ; Fixes CVE-2020-14347
+ (package
+ (inherit xorg-server)
+ (source
+ (origin
+ (inherit (package-source xorg-server))
+ (patches
+ (append (origin-patches (package-source xorg-server))
+ (search-patches "xorg-server-CVE-2020-14347.patch")))))))
+
;; This package is intended to be used when building GTK+.
;; Note: It's currently marked as "hidden" to avoid having two non-eq?
;; packages with the same name and version.
+;; TODO: Update this in the next rebuild cycle.
(define-public xorg-server-for-tests
(hidden-package
(package
(inherit xorg-server)
- (version "1.20.5")
+ (version "1.20.7")
(source (origin
(inherit (package-source xorg-server))
- (uri (string-append
- "mirror://xorg/individual/xserver/"
- "xorg-server-" version ".tar.bz2"))
+ (uri (string-append "mirror://xorg/individual/xserver/"
+ "xorg-server-" version ".tar.bz2"))
(sha256
(base32
- "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8")))))))
+ "18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx")))))))
(define-public xorg-server-xwayland
- (package
- (inherit xorg-server)
+ (package/inherit xorg-server
(name "xorg-server-xwayland")
(inputs
`(("wayland" ,wayland)
(package
(name "libx11")
(version "1.6.9")
+ (replacement libx11/fixed)
(source
(origin
(method url-fetch)
(description "Xorg Core X11 protocol client library.")
(license license:x11)))
+(define libx11/fixed ; Fixes CVE-2020-14344
+ (package
+ (inherit libx11)
+ (version "1.6.A")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/lib/libX11-1.6.10.tar.bz2"))
+ (sha256
+ (base32
+ "09k2pqmqbn2m1bpgl7jfxyqxaaxsnzbnp2bp8ycmqldqi5ln4j5g"))))))
+
;; packages of height 5 in the propagated-inputs tree
(define-public libxcursor
(define-public twm
(package
(name "twm")
- (version "1.0.10")
+ (version "1.0.11")
(source
(origin
(method url-fetch)
- (uri (string-append
- "mirror://xorg/individual/app/" name "-"
- version
- ".tar.bz2"))
+ (uri (string-append "mirror://xorg/individual/app/twm-"
+ version ".tar.xz"))
(sha256
(base32
- "1ms5cj1w3g26zg6bxdv1j9hl0pxr4300qnv003cz1q3cl7ffljb4"))))
+ "1iv8kdb18n9vk3is5fyh6l40ipq9mkgx8ppj86byf464vr1ais7l"))))
(build-system gnu-build-system)
(inputs
`(("libxt" ,libxt)
(define-public xterm
(package
(name "xterm")
- (version "351")
+ (version "358")
(source (origin
(method url-fetch)
(uri (list
"xterm-" version ".tgz")))
(sha256
(base32
- "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn"))))
+ "0yxzdwchfvkq784qadxalnbnxr4k2hdgli9w1dq9j2lic9li1nvw"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
("libICE" ,libice)
("libSM" ,libsm)
("libX11" ,libx11)
+ ("libXcursor" ,libxcursor)
("libXext" ,libxext)
("libXt" ,libxt)
("xorgproto" ,xorgproto)
(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)
(define-public xpra
(package
(name "xpra")
- (version "2.5.3")
+ (version "4.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.xpra.org/src/xpra-"
version ".tar.xz"))
(sha256
- (base32
- "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys"))))
+ (base32 "05afdspf51fbya6jg6971i3ddqn8p4mg3v3aaqyi3chx4q1807rp"))
+ (patches (search-patches "xpra-4.0.1-systemd-run.patch"))))
(build-system python-build-system)
- (inputs `(("ffmpeg" ,ffmpeg)
- ("flac" ,flac)
- ("gtk+-2" ,gtk+-2) ;; no full GTK3 support yet
- ("libjpeg" ,libjpeg)
- ("libpng" ,libpng)
- ("libvpx" ,libvpx)
- ("libx264" ,libx264)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxi" ,libxi)
- ("libxkbfile" ,libxkbfile)
+ ;; see also http://xpra.org/trac/wiki/Dependencies
+ (inputs `(
+ ;; Essential dependencies.
+ ("libjpeg" ,libjpeg-turbo)
+ ("libwebp" ,libwebp)
+ ("ffmpeg" ,ffmpeg)
+ ("libx11" ,libx11)
("libxrandr" ,libxrandr)
("libxtst" ,libxtst)
- ("lzo" ,lzo)
- ("python2-cryptography" ,python2-cryptography)
- ("python2-dbus" ,python2-dbus)
- ("python2-lz4" ,python2-lz4)
- ("python2-lzo" ,python2-lzo)
- ("python2-netifaces" ,python2-netifaces)
- ("python2-numpy" ,python2-numpy)
- ("python2-pillow" ,python2-pillow)
- ("python2-pycairo" ,python2-pycairo)
- ("python2-pycrypto" ,python2-pycrypto)
- ("python2-pygobject" ,python2-pygobject)
- ("python2-pyopengl" ,python2-pyopengl)
- ("python2-pyopengl-accelerate" ,python2-pyopengl-accelerate)
- ("python2-pygtk" ,python2-pygtk)
- ("python2-rencode" ,python2-rencode)
- ("xorg-server" ,xorg-server)))
+ ("libxfixes" ,libxfixes)
+ ("libxkbfile" ,libxkbfile)
+ ("libxcomposite" ,libxcomposite)
+ ("libxdamage" ,libxdamage)
+ ("libxext" ,libxext)
+ ("gtk+" ,gtk+)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("xauth" ,xauth)
+ ("xorg-server" ,xorg-server)
+ ("xf86-video-dummy" ,xf86-video-dummy)
+ ("xf86-input-mouse" ,xf86-input-mouse)
+ ("xf86-input-keyboard" ,xf86-input-keyboard)
+ ("python-pillow" ,python-pillow)
+ ;; Optional dependencies.
+ ("python-rencode" ,python-rencode) ; For speed.
+ ("python-numpy", python-numpy)
+ ("python-pyopengl" ,python-pyopengl) ; Drawing acceleration.
+ ("python-pyopengl-accelerate" ,python-pyopengl-accelerate) ; Same.
+ ("python-paramiko" ,python-paramiko) ; Tunneling over SSH.
+ ("python-dbus" ,python-dbus) ; For desktop notifications.
+ ("dbus" ,dbus) ; For dbus-launch command.
+ ("python-lz4" ,python-lz4) ; Faster compression than zlib.
+ ("python-netifaces" ,python-netifaces)))
(native-inputs `(("pkg-config" ,pkg-config)
- ("python2-cython" ,python2-cython)))
+ ("python-cython" ,python-cython)))
(arguments
- `(#:python ,python-2 ;; no full Python 3 support yet
- #:configure-flags '("--with-tests"
- "--with-bundle_tests"
- "--without-Xdummy" ;; We use Xvfb instead.
- "--without-Xdummy_wrapper"
- "--without-strict")
+ `(#:configure-flags '("--without-Xdummy"
+ "--without-Xdummy_wrapper"
+ "--with-opengl"
+ "--without-debug"
+ "--without-strict") ; Ignore compiler warnings.
#:modules ((guix build python-build-system)
(guix build utils))
-
+ #:tests? #f ; Do not run test-cases. This would rebuild all modules and
+ ; they seem to require python2.
#:phases
(modify-phases %standard-phases
+ ;; built by 'install phase
(delete 'build)
- (delete 'check) ;; There's no test suite at the moment.
-
- ;; Remove BUILD_CPU, BUILD_DATE, BUILD_TIME from build info to
- ;; prevent deterministic issues. Also correct some directories and
- ;; use the xvfb binary instead of xorg-server (which doesn't seem to
- ;; work).
- (add-before 'install 'remove-timestamps&set-file-names
+ (add-before 'install 'fix-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "add_build_info.py"
- ((".*\"BUILD_CPU\", get_cpuinfo.*") ""))
- (substitute* "add_build_info.py"
- ((".*\"BUILD_DATE\", datetime.*") ""))
- (substitute* "add_build_info.py"
- ((".*\"BUILD_TIME\", datetime.*") ""))
- (substitute* "setup.py"
- (("/etc/init.d/")
- (string-append (assoc-ref outputs "out")
- "/etc/init.d/")))
- (substitute* "setup.py"
- (("/usr/lib/")
- (string-append (assoc-ref outputs "out") "/lib/")))
- ;; Use Xvfb with '-nolisten local' to disable abstract X11 sockets.
- (substitute* "./xpra/scripts/config.py"
- ((":.*join.*xvfb.*")
- (string-append ": \"" (assoc-ref inputs "xorg-server")
- "/bin/Xvfb +extension Composite"
- " -screen 0 5760x2560x24+32 -dpi 96 -nolisten"
- " tcp -nolisten local -noreset -auth"
- " $XAUTHORITY\",\n")))
+ ;; Fix binary paths.
+ (substitute* '("xpra/scripts/config.py" "xpra/x11/vfb_util.py")
+ (("\"Xvfb\"")
+ (string-append "\"" (assoc-ref inputs "xorg-server") "/bin/Xvfb\""))
+ (("\"Xorg\"")
+ (string-append "\"" (assoc-ref inputs "xorg-server") "/bin/Xorg\""))
+ (("\"xauth\"")
+ (string-append "\"" (assoc-ref inputs "xauth") "/bin/xauth\"")))
+ ;; Fix directory of config files.
+ (substitute* '("xpra/scripts/config.py" "xpra/platform/xposix/paths.py")
+ (("\"/etc/xpra/?\"")
+ (string-append "\"" (assoc-ref outputs "out") "/etc/xpra/\"")))
+ ;; XXX: Stolen from (gnu packages linux)
+ (define (append-to-file name body)
+ (let ((file (open-file name "a")))
+ (display body file)
+ (close-port file)))
+ ;; Add Xorg module paths.
+ (append-to-file
+ "etc/xpra/xorg.conf"
+ (string-append "\nSection \"Files\"\nModulePath \""
+ (assoc-ref inputs "xf86-video-dummy") "/lib/xorg/modules,"
+ (assoc-ref inputs "xf86-input-mouse") "/lib/xorg/modules,"
+ (assoc-ref inputs "xf86-input-keyboard") "/lib/xorg/modules,"
+ (assoc-ref inputs "xorg-server") "/lib/xorg/modules\"\n"
+ "EndSection\n\n"))
+ (substitute* '("xpra/scripts/config.py"
+ "etc/xpra/conf.d/60_server.conf.in"
+ "unittests/unit/server/mixins/notification_test.py")
+ ;; The trailing -- is intentional, so we only replace it inside
+ ;; a command line.
+ (("dbus-launch --")
+ (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch --")))
+ ;; /run/user does not exist on guix system
(substitute* "./xpra/scripts/config.py"
(("socket-dir.*: \"\",")
"socket-dir\" : \"~/.xpra\","))
- #t)))))
+ #t))
+ ;; GTK3 will not be found, if GI can’t find its typelibs.
+ (add-after
+ 'install 'wrap-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/xpra")))
+ ;; XXX: only export typelibs in inputs
+ (wrap-program prog
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
(home-page "https://www.xpra.org/")
(synopsis "Remote access to individual applications or full desktops")
(description "Xpra is a persistent remote display server and client for
(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")
mouse click. You can do everything mouse can do with a keyboard.")
(license license:bsd-3)))
-(define-public transset-df
+(define-public transset
(package
- (name "transset-df")
- (version "6")
+ (name "transset")
+ (version "1.0.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://forchheimer.se/" name "/" name "-" version
- ".tar.gz"))
+ (uri (string-append "https://www.x.org/releases/individual/app/"
+ name "-" version ".tar.gz"))
(sha256
(base32
- "1vnykwwrv75miigbhmcwxniw8xnhsdyzhqydip2m9crxi2lwhqs5"))))
+ "0rya202y87dwl35jnmq8hs3arzdrv5z4vf1xmi0py4rnmhdpszaw"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'setenv
- (lambda _
- (setenv "CC" (which "gcc"))
- #t))
- (delete 'configure)
- (delete 'check)
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (install-file "transset-df" bin)
- #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs `(("libxcomposite" ,libxcomposite)
- ("libxdamager" ,libxdamage)
+ ("libxdamage" ,libxdamage)
("libxrender" ,libxrender)))
(synopsis "Set the transparency of X11 windows")
- (description "The @command{transset-df} command allows you to set the
-opacity of X11 windows. This patched version of X.Org's @command{transset}
-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/")
+ (description "@command{transset} is a simple program for X servers
+supporting the XFIXES, DAMAGE, and COMPOSITE extensions. It lets the
+user set the transparency on a window.")
+ (home-page "https://gitlab.freedesktop.org/xorg/app/transset")
(license license:x11)))
+(define-public transset-df
+ (deprecated-package "transset-df" transset))
+
(define-public bdfresize
(package
(name "bdfresize")
(define-public console-setup
(package
(name "console-setup")
- (version "1.194")
+ (version "1.196")
(source
(origin
(method git-fetch)
(url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version)))
(sha256
- (base32 "0fkabv05j5dj10mfrpjyvv7lnxl9qaqkbjhwj72r18i9i4019vgh"))
+ (base32 "0c79rycgpna8910as6blw3z3sajzzakz4qlvr6js2yr8zq2d0ylg"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(let ((bash (assoc-ref %build-inputs "bash"))
(out (assoc-ref %outputs "out")))
(list (string-append "SHELL=" bash "/bin/bash")))
- #:tests? #f ;no tests
+ #:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
`(("pkg-config" ,pkg-config)
("bdftopcf" ,bdftopcf)
("bdfresize" ,bdfresize)
- ("sharutils" ,sharutils) ;for 'uuencode'
+ ("sharutils" ,sharutils) ; for 'uuencode'
("perl" ,perl)))
(inputs
- `(("perl" ,perl))) ;used by 'ckbcomp'
+ `(("perl" ,perl))) ; used by 'ckbcomp'
(synopsis "Set up the Linux console font and keyboard")
(description
"console-setup provides the console with the same keyboard
;; by simple permissive licenses. See the 'COPYRIGHT' file.
(license (list license:gpl2+
license:expat))))
+
+(define-public xcur2png
+ (package
+ (name "xcur2png")
+ (version "0.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eworm-de/xcur2png")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0858wn2p14bxpv9lvaz2bz1rk6zk0g8zgxf8iy595m8fqv4q2fya"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libpng" ,libpng)
+ ("libxcursor" ,libxcursor)))
+ (synopsis "Decode X cursors")
+ (description
+ "xcur2png is a program decomposes an X cursor into a set of PNG images and
+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)))
+
+(define-public xdialog
+ (package
+ (name "xdialog")
+ (version "2.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://xdialog.free.fr/Xdialog-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "16jqparb33lfq4cvd9l3jgd7fq86fk9gv2ixc8vgqibid6cnhi0x"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gettext" ,gettext-minimal)
+ ("gtk" ,gtk+-2)))
+ (arguments
+ `(#:configure-flags '("--with-gtk2")))
+ (build-system gnu-build-system)
+ (home-page "http://xdialog.free.fr/")
+ (synopsis "Convert a terminal program into a program with an X interface")
+ (description "X11 replacement for the text util dialog Xdialog is designed
+to be a drop-in replacement for the dialog and cdialog programs. It converts
+any terminal-based program into a program with an X interface. The dialogs
+are easier to see and use, and Xdialog adds more functionality such as a help
+button and box, a treeview, an editbox, file and directory selectors, a range
+box, and a calendar. It uses GTK+, and will match your desktop theme.")
+ (license license:gpl2+)))