Merge branch 'master' into core-updates

This commit is contained in:
Christopher Baines 2021-03-05 22:56:40 +00:00
commit a8448da0f4
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
245 changed files with 62932 additions and 4624 deletions

View file

@ -74,7 +74,7 @@
;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020, 2021 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org>
@ -82,7 +82,7 @@
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com>
;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
@ -96,6 +96,8 @@
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@ -179,6 +181,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages search)
#:use-module (gnu packages scanner)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
@ -539,28 +542,28 @@ data for video and audio files.")
(define-public python-psutil
(package
(name "python-psutil")
(version "5.7.2")
(version "5.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psutil" version))
(sha256
(base32 "1svv985vmqsls35kmvp3vhh26nsgz229324s9k29awf6qgqhm6ch"))))
(base32 "1immnj532bnnrh1qmk5q3lsw3san8qfk9kxy1cpmy0knmfcwp70c"))))
(build-system python-build-system)
(arguments
;; FIXME: some tests do not return and time out. Some tests fail because
;; some processes survive kill().
'(#:tests? #f))
(home-page "https://www.github.com/giampaolo/psutil")
(home-page "https://github.com/giampaolo/psutil")
(synopsis "Library for retrieving information on running processes")
(description
"psutil (Python system and process utilities) is a library for retrieving
information on running processes and system utilization (CPU, memory, disks,
network) in Python. It is useful mainly for system monitoring, profiling and
limiting process resources and management of running processes. It implements
many functionalities offered by command line tools such as: ps, top, lsof,
netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime,
pidof, tty, taskset, pmap.")
"@code{psutil} (Python system and process utilities) is a library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system monitoring,
profiling and limiting process resources and management of running processes.
It implements many functionalities offered by command line tools such as: ps,
top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat,
iotop, uptime, pidof, tty, taskset, pmap.")
(properties `((python2-variant . ,(delay python2-psutil))))
(license license:bsd-3)))
@ -2364,6 +2367,30 @@ software.")
(inherit (package-with-python2 scons))
(name "scons-python2")))
(define-public python-extension-helpers
(package
(name "python-extension-helpers")
(version "0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "extension-helpers" version))
(sha256
(base32 "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc"))))
(build-system python-build-system)
(native-inputs
`(("coverage" ,python-coverage)
("pytest" ,python-pytest-astropy)
("pytest-cov" ,python-pytest-cov)
("setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/astropy/astropy-helpers")
(synopsis
"Utilities for building and installing packages in the Astropy ecosystem")
(description
"The extension-helpers package includes many build, installation, and
documentation-related tools used by the Astropy project.")
(license license:bsd-3)))
(define-public python-extras
(package
(name "python-extras")
@ -3928,8 +3955,7 @@ for SSH and SFTP. It has the following main usages:
(base32
"197dw8mbq0pjjz1l6h1ksi62vgn7x55d373ch74y06744qiq5sjx"))))
(build-system python-build-system)
(home-page
"http://bitbucket.org/leapfrogdevelopment/rstr/overview")
(home-page "https://github.com/leapfrogonline/rstr")
(synopsis "Generate random strings in Python")
(description "This package provides a python module for generating
random strings of various types. It could be useful for fuzz testing,
@ -5027,7 +5053,7 @@ transcendental functions).")
'(#:tests? #f))
(propagated-inputs
`(("python-six" ,python-six)))
(home-page "http://matplotlib.org/cycler/")
(home-page "https://matplotlib.org/cycler/")
(synopsis "Composable keyword argument iterator")
(description
"When using @code{matplotlib} and plotting more than one line, it is
@ -5082,8 +5108,9 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf"))))
(base32 "1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf"))
(patches
(search-patches "python-matplotlib-run-under-wayland-gtk3.patch"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
@ -5742,13 +5769,13 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pikepdf
(package
(name "python-pikepdf")
(version "2.5.2")
(version "2.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pikepdf" version))
(sha256
(base32 "1wwfspm912388a61lailbpjpqihq9ha8yz05mjqx9yys4ixykhwg"))))
(base32 "1dfc8a7gp6ib6a2gdx6fz2zvvk4yx8vr2m7b6044rk91vpyrdzvl"))))
(build-system python-build-system)
(arguments
`(#:tests? #false)) ;require python-xmp-toolkit
@ -5773,14 +5800,14 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pillow
(package
(name "python-pillow")
(version "8.0.1")
(version "8.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pillow" version))
(sha256
(base32
"17pv0flaqqfld9m4lz8ayxyqb11gbbmr7w04mw4ar79cn3lwdi8i"))))
"086g7nhv52wclrwnzbzs2x3nvyzs2hfq1bvgivsrp5f7r7wiiz7n"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
@ -5855,6 +5882,39 @@ a general image processing tool.")
((#:tests? _ #f) #f)))
(properties '((hidden? #t)))))
(define-public python-pillow-simd
(package
(inherit python-pillow)
(name "python-pillow-simd")
(version "7.1.2")
;; The PyPI tarball does not include test files.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uploadcare/pillow-simd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w11np4cybamry3jsg70x747c79zwjzfq0xiprfp6c186rd6nzp9"))))
(arguments
(substitute-keyword-arguments
(package-arguments python-pillow)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'make-tests-writable
(lambda _
(for-each make-file-writable (find-files "Tests"))
#t))))))
(inputs
`(("libraqm" ,libraqm)
("libimagequant" ,libimagequant)
,@(package-inputs python-pillow)))
(home-page "https://github.com/uploadcare/pillow-simd")
(synopsis "Fork of the Python Imaging Library (Pillow)")
(description "This package is a fork of Pillow which adds support for SIMD
parallelism.")))
(define-public python-roifile
(package
(name "python-roifile")
@ -7083,7 +7143,7 @@ without using the configuration machinery.")
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-traitlets" ,python-traitlets)))
(home-page "http://jupyter.org/")
(home-page "https://jupyter.org/")
(synopsis "Jupyter base package")
(description
"Jupyter core is the base package on which Jupyter projects rely.")
@ -7124,7 +7184,7 @@ without using the configuration machinery.")
`(("python-pyzmq" ,python-pyzmq)
("python-traitlets" ,python-traitlets)
("python-jupyter-core" ,python-jupyter-core)))
(home-page "http://jupyter.org/")
(home-page "https://jupyter.org/")
(synopsis "Jupyter protocol implementation and client libraries")
(description
"The @code{jupyter_client} package contains the reference implementation
@ -7977,7 +8037,7 @@ and statistical routines from scipy and statsmodels.")
(replace 'check
(lambda _
(invoke "python" "mpmath/tests/runtests.py" "-local"))))))
(home-page "http://mpmath.org")
(home-page "https://mpmath.org")
(synopsis "Arbitrary-precision floating-point arithmetic in python")
(description
"@code{mpmath} can be used as an arbitrary-precision substitute for
@ -9895,7 +9955,7 @@ Debian-related files, such as:
("python-jsonschema" ,python-jsonschema)
("python-jupyter-core" ,python-jupyter-core)
("python-traitlets" ,python-traitlets)))
(home-page "http://jupyter.org")
(home-page "https://jupyter.org")
(synopsis "Jupyter Notebook format")
(description "This package provides the reference implementation of the
Jupyter Notebook format and Python APIs for working with notebooks.")
@ -10084,7 +10144,7 @@ time.")
("python-nbformat" ,python-nbformat)
("python-pygments" ,python-pygments)
("python-traitlets" ,python-traitlets)))
(home-page "http://jupyter.org")
(home-page "https://jupyter.org")
(synopsis "Converting Jupyter Notebooks")
(description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
notebooks to various other formats via Jinja templates. It allows you to
@ -10141,7 +10201,7 @@ convert an @code{.ipynb} notebook file into various static formats including:
`(("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx)
("python-requests" ,python-requests)))
(home-page "http://jupyter.org/")
(home-page "https://jupyter.org/")
(synopsis "Web-based notebook environment for interactive computing")
(description
"The Jupyter HTML notebook is a web-based notebook environment for
@ -10338,7 +10398,7 @@ Jupyter kernels such as IJulia and IRKernel.")
("python-ipython" ,python-ipython)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://jupyter.org")
(home-page "https://jupyter.org")
(synopsis "Jupyter Qt console")
(description "This package provides a Qt-based console for Jupyter with
support for rich media output.")
@ -10737,6 +10797,41 @@ applications.")
(home-page "https://github.com/click-contrib/click-log")
(license license:expat)))
(define-public python-structlog
(package
(name "python-structlog")
(version "20.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "structlog" version))
(sha256
(base32
"0x1i21vn3xjfa3j9ijbblia5z0jlzc9aqvpqc26sy16i8yjxyydg"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest"))
#t)))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-freezegun" ,python-freezegun)
("python-pretend" ,python-pretend)
("python-pytest" ,python-pytest)
("python-pytest-asyncio" ,python-pytest-asyncio)
("python-simplejson" ,python-simplejson)
("python-twisted" ,python-twisted)))
(home-page "https://www.structlog.org/")
(synopsis "Structured Logging for Python")
(description "@code{structlog} changes logging in Python by adding structure
to your log entries.")
(license (list license:asl2.0 license:expat))))
(define-public python-apipkg
(package
(name "python-apipkg")
@ -12166,6 +12261,54 @@ encoding algorithms to do fuzzy string matching.")
module, adding support for Unicode strings.")
(license license:bsd-2)))
(define-public python-pdfminer-six
(package
(name "python-pdfminer-six")
(version "20201018")
;; There are no tests in the PyPI tarball.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pdfminer/pdfminer.six")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a2fxxnnjqbx344znpvx7cnv1881dk6585ibw01inhfq3w6yj2lr"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Tests write to the source tree.
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(replace 'check
(lambda _
(invoke "make" "test")))
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
#t))))))
(propagated-inputs
`(("python-chardet" ,python-chardet)
("python-cryptography" ,python-cryptography)
("python-sortedcontainers" ,python-sortedcontainers)))
(native-inputs
`(("python-nose" ,python-nose)
("python-tox" ,python-tox)))
(home-page "https://github.com/pdfminer/pdfminer.six")
(synopsis "PDF parser and analyzer")
(description "@code{pdfminer.six} is a community maintained fork of
the original PDFMiner. It is a tool for extracting information from PDF
documents. It focuses on getting and analyzing text data. Pdfminer.six
extracts the text from a page directly from the sourcecode of the PDF. It
can also be used to get the exact location, font or color of the text.")
(license license:expat)))
(define-public python-rarfile
(package
(name "python-rarfile")
@ -12607,13 +12750,13 @@ multiple processes (imagine multiprocessing, billiard, futures, celery etc).
(define-public python-greenlet
(package
(name "python-greenlet")
(version "0.4.17")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "greenlet" version))
(sha256
(base32
"0swdhrcq13bdszv3yz5645gi4ijbzmmhxpb6whcfg3d7d5f87n21"))))
"1y6wbg9yhm9dw6m768n4yslp56h85pnxkk3drz6icn15g6f1d7ki"))))
(build-system python-build-system)
(home-page "https://greenlet.readthedocs.io/")
(synopsis "Lightweight in-process concurrent programming")
@ -12654,19 +12797,18 @@ graphviz.")
(define-public python-gevent
(package
(name "python-gevent")
(version "20.9.0")
(version "21.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "gevent" version))
(sha256
(base32
"13aw9x6imsy3b369kfjblqiwfni69pp32m4r13n62r9k3l2lhvaz"))
"10f9y899y9nmq51pv4r1zb51b4w5yxx00sz5whvg9vm956hc432j"))
(modules '((guix build utils)))
(snippet
'(begin
;; unbunding libev and c-ares
(delete-file-recursively "deps")
#t))))
(delete-file-recursively "deps")))))
(build-system python-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@ -12683,8 +12825,7 @@ graphviz.")
(substitute* file
(("/bin/sh") (which "sh"))
(("/bin/true") (which "true"))))
(find-files "src/greentest" "\\.py$"))
#t))
(find-files "src/greentest" "\\.py$"))))
(add-before 'build 'do-not-use-bundled-sources
(lambda _
(setenv "GEVENTSETUP_EMBED" "0")
@ -12692,8 +12833,7 @@ graphviz.")
;; Prevent building bundled libev.
(substitute* "setup.py"
(("run_make=_BUILDING")
"run_make=False"))
#t))
"run_make=False"))))
(add-before 'build 'add-greenlet-on-C_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((greenlet (string-append
@ -12706,16 +12846,14 @@ graphviz.")
(setenv "C_INCLUDE_PATH"
(string-append greenlet "/" python ":"
(or (getenv "C_INCLUDE_PATH")
""))))))
#t))
""))))))))
(add-before 'check 'pretend-to-be-CI
(lambda _
;; A few tests are skipped due to network constraints or
;; get longer timeouts when running in a CI environment.
;; Piggy-back on that, as we need the same adjustments.
(setenv "TRAVIS" "1")
(setenv "APPVEYOR" "1")
#t))
(setenv "APPVEYOR" "1")))
(add-before 'check 'adjust-tests
(lambda _
(let ((disabled-tests
@ -12747,8 +12885,7 @@ graphviz.")
(call-with-output-file "skipped_tests.txt"
(lambda (port)
(format port "~a~%"
(string-join disabled-tests "\n"))))
#t)))
(string-join disabled-tests "\n")))))))
(replace 'check
(lambda _
;; Use the build daemons configured number of workers.
@ -13223,7 +13360,7 @@ interfaces.")
(base32
"16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p"))))
(build-system python-build-system)
(home-page "http://msgpack.org/")
(home-page "https://msgpack.org/")
(synopsis "Package to deserialize messages in MessagePack binary format")
(description
"MessagePack is an efficient binary serialization format. It lets you
@ -13288,9 +13425,8 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(add-before 'build 'patch-setup-py
(lambda _
(substitute* "setup.py"
;; Newer versions of keyring produce a package with version "0.0.0"
;; Reported upstream: <https://github.com/jaraco/keyring/issues/469>
(("keyring>=21.2.0,<22.0.0") "keyring>=21.0.0,<22.0.0")
;; Allow newer versions of python-keyring.
(("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
;; TODO: remove after the next release cycle,
;; when packaging has been updated.
(("packaging>=20.4,<21.0") "packaging>=20.0,<21.0"))
@ -13761,9 +13897,11 @@ characters, mouse support, and auto suggestions.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(setenv "HOME" "/tmp")
(invoke "python" "-m" "pytest" "-vv"))))))
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(invoke "python" "-m" "pytest" "-vv"))
#t)))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-docopt" ,python-docopt)))
@ -14545,7 +14683,7 @@ Record Format (DWARF).")
(string-append "libev_dll_name = \"" libev "\"")))))))))
(inputs
`(("libev" ,libev)))
(home-page "http://pythonhosted.org/pyev/")
(home-page "https://github.com/gabrielfalcao/pyev")
(synopsis "Python libev interface")
(description "Pyev provides a Python interface to libev.")
(license license:gpl3)))
@ -15154,17 +15292,29 @@ projects.")
(package
(name "python-invoke")
(home-page "https://www.pyinvoke.org/")
(version "1.4.1")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "invoke" version))
(sha256
(base32
"0pg1lpl4583z83i12262v72y1a4cxdcxi7vqhl8dpqv9wszj6gyy"))))
"0l16v7zcbgi36z6pvmdrs5q4ks8lalcafi5d9nhrpcjzbc3n1igh"))))
(build-system python-build-system)
(arguments
;; XXX: Requires many dependencies that are not yet in Guix.
`(#:tests? #f))
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-bash-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "invoke/config.py"
(("shell = \"/bin/bash\"")
(string-append "shell = \"" bash "/bin/bash\""))
)
#t))))))
(inputs
`(("bash" ,bash-minimal)))
(synopsis "Pythonic task execution")
(description
"Invoke is a Python task execution tool and library, drawing inspiration
@ -20410,7 +20560,7 @@ format.")
(base32
"074anvhyjgsv2iby2ql1ixfvjgmhnvcwjbdz8gk70xzkzcm1fx5q"))))
(build-system python-build-system)
(home-page "http://www.joachim-bauch.de/projects/pylzma/")
(home-page "https://www.joachim-bauch.de/projects/pylzma/")
(synopsis "Python bindings for the LZMA library by Igor Pavlov.")
(description "This package provides Python bindings for the LZMA library
by Igor Pavlov.")
@ -22299,23 +22449,26 @@ networking engine for Python.")
(define-public python-pysaml2
(package
(name "python-pysaml2")
(version "5.0.0")
(version "6.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pysaml2" version))
(sha256
(base32
"1h8cmxh9cvxhrdfmkh92wg6zpxmhi2fixq1cy4hxismmaar7bsny"))))
"1xk2x0slz1f8cqv7vn77qx99xfd1mshhswiwrljk9m72w2m9iivd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-cryptography" ,python-cryptography)
("python-dateutil" ,python-dateutil)
("python-defusedxml" ,python-defusedxml)
("python-importlib-resources"
,python-importlib-resources)
("python-pyopenssl" ,python-pyopenssl)
("python-pytz" ,python-pytz)
("python-requests" ,python-requests)
("python-six" ,python-six)))
("python-six" ,python-six)
("python-xmlschema" ,python-xmlschema)))
(home-page "https://idpy.org")
(synopsis "Python implementation of SAML Version 2 Standard")
(description
@ -23647,3 +23800,106 @@ Application Programming Interface based on the Open Inventor 2.1 API.")
Crayons automatically wraps a given string in the foreground color and
restores the original state after the string is printed.")
(license license:expat)))
(define-public python-sane
(package
(name "python-sane")
(version "2.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"1pi597z94n2mkd821ln52fq0g727n2jxfskf280ip3kf7jw8w294"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(inputs
`(("sane-backends" ,sane-backends)))
(home-page "https://github.com/python-pillow/Sane")
(synopsis "Python interface to the SANE scanner")
(description "This package provides Python interface to the SANE scanner
and frame grabber interface.")
(license (license:non-copyleft
;; Yet another variant of the X/MIT license.
"https://github.com/python-pillow/Sane/blob/master/COPYING"))))
(define-public python-screenkey
(package
(name "python-screenkey")
(version "1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/screenkey/screenkey")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rfngmkh01g5192pi04r1fm7vsz6hg9k3qd313sn9rl9xkjgp11l"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-dlopen-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((x11 (assoc-ref inputs "libx11"))
(xtst (assoc-ref inputs "libxtst")))
(substitute* "Screenkey/xlib.py"
(("libX11.so.6")
(string-append x11 "/lib/libX11.so.6")))
(substitute* "Screenkey/xlib.py"
(("libXtst.so.6")
(string-append xtst "/lib/libXtst.so.6")))
#t)))
(add-after 'install 'wrap-screenkey
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out") "/bin/screenkey")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH"
":" prefix (,(getenv "GI_TYPELIB_PATH"))))
#t)))))
(inputs
`(("python-distutils-extra" ,python-distutils-extra)
("python-tokenize-rt" ,python-tokenize-rt)
("libx11" ,libx11)
("libxtst" ,libxtst)
("gtk+" ,gtk+)
("python-pygobject" ,python-pygobject)
("python-pycairo" ,python-pycairo)
("python-setuptools-git" ,python-setuptools-git)
("python-babel" ,python-babel)))
(home-page "https://www.thregr.org/~wavexx/software/screenkey/")
(synopsis
"Screencast tool to display pressed keys")
(description
"A screencast tool to display your keys inspired by Screenflick.")
(license license:gpl3+)))
(define-public python-jinja2-cli
(package
(name "python-jinja2-cli")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jinja2-cli" version))
(sha256
(base32
"0vikx7v6fbvww6kfrv0k5a24jyv3ak7nindg60906pdd1m9qvkcw"))))
(build-system python-build-system)
(propagated-inputs
`(("python-jinja2" ,python-jinja2)))
(native-inputs
`(("python-flake8" ,python-flake8)
("python-jinja2" ,python-jinja2)
("python-pytest" ,python-pytest)))
(home-page "https://github.com/mattrobenolt/jinja2-cli")
(synopsis "Command-line interface to Jinja2")
(description
"This package provides a command-line interface (CLI) to the Jinja2
template engine.")
(license license:bsd-3)))