Guix Case Study: plover-python-dictionary
Table of Contents
Overview
This case study walks through packaging the plover-python-dictionary
plugin within Guix. The plugin allows Plover to load steno
dictionaries which are stored as Python files.
The following Guix version is used here:
guix describe
Generation 67 Nov 05 2021 21:31:58 (current) guix c55a64c repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: c55a64cb7e82e88e26c26995f983fc9675b6276e
Garbage collection is run beforehand so that more of the build process can be demonstrated. It removes unused packages and build artifacts. Because of this, some parts of this case study take longer to build (and produce more output) than they may otherwise, since Guix needs to rebuild more things.
guix gc
DISCLAIMER
This may not be the most efficient way to create and maintain a package! However, it does show how packaging works within Guix and, if it's not the best method, it is sufficient.
Steps
1. Create a build environment
The guix shell
command1 can create a new shell with the
dependencies for a given package installed, but not the package
itself. Any dependencies are installed if they're not already present
on the system. It seems reasonable to assume that the dependencies
needed to build Plover would work for the plover-python-dictionary
plugin. At the very least, such an environment should provide a good
starting point.
In order to future-proof this case study, the guix time-machine
command is used. Guix is a rolling release and the guix
command
behaves similarly to git
in that it can walk the version history.
The guix time-machine
command provides access to other revisions of
Guix.
Here an alias is created so that instead of using the current (system)
version of guix
, the version given in the guix describe
above is
used. This is only for illustration purposes (unless you want to
follow along at home)! When developing a package on your own, just use
the latest guix
version (i.e. after guix pull
).
alias guix!="guix time-machine --url=https://git.savannah.gnu.org/git/guix.git --commit=c55a64cb7e82e88e26c26995f983fc9675b6276e --branch=master -- "
The following guix shell
command creates and activates a Plover
build environment. The --check
option confirms that no environment
variables unexpectedly get modified. If some are, the command has
several options to adjust the "purity" of the environment. The
--development
option installs the build dependencies while excluding
the package itself.
guix! shell --check --development plover
11.9 MB will be downloaded libx11-1.7.1A-doc 1.2MiB 468KiB/s 00:00 [## ] 16.1% : libx11-1.7.1A-doc 1.2MiB 997KiB/s 00:01 [######### ] 53.7% : libx11-1.7.1A-doc 1.2MiB 1.4MiB/s 00:01 [##################] 100.0% 29.8 MB will be downloaded ] 6.1% : gnutls-3.6.16-doc 1.0MiB 480KiB/s 00:00 [### ] 18.4% : gnutls-3.6.16-doc 1.0MiB 949KiB/s 00:01 [######### ] 55.3% : gnutls-3.6.16-doc 1.0MiB 1.3MiB/s 00:01 [##################] 100.0% gnutls-3.6.16 1.7MiB 3.7MiB/s 00:00 [######### ] 52.1% : gnutls-3.6.16 1.7MiB 3.9MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxrender-0.9.10 23KiB 1.3MiB/s 00:00 [##################] 100.0% gnutls-3.6.16-debug 2.3MiB 2.0MiB/s 00:00 [#### ] 24.8% : gnutls-3.6.16-debug 2.3MiB 3.6MiB/s 00:00 [############# ] 77.2% : gnutls-3.6.16-debug 2.3MiB 3.7MiB/s 00:01 [##################] 100.0% #################] 100.0% : libxft-2.3.3 47KiB 1.6MiB/s 00:00 [##################] 100.0% #################] 100.0% : python-pyqt5-sip-12.8.1 66KiB 4.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : python-wrapper-3.8.2 362B 103KiB/s 00:00 [##################] 100.0% tk-8.6.10 1.3MiB 3.5MiB/s 00:00 [########## ] 59.1% : tk-8.6.10 1.3MiB 3.1MiB/s 00:00 [##################] 100.0% : tk-8.6.10 1.3MiB 3.1MiB/s 00:00 [##################] 100.0% #### ] 29.7% : python-pyparsing-2.4.6-doc 430KiB 5.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : python-3.8.2-tk 33KiB 3.1MiB/s 00:00 [##################] 100.0% 10.7 MB will be downloaded ## ] 17.9% : libtiff-4.2.0-doc 358KiB 433KiB/s 00:00 [######### ] 53.6% : libtiff-4.2.0-doc 358KiB 481KiB/s 00:01 [################ ] 89.3% : libtiff-4.2.0-doc 358KiB 490KiB/s 00:01 [##################] 100.0% 11.5 MB will be downloaded ### ] 27.4% : cyrus-sasl-2.1.27 234KiB 451KiB/s 00:00 [############## ] 82.2% : cyrus-sasl-2.1.27 234KiB 489KiB/s 00:00 [##################] 100.0% openldap-2.4.57 1.2MiB 1.2MiB/s 00:00 [#### ] 26.1% : openldap-2.4.57 1.2MiB 1.9MiB/s 00:00 [############# ] 73.0% : openldap-2.4.57 1.2MiB 2.3MiB/s 00:01 [##################] 100.0% 12.3 MB will be downloaded ## ] 20.3% : curl-7.77.0-doc 630KiB 887KiB/s 00:01 [############## ] 81.3% : curl-7.77.0-doc 630KiB 988KiB/s 00:01 [##################] 100.0% openldap-2.4.50 1.2MiB 2.1MiB/s 00:00 [######## ] 47.1% : openldap-2.4.50 1.2MiB 3.0MiB/s 00:00 [##################] 100.0% # ] 16.5% : curl-7.77.0 389KiB 1.8MiB/s 00:00 [##################] 100.0% : curl-7.77.0 389KiB 1.8MiB/s 00:00 [##################] 100.0% 14.8 MB will be downloaded ## ] 16.9% : curl-7.74.0 379KiB 465KiB/s 00:00 [######### ] 50.7% : curl-7.74.0 379KiB 630KiB/s 00:01 [##################] 100.0% git-minimal-2.33.1 4.3MiB 1.2MiB/s 00:00 [# ] 7.3% : git-minimal-2.33.1 4.3MiB 1.2MiB/s 00:01 [## ] 14.6% : git-minimal-2.33.1 4.3MiB 1.3MiB/s 00:01 [### ] 22.0% : git-minimal-2.33.1 4.3MiB 1.3MiB/s 00:01 [##### ] 29.3% : git-minimal-2.33.1 4.3MiB 1.3MiB/s 00:01 [###### ] 38.1% : git-minimal-2.33.1 4.3MiB 1.4MiB/s 00:01 [######## ] 46.8% : git-minimal-2.33.1 4.3MiB 1.4MiB/s 00:02 [########## ] 55.6% : git-minimal-2.33.1 4.3MiB 1.5MiB/s 00:02 [########### ] 65.9% : git-minimal-2.33.1 4.3MiB 1.5MiB/s 00:02 [############# ] 74.7% : git-minimal-2.33.1 4.3MiB 1.6MiB/s 00:02 [############### ] 86.4% : git-minimal-2.33.1 4.3MiB 1.6MiB/s 00:03 [################# ] 96.6% : git-minimal-2.33.1 4.3MiB 1.6MiB/s 00:03 [##################] 100.0% 23.0 MB will be downloaded glib-2.62.6 2.4MiB 480KiB/s 00:00 [# ] 7.9% : glib-2.62.6 2.4MiB 1.2MiB/s 00:01 [###### ] 34.2% : glib-2.62.6 2.4MiB 1.9MiB/s 00:01 [############ ] 71.1% : glib-2.62.6 2.4MiB 2.3MiB/s 00:01 [##################] 100.0% glibc-2.31-static 1.3MiB 759KiB/s 00:01 [####### ] 39.3% : glibc-2.31-static 1.3MiB 607KiB/s 00:01 [####### ] 44.3% : glibc-2.31-static 1.3MiB 577KiB/s 00:01 [######### ] 54.1% : glibc-2.31-static 1.3MiB 613KiB/s 00:01 [############ ] 68.9% : glibc-2.31-static 1.3MiB 785KiB/s 00:02 [##################] 100.0% ######### ] 60.9% : glib-2.62.6-bin 105KiB 4.2MiB/s 00:00 [##################] 100.0% glibc-utf8-locales-2.31 3.2MiB 4.8MiB/s 00:00 [##### ] 31.1% : glibc-utf8-locales-2.31 3.2MiB 5.3MiB/s 00:00 [############ ] 67.1% : glibc-utf8-locales-2.31 3.2MiB 5.0MiB/s 00:01 [################# ] 96.0% : glibc-utf8-locales-2.31 3.2MiB 5.1MiB/s 00:01 [##################] 100.0% #################] 100.0% : python-appdirs-1.4.3 12KiB 4.1MiB/s 00:00 [##################] 100.0% python-cython-0.29.22 1.8MiB 2.0MiB/s 00:00 [##### ] 30.7% : python-cython-0.29.22 1.8MiB 3.2MiB/s 00:00 [############### ] 85.1% : python-cython-0.29.22 1.8MiB 3.4MiB/s 00:01 [##################] 100.0% #### ] 32.4% : python-nose-1.3.7 197KiB 2.7MiB/s 00:00 [##################] 100.0% ##### ] 36.2% : python-pytest-bootstrap-5.3.5 353KiB 1.7MiB/s 00:00 [##################] 100.0% ##### ] 37.2% : python-sip-5.5.0 345KiB 3.3MiB/s 00:00 [##################] 100.0% ####### ] 45.7% : python-xmlschema-1.1.2 280KiB 4.9MiB/s 00:00 [##################] 100.0% sed-4.8 278KiB 7.3MiB/s 00:00 [##################] 100.0% ##### ] 36.2% : python-pytest-5.3.5 354KiB 3.9MiB/s 00:00 [##################] 100.0% apr-1.6.5 432KiB 8.0MiB/s 00:00 [##################] 100.0% python-numpy-1.17.3 4.3MiB 2.7MiB/s 00:00 [### ] 20.4% : python-numpy-1.17.3 4.3MiB 5.0MiB/s 00:01 [########### ] 61.2% : python-numpy-1.17.3 4.3MiB 4.9MiB/s 00:01 [############### ] 84.5% : python-numpy-1.17.3 4.3MiB 4.6MiB/s 00:01 [##################] 100.0% apr-util-1.6.1 242KiB 6.1MiB/s 00:00 [##################] 100.0% utf8proc-2.5.0 147KiB 4.4MiB/s 00:00 [##################] 100.0% #################] 100.0% : serf-1.3.9 86KiB 5.6MiB/s 00:00 [##################] 100.0% subversion-1.14.1 2.8MiB 2.3MiB/s 00:00 [#### ] 22.5% : subversion-1.14.1 2.8MiB 4.2MiB/s 00:01 [############# ] 76.6% : subversion-1.14.1 2.8MiB 4.0MiB/s 00:01 [##################] 100.0% 11.9 MB will be downloaded graphviz-2.42.3-doc 3.8MiB 456KiB/s 00:00 [ ] 4.9% : graphviz-2.42.3-doc 3.8MiB 717KiB/s 00:01 [## ] 11.5% : graphviz-2.42.3-doc 3.8MiB 818KiB/s 00:01 [### ] 18.1% : graphviz-2.42.3-doc 3.8MiB 963KiB/s 00:01 [#### ] 26.3% : graphviz-2.42.3-doc 3.8MiB 1011KiB/s 00:01 [##### ] 32.9% : graphviz-2.42.3-doc 3.8MiB 1.1MiB/s 00:02 [####### ] 42.7% : graphviz-2.42.3-doc 3.8MiB 1.1MiB/s 00:02 [######### ] 52.6% : graphviz-2.42.3-doc 3.8MiB 1.2MiB/s 00:02 [########### ] 62.4% : graphviz-2.42.3-doc 3.8MiB 1.3MiB/s 00:02 [############# ] 75.6% : graphviz-2.42.3-doc 3.8MiB 1.3MiB/s 00:02 [############### ] 85.4% : graphviz-2.42.3-doc 3.8MiB 1.4MiB/s 00:03 [##################] 100.0% : graphviz-2.42.3-doc 3.8MiB 1.4MiB/s 00:03 [##################] 100.0% #################] 100.0% : desktop-file-utils-0.26 46KiB 1.8MiB/s 00:00 [##################] 100.0% ####### ] 49.5% : gd-2.3.0 129KiB 1.8MiB/s 00:00 [##################] 100.0% ###### ] 40.8% : gts-0.7.6 314KiB 5.3MiB/s 00:00 [##################] 100.0% # ] 15.6% : harfbuzz-2.6.4 822KiB 2.6MiB/s 00:00 [################ ] 93.5% : harfbuzz-2.6.4 822KiB 2.3MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxext-1.3.4 103KiB 2.5MiB/s 00:00 [##################] 100.0% ########## ] 61.6% : libxt-1.2.0 208KiB 6.2MiB/s 00:00 [##################] 100.0% # ] 15.7% : cairo-1.16.0 814KiB 364KiB/s 00:01 [########### ] 62.9% : cairo-1.16.0 814KiB 531KiB/s 00:02 [##################] 100.0% ############## ] 88.4% : libxmu-1.1.3 72KiB 1.9MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxpm-3.5.13 51KiB 1.5MiB/s 00:00 [##################] 100.0% ## ] 19.6% : pango-1.44.7 327KiB 4.6MiB/s 00:00 [##################] 100.0% ## ] 19.0% : libxaw-1.0.13 337KiB 3.0MiB/s 00:00 [##################] 100.0% # ] 16.3% : shared-mime-info-1.15 787KiB 2.0MiB/s 00:00 [############## ] 81.3% : shared-mime-info-1.15 787KiB 1.9MiB/s 00:00 [##################] 100.0% graphviz-2.42.3 3.3MiB 2.7MiB/s 00:00 [#### ] 26.1% : graphviz-2.42.3 3.3MiB 3.0MiB/s 00:01 [######## ] 48.5% : graphviz-2.42.3 3.3MiB 3.0MiB/s 00:01 [############ ] 70.9% : graphviz-2.42.3 3.3MiB 3.1MiB/s 00:01 [################ ] 93.3% : graphviz-2.42.3 3.3MiB 3.1MiB/s 00:01 [##################] 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% 28.8 MB will be downloaded cups-minimal-2.3.3 5.1MiB 453KiB/s 00:00 [ ] 3.7% : cups-minimal-2.3.3 5.1MiB 925KiB/s 00:01 [# ] 11.1% : cups-minimal-2.3.3 5.1MiB 1.7MiB/s 00:01 [#### ] 27.0% : cups-minimal-2.3.3 5.1MiB 2.4MiB/s 00:01 [######## ] 47.9% : cups-minimal-2.3.3 5.1MiB 2.9MiB/s 00:01 [############ ] 70.1% : cups-minimal-2.3.3 5.1MiB 3.0MiB/s 00:01 [############### ] 86.1% : cups-minimal-2.3.3 5.1MiB 2.9MiB/s 00:02 [################ ] 93.4% : cups-minimal-2.3.3 5.1MiB 2.9MiB/s 00:02 [##################] 100.0% ## ] 16.7% : libtiff-4.1.0 383KiB 4.3MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxfixes-5.0.3 13KiB 1.7MiB/s 00:00 [##################] 100.0% ######### ] 58.3% : lcms-2.9 219KiB 6.1MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxdamage-1.1.5 7KiB 2.3MiB/s 00:00 [##################] 100.0% ####### ] 46.3% : libxi-1.7.10 138KiB 3.0MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxrandr-1.5.2 26KiB 2.3MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxv-1.0.11 33KiB 3.8MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxxf86vm-1.1.4 14KiB 1.1MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxvmc-1.0.12 24KiB 5.4MiB/s 00:00 [##################] 100.0% #### ] 30.5% : openjpeg-2.3.1 210KiB 5.7MiB/s 00:00 [##################] 100.0% mesa-20.2.4 37.0MiB 2.2MiB/s 00:00 [ ] 2.0% : mesa-20.2.4 37.0MiB 4.2MiB/s 00:01 [# ] 6.8% : mesa-20.2.4 37.0MiB 4.2MiB/s 00:01 [# ] 9.1% : mesa-20.2.4 37.0MiB 4.2MiB/s 00:01 [## ] 11.5% : mesa-20.2.4 37.0MiB 4.2MiB/s 00:01 [## ] 13.8% : mesa-20.2.4 37.0MiB 4.3MiB/s 00:01 [## ] 16.5% : mesa-20.2.4 37.0MiB 4.3MiB/s 00:02 [### ] 19.2% : mesa-20.2.4 37.0MiB 4.3MiB/s 00:02 [### ] 22.0% : mesa-20.2.4 37.0MiB 4.4MiB/s 00:02 [#### ] 24.7% : mesa-20.2.4 37.0MiB 4.4MiB/s 00:02 [#### ] 27.4% : mesa-20.2.4 37.0MiB 4.5MiB/s 00:02 [##### ] 30.1% : mesa-20.2.4 37.0MiB 4.5MiB/s 00:03 [##### ] 32.4% : mesa-20.2.4 37.0MiB 4.5MiB/s 00:03 [###### ] 35.1% : mesa-20.2.4 37.0MiB 4.5MiB/s 00:03 [###### ] 37.8% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:03 [####### ] 40.9% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:04 [####### ] 43.6% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:04 [######## ] 46.3% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:04 [######## ] 49.3% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:04 [######### ] 52.0% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:04 [######### ] 55.0% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:05 [########## ] 58.1% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:05 [########### ] 61.1% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:05 [########### ] 63.8% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:05 [########### ] 66.2% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:05 [############ ] 69.6% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:06 [############# ] 72.3% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:06 [############# ] 75.3% : mesa-20.2.4 37.0MiB 4.8MiB/s 00:06 [############## ] 78.3% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:06 [############## ] 80.7% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:06 [############## ] 83.1% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:07 [############### ] 86.1% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:07 [############### ] 88.1% : mesa-20.2.4 37.0MiB 4.7MiB/s 00:07 [################ ] 90.5% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:07 [################ ] 93.2% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:08 [################# ] 96.2% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:08 [################# ] 98.6% : mesa-20.2.4 37.0MiB 4.6MiB/s 00:08 [##################] 100.0% #################] 100.0% : freeglut-3.2.1 126KiB 3.1MiB/s 00:00 [##################] 100.0% ##### ] 35.6% : libwebp-1.1.0 360KiB 7.2MiB/s 00:00 [##################] 100.0% ## ] 19.3% : python-pillow-8.1.1 663KiB 3.5MiB/s 00:00 [##################] 100.0% 26.5 MB will be downloaded python-babel-2.9.0 4.9MiB 469KiB/s 00:00 [ ] 3.9% : python-babel-2.9.0 4.9MiB 1.0MiB/s 00:01 [## ] 12.9% : python-babel-2.9.0 4.9MiB 1.5MiB/s 00:01 [#### ] 25.7% : python-babel-2.9.0 4.9MiB 682KiB/s 00:02 [##### ] 28.3% : python-babel-2.9.0 4.9MiB 930KiB/s 00:02 [####### ] 42.5% : python-babel-2.9.0 4.9MiB 1.2MiB/s 00:02 [########### ] 61.8% : python-babel-2.9.0 4.9MiB 1.5MiB/s 00:03 [############## ] 81.1% : python-babel-2.9.0 4.9MiB 1.4MiB/s 00:03 [################ ] 90.1% : python-babel-2.9.0 4.9MiB 1.3MiB/s 00:03 [################ ] 91.4% : python-babel-2.9.0 4.9MiB 1.2MiB/s 00:04 [################ ] 93.9% : python-babel-2.9.0 4.9MiB 1.2MiB/s 00:04 [##################] 100.0% : python-babel-2.9.0 4.9MiB 1.2MiB/s 00:04 [##################] 100.0% ## ] 17.3% : avahi-0.8 371KiB 4.5MiB/s 00:00 [##################] 100.0% # ] 15.7% : cairo-1.16.0 815KiB 523KiB/s 00:01 [########### ] 62.9% : cairo-1.16.0 815KiB 605KiB/s 00:01 [################ ] 94.3% : cairo-1.16.0 815KiB 609KiB/s 00:01 [##################] 100.0% ghostscript-with-cups-9.52 9.3MiB 1.3MiB/s 00:00 [ ] 4.7% : ghostscript-with-cups-9.52 9.3MiB 3.2MiB/s 00:01 [### ] 18.9% : ghostscript-with-cups-9.52 9.3MiB 3.1MiB/s 00:01 [#### ] 25.6% : ghostscript-with-cups-9.52 9.3MiB 4.1MiB/s 00:01 [####### ] 42.5% : ghostscript-with-cups-9.52 9.3MiB 3.8MiB/s 00:01 [########## ] 58.7% : ghostscript-with-cups-9.52 9.3MiB 4.3MiB/s 00:02 [############# ] 76.2% : ghostscript-with-cups-9.52 9.3MiB 4.9MiB/s 00:02 [################# ] 97.1% : ghostscript-with-cups-9.52 9.3MiB 4.9MiB/s 00:02 [##################] 100.0% poppler-0.86.1 1.4MiB 1.8MiB/s 00:00 [####### ] 41.4% : poppler-0.86.1 1.4MiB 2.3MiB/s 00:01 [############### ] 87.3% : poppler-0.86.1 1.4MiB 2.4MiB/s 00:01 [##################] 100.0% ########## ] 64.3% : python-dbus-1.2.16 100KiB 1.4MiB/s 00:00 [##################] 100.0% # ] 13.6% : cups-filters-1.27.4 940KiB 4.8MiB/s 00:00 [##################] 100.0% #################] 100.0% : python-hidapi-0.7.99.post21 44KiB 2.8MiB/s 00:00 [##################] 100.0% cups-2.3.3 5.2MiB 2.0MiB/s 00:00 [## ] 12.1% : cups-2.3.3 5.2MiB 4.3MiB/s 00:01 [####### ] 43.5% : cups-2.3.3 5.2MiB 4.1MiB/s 00:01 [########## ] 60.4% : cups-2.3.3 5.2MiB 4.2MiB/s 00:01 [############# ] 77.4% : cups-2.3.3 5.2MiB 3.8MiB/s 00:01 [################ ] 91.9% : cups-2.3.3 5.2MiB 3.8MiB/s 00:01 [##################] 100.0% #################] 100.0% : python-pyserial-3.5 120KiB 1.8MiB/s 00:00 [##################] 100.0% 0.1 MB will be downloaded ########### ] 68.1% : zziplib-0.13.72 94KiB 443KiB/s 00:00 [##################] 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 50.0% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% 49.9 MB will be downloaded 2B-3.24.24-doc 3.0MiB 448KiB/s 00:00 [ ] 2.1% : gtk%2B-3.24.24-doc 3.0MiB 616KiB/s 00:00 [# ] 8.3% : gtk%2B-3.24.24-doc 3.0MiB 1018KiB/s 00:01 [### ] 20.8% : gtk%2B-3.24.24-doc 3.0MiB 1.8MiB/s 00:01 [######## ] 49.9% : gtk%2B-3.24.24-doc 3.0MiB 2.1MiB/s 00:01 [############# ] 74.9% : gtk%2B-3.24.24-doc 3.0MiB 2.4MiB/s 00:01 [##################] 100.0% ### ] 23.8% : atk-2.34.1 269KiB 2.2MiB/s 00:00 [##################] 100.0% cups-2.3.3 5.2MiB 2.0MiB/s 00:00 [## ] 12.1% : cups-2.3.3 5.2MiB 3.6MiB/s 00:01 [###### ] 36.3% : cups-2.3.3 5.2MiB 3.5MiB/s 00:01 [######### ] 50.8% : cups-2.3.3 5.2MiB 3.5MiB/s 00:01 [########### ] 65.3% : cups-2.3.3 5.2MiB 3.5MiB/s 00:01 [############## ] 82.2% : cups-2.3.3 5.2MiB 3.4MiB/s 00:01 [################ ] 94.3% : cups-2.3.3 5.2MiB 3.3MiB/s 00:02 [##################] 100.0% ### ] 22.6% : gdk-pixbuf-2.40.0 566KiB 4.7MiB/s 00:00 [##################] 100.0% ######### ] 56.1% : libcroco-0.6.13 228KiB 2.0MiB/s 00:00 [##################] 100.0% #### ] 31.4% : libepoxy-1.5.4 408KiB 4.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxcursor-1.2.0 29KiB 1.1MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxinerama-1.1.4 9KiB 878KiB/s 00:00 [##################] 100.0% ## ] 21.8% : libxkbcommon-1.0.3 293KiB 3.8MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxtst-1.2.3 29KiB 1.4MiB/s 00:00 [##################] 100.0% mariadb-10.5.8-lib 5.3MiB 3.8MiB/s 00:00 [## ] 16.4% : mariadb-10.5.8-lib 5.3MiB 3.7MiB/s 00:00 [##### ] 30.5% : mariadb-10.5.8-lib 5.3MiB 3.5MiB/s 00:01 [####### ] 42.3% : mariadb-10.5.8-lib 5.3MiB 3.7MiB/s 00:01 [########## ] 61.1% : mariadb-10.5.8-lib 5.3MiB 3.8MiB/s 00:01 [############# ] 77.5% : mariadb-10.5.8-lib 5.3MiB 3.9MiB/s 00:01 [################ ] 93.9% : mariadb-10.5.8-lib 5.3MiB 3.9MiB/s 00:01 [##################] 100.0% ########## ] 63.1% : at-spi2-core-2.34.0 203KiB 2.3MiB/s 00:00 [##################] 100.0% mariadb-10.5.8 22.2MiB 4.2MiB/s 00:00 [ ] 4.5% : mariadb-10.5.8 22.2MiB 4.2MiB/s 00:00 [# ] 8.4% : mariadb-10.5.8 22.2MiB 3.9MiB/s 00:01 [## ] 11.8% : mariadb-10.5.8 22.2MiB 3.8MiB/s 00:01 [## ] 15.2% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:01 [### ] 18.6% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:01 [### ] 21.9% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:02 [#### ] 25.3% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:02 [##### ] 28.7% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:02 [##### ] 32.1% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:02 [###### ] 35.5% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:02 [####### ] 39.4% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:03 [####### ] 42.8% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:03 [######## ] 46.7% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:03 [######### ] 50.1% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:03 [######### ] 52.9% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:04 [########## ] 56.8% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:04 [########## ] 60.8% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:04 [########### ] 64.7% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:04 [############ ] 68.1% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:04 [############ ] 72.0% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:05 [############# ] 75.4% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:05 [############## ] 79.3% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:05 [############## ] 82.7% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:05 [############### ] 86.1% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:05 [################ ] 88.9% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:06 [################ ] 92.3% : mariadb-10.5.8 22.2MiB 3.7MiB/s 00:06 [################# ] 97.4% : mariadb-10.5.8 22.2MiB 3.6MiB/s 00:06 [##################] 100.0% #################] 100.0% : at-spi2-atk-2.34.1 71KiB 3.0MiB/s 00:00 [##################] 100.0% # ] 13.3% : mariadb-10.5.8-dev 960KiB 3.9MiB/s 00:00 [##################] 100.0% : mariadb-10.5.8-dev 960KiB 3.7MiB/s 00:00 [##################] 100.0% ### ] 26.7% : pango-1.42.4 480KiB 4.3MiB/s 00:00 [##################] 100.0% ######### ] 60.1% : polkit-0.116 213KiB 3.6MiB/s 00:00 [##################] 100.0% ############## ] 88.0% : librsvg-2.40.21 145KiB 2.0MiB/s 00:00 [##################] 100.0% 2Bsvg-2.40.0 4.8MiB 4.1MiB/s 00:00 [ ] 2.6% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 2.0MiB/s 00:00 [## ] 13.0% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.6MiB/s 00:01 [####### ] 39.1% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.3MiB/s 00:01 [######### ] 52.1% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.3MiB/s 00:01 [############ ] 67.7% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.3MiB/s 00:01 [############## ] 83.3% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.3MiB/s 00:01 [################# ] 96.3% : gdk-pixbuf%2Bsvg-2.40.0 4.8MiB 3.2MiB/s 00:02 [##################] 100.0% 2B-3.24.24 8.1MiB 4.0MiB/s 00:00 [ ] 1.5% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:00 [# ] 10.8% : gtk%2B-3.24.24 8.1MiB 3.7MiB/s 00:00 [### ] 21.6% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:01 [##### ] 30.9% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:01 [####### ] 40.1% : gtk%2B-3.24.24 8.1MiB 3.5MiB/s 00:01 [######## ] 49.4% : gtk%2B-3.24.24 8.1MiB 3.5MiB/s 00:01 [########## ] 58.7% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:02 [############ ] 67.9% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:02 [############# ] 77.2% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:02 [############### ] 88.0% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:02 [################# ] 98.8% : gtk%2B-3.24.24 8.1MiB 3.6MiB/s 00:02 [##################] 100.0% 2B-3.24.24-bin 812KiB 5.5MiB/s 00:00 [## ] 15.8% : gtk%2B-3.24.24-bin 812KiB 3.6MiB/s 00:00 [##################] 100.0% : gtk%2B-3.24.24-bin 812KiB 3.5MiB/s 00:00 [##################] 100.0% 5.7 MB will be downloaded postgresql-13.3 5.4MiB 615KiB/s 00:00 [ ] 4.6% : postgresql-13.3 5.4MiB 1020KiB/s 00:01 [## ] 12.7% : postgresql-13.3 5.4MiB 1.3MiB/s 00:01 [### ] 21.9% : postgresql-13.3 5.4MiB 1.4MiB/s 00:01 [##### ] 29.9% : postgresql-13.3 5.4MiB 1.5MiB/s 00:01 [###### ] 36.8% : postgresql-13.3 5.4MiB 1.6MiB/s 00:02 [######## ] 46.0% : postgresql-13.3 5.4MiB 1.6MiB/s 00:02 [######### ] 54.1% : postgresql-13.3 5.4MiB 1.7MiB/s 00:02 [########### ] 63.3% : postgresql-13.3 5.4MiB 1.8MiB/s 00:02 [############# ] 72.5% : postgresql-13.3 5.4MiB 1.9MiB/s 00:02 [############### ] 84.0% : postgresql-13.3 5.4MiB 1.9MiB/s 00:03 [################# ] 95.5% : postgresql-13.3 5.4MiB 1.9MiB/s 00:03 [##################] 100.0% : postgresql-13.3 5.4MiB 1.9MiB/s 00:03 [##################] 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 33.3% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 66.7% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% 120.8 MB will be downloaded ########### ] 69.8% : glib-networking-2.62.2 92KiB 404KiB/s 00:00 [##################] 100.0% #################] 100.0% : enchant-2.2.15 49KiB 1.3MiB/s 00:00 [##################] 100.0% #################] 100.0% : gamin-0.1.10 71KiB 441KiB/s 00:00 [##################] 100.0% ### ] 24.9% : glu-9.0.1 257KiB 1.3MiB/s 00:00 [##################] 100.0% gstreamer-1.18.2 1.4MiB 3.4MiB/s 00:00 [######### ] 52.6% : gstreamer-1.18.2 1.4MiB 2.9MiB/s 00:00 [############### ] 87.7% : gstreamer-1.18.2 1.4MiB 2.9MiB/s 00:00 [##################] 100.0% # ] 11.4% : libical-3.0.8 564KiB 3.2MiB/s 00:00 [##################] 100.0% ] 6.3% : gst-plugins-base-1.18.2 2.0MiB 3.6MiB/s 00:00 [####### ] 44.2% : gst-plugins-base-1.18.2 2.0MiB 3.3MiB/s 00:00 [############# ] 75.8% : gst-plugins-base-1.18.2 2.0MiB 1.0MiB/s 00:02 [############### ] 88.4% : gst-plugins-base-1.18.2 2.0MiB 1.1MiB/s 00:02 [##################] 100.0% ] 6.6% : bluez-5.55 973KiB 3.7MiB/s 00:00 [################ ] 92.1% : bluez-5.55 973KiB 3.7MiB/s 00:00 [##################] 100.0% ### ] 25.1% : libinput-minimal-1.16.4 255KiB 4.0MiB/s 00:00 [##################] 100.0% #################] 100.0% : libnotify-0.7.9 37KiB 1.5MiB/s 00:00 [##################] 100.0% ###### ] 41.5% : libsecret-0.20.4 309KiB 3.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : libwpe-1.6.0 48KiB 2.6MiB/s 00:00 [##################] 100.0% #################] 100.0% : libxcomposite-0.4.5 10KiB 580KiB/s 00:00 [##################] 100.0% postgresql-13.1 6.2MiB 4.2MiB/s 00:00 [## ] 16.2% : postgresql-13.1 6.2MiB 4.5MiB/s 00:00 [##### ] 32.3% : postgresql-13.1 6.2MiB 4.4MiB/s 00:01 [######## ] 46.4% : postgresql-13.1 6.2MiB 4.4MiB/s 00:01 [########## ] 60.6% : postgresql-13.1 6.2MiB 4.2MiB/s 00:01 [############# ] 72.7% : postgresql-13.1 6.2MiB 4.3MiB/s 00:01 [############### ] 88.9% : postgresql-13.1 6.2MiB 3.9MiB/s 00:02 [##################] 100.0% ] 7.0% : pulseaudio-14.0 1.8MiB 3.9MiB/s 00:00 [######## ] 49.1% : pulseaudio-14.0 1.8MiB 4.1MiB/s 00:00 [##################] 100.0% : pulseaudio-14.0 1.8MiB 3.9MiB/s 00:00 [##################] 100.0% qtbase-5.15.2 17.5MiB 4.8MiB/s 00:00 [# ] 6.4% : qtbase-5.15.2 17.5MiB 4.8MiB/s 00:00 [## ] 12.2% : qtbase-5.15.2 17.5MiB 4.1MiB/s 00:01 [## ] 15.7% : qtbase-5.15.2 17.5MiB 3.6MiB/s 00:01 [### ] 17.9% : qtbase-5.15.2 17.5MiB 3.2MiB/s 00:01 [### ] 20.0% : qtbase-5.15.2 17.5MiB 4.6MiB/s 00:01 [###### ] 34.3% : qtbase-5.15.2 17.5MiB 4.6MiB/s 00:02 [####### ] 40.1% : qtbase-5.15.2 17.5MiB 4.6MiB/s 00:02 [######## ] 45.8% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:02 [######### ] 51.5% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:02 [########## ] 58.0% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:02 [########### ] 63.7% : qtbase-5.15.2 17.5MiB 4.8MiB/s 00:03 [############ ] 69.4% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:03 [############# ] 75.1% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:03 [############## ] 80.1% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:03 [############### ] 86.6% : qtbase-5.15.2 17.5MiB 4.8MiB/s 00:03 [################# ] 94.5% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:04 [################# ] 99.5% : qtbase-5.15.2 17.5MiB 4.7MiB/s 00:04 [##################] 100.0% #### ] 28.2% : sdl-1.2.15 454KiB 3.8MiB/s 00:00 [##################] 100.0% qtdeclarative-5.15.2 5.6MiB 3.7MiB/s 00:00 [### ] 17.9% : qtdeclarative-5.15.2 5.6MiB 4.0MiB/s 00:00 [###### ] 33.5% : qtdeclarative-5.15.2 5.6MiB 3.9MiB/s 00:01 [######## ] 47.0% : qtdeclarative-5.15.2 5.6MiB 4.1MiB/s 00:01 [########### ] 64.8% : qtdeclarative-5.15.2 5.6MiB 4.2MiB/s 00:01 [############## ] 82.7% : qtdeclarative-5.15.2 5.6MiB 4.3MiB/s 00:01 [##################] 100.0% #################] 100.0% : qtserialport-5.15.2 69KiB 3.7MiB/s 00:00 [##################] 100.0% # ] 11.6% : qtconnectivity-5.15.2 552KiB 1.3MiB/s 00:00 [##################] 100.0% : qtconnectivity-5.15.2 552KiB 1.2MiB/s 00:00 [##################] 100.0% qtlocation-5.15.2 3.1MiB 325KiB/s 00:01 [# ] 6.1% : qtlocation-5.15.2 3.1MiB 778KiB/s 00:01 [### ] 20.4% : qtlocation-5.15.2 3.1MiB 1.0MiB/s 00:01 [###### ] 34.6% : qtlocation-5.15.2 3.1MiB 1.2MiB/s 00:01 [######### ] 50.9% : qtlocation-5.15.2 3.1MiB 1.4MiB/s 00:01 [########### ] 65.2% : qtlocation-5.15.2 3.1MiB 1.5MiB/s 00:02 [############### ] 83.5% : qtlocation-5.15.2 3.1MiB 1.6MiB/s 00:02 [################# ] 99.8% : qtlocation-5.15.2 3.1MiB 1.6MiB/s 00:02 [##################] 100.0% ] 7.9% : qtmultimedia-5.15.2 810KiB 3.7MiB/s 00:00 [##################] 100.0% : qtmultimedia-5.15.2 810KiB 3.5MiB/s 00:00 [##################] 100.0% ######## ] 52.9% : qtsensors-5.15.2 242KiB 2.8MiB/s 00:00 [##################] 100.0% ########## ] 65.8% : qtsvg-5.15.2 195KiB 3.2MiB/s 00:00 [##################] 100.0% qttools-5.15.2 5.5MiB 2.6MiB/s 00:00 [## ] 13.7% : qttools-5.15.2 5.5MiB 2.7MiB/s 00:01 [#### ] 25.1% : qttools-5.15.2 5.5MiB 2.6MiB/s 00:01 [###### ] 34.2% : qttools-5.15.2 5.5MiB 2.6MiB/s 00:01 [######## ] 45.6% : qttools-5.15.2 5.5MiB 2.7MiB/s 00:01 [########## ] 57.0% : qttools-5.15.2 5.5MiB 2.8MiB/s 00:01 [############ ] 70.6% : qttools-5.15.2 5.5MiB 2.9MiB/s 00:02 [############### ] 84.3% : qttools-5.15.2 5.5MiB 3.0MiB/s 00:02 [##################] 100.0% : qttools-5.15.2 5.5MiB 3.0MiB/s 00:02 [##################] 100.0% #################] 100.0% : qtwebchannel-5.15.2 101KiB 4.7MiB/s 00:00 [##################] 100.0% #################] 100.0% : qtwebsockets-5.15.2 114KiB 4.0MiB/s 00:00 [##################] 100.0% qtwebkit-5.212.0-alpha4 12.8MiB 4.4MiB/s 00:00 [# ] 7.3% : qtwebkit-5.212.0-alpha4 12.8MiB 4.5MiB/s 00:00 [## ] 14.7% : qtwebkit-5.212.0-alpha4 12.8MiB 4.6MiB/s 00:01 [#### ] 22.5% : qtwebkit-5.212.0-alpha4 12.8MiB 4.4MiB/s 00:01 [##### ] 28.8% : qtwebkit-5.212.0-alpha4 12.8MiB 4.5MiB/s 00:01 [###### ] 37.2% : qtwebkit-5.212.0-alpha4 12.8MiB 4.5MiB/s 00:01 [######## ] 44.5% : qtwebkit-5.212.0-alpha4 12.8MiB 4.5MiB/s 00:01 [######### ] 52.3% : qtwebkit-5.212.0-alpha4 12.8MiB 4.6MiB/s 00:02 [########## ] 60.1% : qtwebkit-5.212.0-alpha4 12.8MiB 4.7MiB/s 00:02 [############ ] 68.9% : qtwebkit-5.212.0-alpha4 12.8MiB 4.7MiB/s 00:02 [############# ] 76.8% : qtwebkit-5.212.0-alpha4 12.8MiB 4.7MiB/s 00:02 [############### ] 85.1% : qtwebkit-5.212.0-alpha4 12.8MiB 4.8MiB/s 00:02 [################ ] 93.9% : qtwebkit-5.212.0-alpha4 12.8MiB 4.8MiB/s 00:03 [##################] 100.0% #################] 100.0% : qtx11extras-5.15.2 33KiB 2.4MiB/s 00:00 [##################] 100.0% ] 9.0% : qtxmlpatterns-5.15.2 1.4MiB 1.9MiB/s 00:00 [######### ] 54.0% : qtxmlpatterns-5.15.2 1.4MiB 2.3MiB/s 00:01 [##################] 100.0% #################] 100.0% : talloc-2.3.3 37KiB 2.8MiB/s 00:00 [##################] 100.0% python-pyqt-5.15.2 5.1MiB 2.0MiB/s 00:00 [# ] 9.8% : python-pyqt-5.15.2 5.1MiB 4.3MiB/s 00:00 [####### ] 39.1% : python-pyqt-5.15.2 5.1MiB 4.3MiB/s 00:01 [########## ] 56.2% : python-pyqt-5.15.2 5.1MiB 4.2MiB/s 00:01 [############# ] 73.3% : python-pyqt-5.15.2 5.1MiB 4.2MiB/s 00:01 [################ ] 90.4% : python-pyqt-5.15.2 5.1MiB 3.7MiB/s 00:01 [##################] 100.0% #################] 100.0% : tevent-0.11.0 56KiB 3.7MiB/s 00:00 [##################] 100.0% #################] 100.0% : wpebackend-fdo-1.6.1 27KiB 4.6MiB/s 00:00 [##################] 100.0% #################] 100.0% : xdg-dbus-proxy-0.1.2 29KiB 3.2MiB/s 00:00 [##################] 100.0% #################] 100.0% : xprop-1.2.5 24KiB 1.6MiB/s 00:00 [##################] 100.0% #################] 100.0% : xset-1.2.4 18KiB 4.1MiB/s 00:00 [##################] 100.0% ## ] 18.6% : zstd-1.4.4-lib 345KiB 2.1MiB/s 00:00 [##################] 100.0% #################] 100.0% : xdg-utils-1.1.3 52KiB 991KiB/s 00:00 [##################] 100.0% libarchive-3.4.2 556KiB 6.0MiB/s 00:00 [##################] 100.0% samba-4.13.10 15.9MiB 4.2MiB/s 00:00 [# ] 6.3% : samba-4.13.10 15.9MiB 4.4MiB/s 00:00 [## ] 12.6% : samba-4.13.10 15.9MiB 4.5MiB/s 00:01 [### ] 18.9% : samba-4.13.10 15.9MiB 4.6MiB/s 00:01 [#### ] 25.2% : samba-4.13.10 15.9MiB 4.5MiB/s 00:01 [##### ] 31.5% : samba-4.13.10 15.9MiB 4.6MiB/s 00:01 [###### ] 38.6% : samba-4.13.10 15.9MiB 4.6MiB/s 00:02 [######## ] 44.9% : samba-4.13.10 15.9MiB 4.6MiB/s 00:02 [######### ] 51.2% : samba-4.13.10 15.9MiB 4.6MiB/s 00:02 [########## ] 57.5% : samba-4.13.10 15.9MiB 4.6MiB/s 00:02 [########### ] 64.6% : samba-4.13.10 15.9MiB 4.6MiB/s 00:02 [############ ] 70.9% : samba-4.13.10 15.9MiB 4.6MiB/s 00:03 [############# ] 77.3% : samba-4.13.10 15.9MiB 4.6MiB/s 00:03 [############### ] 83.6% : samba-4.13.10 15.9MiB 4.6MiB/s 00:03 [################ ] 89.9% : samba-4.13.10 15.9MiB 4.6MiB/s 00:03 [################# ] 95.4% : samba-4.13.10 15.9MiB 4.5MiB/s 00:04 [##################] 100.0% ### ] 27.6% : libsoup-2.72.0 463KiB 2.3MiB/s 00:00 [##################] 100.0% webkitgtk-2.34.1 24.1MiB 4.9MiB/s 00:00 [ ] 4.7% : webkitgtk-2.34.1 24.1MiB 4.9MiB/s 00:00 [# ] 8.8% : webkitgtk-2.34.1 24.1MiB 4.9MiB/s 00:01 [## ] 13.0% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:01 [### ] 17.1% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:01 [### ] 21.8% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:01 [#### ] 26.0% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:01 [##### ] 29.6% : webkitgtk-2.34.1 24.1MiB 4.9MiB/s 00:02 [###### ] 34.8% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:02 [####### ] 38.9% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:02 [####### ] 43.1% : webkitgtk-2.34.1 24.1MiB 4.9MiB/s 00:02 [######## ] 47.8% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:03 [######### ] 51.9% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:03 [########## ] 56.1% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:03 [########## ] 59.7% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:03 [########### ] 63.9% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:03 [############ ] 68.0% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:04 [############# ] 72.7% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:04 [############# ] 76.9% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:04 [############## ] 81.0% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:04 [############### ] 85.7% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:05 [################ ] 89.8% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:05 [################ ] 94.0% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:05 [################# ] 97.6% : webkitgtk-2.34.1 24.1MiB 4.8MiB/s 00:05 [##################] 100.0% wxwidgets-3.0.5.1 7.5MiB 2.1MiB/s 00:00 [# ] 8.3% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:01 [##### ] 29.9% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:01 [####### ] 41.6% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:01 [######### ] 53.2% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:01 [########### ] 64.9% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:01 [############# ] 76.5% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:02 [############### ] 88.2% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:02 [################# ] 99.8% : wxwidgets-3.0.5.1 7.5MiB 4.1MiB/s 00:02 [##################] 100.0% python-wxpython-4.0.7.post1 9.4MiB 3.1MiB/s 00:00 [# ] 9.3% : python-wxpython-4.0.7.post1 9.4MiB 3.7MiB/s 00:01 [### ] 19.9% : python-wxpython-4.0.7.post1 9.4MiB 3.8MiB/s 00:01 [##### ] 29.2% : python-wxpython-4.0.7.post1 9.4MiB 3.9MiB/s 00:01 [####### ] 39.9% : python-wxpython-4.0.7.post1 9.4MiB 4.0MiB/s 00:01 [######## ] 49.2% : python-wxpython-4.0.7.post1 9.4MiB 4.1MiB/s 00:01 [########## ] 59.8% : python-wxpython-4.0.7.post1 9.4MiB 4.2MiB/s 00:02 [############ ] 70.4% : python-wxpython-4.0.7.post1 9.4MiB 4.2MiB/s 00:02 [############## ] 81.1% : python-wxpython-4.0.7.post1 9.4MiB 4.2MiB/s 00:02 [################ ] 90.4% : python-wxpython-4.0.7.post1 9.4MiB 4.2MiB/s 00:02 [##################] 100.0% : python-wxpython-4.0.7.post1 9.4MiB 4.2MiB/s 00:02 [##################] 100.0% The following derivation will be built: /gnu/store/lzl4cb37ma9972hwgwivni3x5k2n5k6c-profile.drv 1.1 MB will be downloaded ######## ] 54.0% : module-import-compiled 119KiB 393KiB/s 00:00 [##################] 100.0% #################] 100.0% : ed-1.16 56KiB 1.7MiB/s 00:00 [##################] 100.0% # ] 12.9% : findutils-4.7.0 497KiB 1.4MiB/s 00:00 [############# ] 77.3% : findutils-4.7.0 497KiB 1.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : mkfontscale-1.2.1 21KiB 1.2MiB/s 00:00 [##################] 100.0% ] 10.4% : module-import-compiled 77KiB 3.7MiB/s 00:00 [##################] 100.0% #################] 100.0% : mkfontdir-1.0.7 4KiB 965KiB/s 00:00 [##################] 100.0% ############### ] 93.0% : module-import-compiled 69KiB 1.7MiB/s 00:00 [##################] 100.0% ] 8.1% : module-import-compiled 98KiB 3.8MiB/s 00:00 [##################] 100.0% ] 8.9% : module-import-compiled 90KiB 5.1MiB/s 00:00 [##################] 100.0% ] 6.8% : patch-2.7.6 117KiB 5.1MiB/s 00:00 [##################] 100.0% : applying 1 graft for /gnu/store/wqqi36vzcqkrmq1kddzd6gv1b5i9xwic-desktop-file-utils-0.26.drv ... : \ : applying 3 grafts for /gnu/store/7c3liz6kiqcjyg5nq0l2mhyb9qvn7h4r-python-babel-2.9.0.drv ... : | : applying 9 grafts for /gnu/store/blfyw85vk7n6ylqqdn1ixfb39n5df02b-sdl-1.2.15.drv ... : / : applying 20 grafts for /gnu/store/n6kalnmqimq0vb3bd77dy9wh6vdh34cm-wxwidgets-3.0.5.1.drv ... - applying 5 grafts for /gnu/store/nb2pp3qwg3cid7sm7xjv3xv5nw3j0vfn-python-wxpython-4.0.7.post1.drv ... \ building CA certificate bundle... listing Emacs sub-directories... building fonts directory... generating GLib schema cache... | creating GTK+ icon theme cache... building cache files for GTK+ input methods... building directory of Info manuals... building XDG desktop file cache... building XDG MIME database... building profile with 52 packages... / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / guix shell: checking the environment variables visible from shell '/gnu/store/87kif0bpf0anwbsaw0jvg8fyciw4sz67-bash-5.0.16/bin/bash'... guix shell: All is good! The shell gets correct environment variables.
2. Determine the package source
The plover-python-dictionary
is available on GitHub and PyPI. Both
sources could be used to build the Guix package. However, it may be
easier to use the PyPI source. Guix provides a helper function,
guix import
, which will try to generate a package definition
using PyPI's package definition. It will also recursively generate
definitions for all the base package's dependencies.
3. Create a package definition
Since the plover-python-dictionary
plugin is on PyPI, guix import
can be used. Use a redirect to create a file containing the output
of guix import
.
guix! import pypi --recursive plover-python-dictionary > plover-python-dictionary.scm
Starting download of /tmp/guix-file.N685PN From https://files.pythonhosted.org/packages/8d/ab/bcffe845da95f30fc9871ee0423570ad780c7b13c7b1a740da12cc7f5cfc/plover_python_dictionary-1.1.0.tar.gz... …ionary-1.1.0.tar.gz 5KiB 5.1MiB/s 00:00 [##################] 100.0% : …ionary-1.1.0.tar.gz 5KiB 629KiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.GNejWK From https://files.pythonhosted.org/packages/15/61/42845042f6ee303eb4a7c958eff4b0d8b063e93282a653a4dd233195c97c/plover_python_dictionary-1.1.0-py3-none-any.whl... …y-1.1.0-py3-none-any.whl 4KiB 3.9MiB/s 00:00 [##################] 100.0% : …y-1.1.0-py3-none-any.whl 4KiB 2.3MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.GZv6eN From https://files.pythonhosted.org/packages/c0/9e/4680b98378f8829ce4adeecc0f5a285381e20a3f8476fbb518b407c67046/plover-3.1.1.tar.gz... …1.1.tar.gz 3.0MiB 2.2MiB/s 00:00 [ ] 2.1% : …1.1.tar.gz 3.0MiB 5.1MiB/s 00:00 [####### ] 39.3% : …1.1.tar.gz 3.0MiB 5.2MiB/s 00:00 [############# ] 76.6% : …1.1.tar.gz 3.0MiB 5.2MiB/s 00:01 [##################] 100.0% Starting download of /tmp/guix-file.p1lXUJ From https://files.pythonhosted.org/packages/58/6f/04bf293b59681f279f691377035e3b5c0eaa5d519aae6803156a7b469675/plover-3.1.1-py2.py3-none-any.whl... ….py3-none-any.whl 2.1MiB 2.0MiB/s 00:00 [ ] 3.0% : ….py3-none-any.whl 2.1MiB 4.4MiB/s 00:00 [######### ] 51.1% : ….py3-none-any.whl 2.1MiB 5.0MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.DUiJGK From https://files.pythonhosted.org/packages/e9/bc/2d2c567fe5ac1924f35df879dbf529dd7e7cabd94745dc9d89024a934e76/appnope-0.1.2.tar.gz... …1.2.tar.gz 4KiB 3.9MiB/s 00:00 [##################] 100.0% : …1.2.tar.gz 4KiB 3.0MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.OM5kmK From https://files.pythonhosted.org/packages/e4/fa/0c6c9786aa6927d12d100d322588e125e6ed466ab0a3d2d509ea18aeb56d/appnope-0.1.2-py2.py3-none-any.whl... ….py3-none-any.whl 4KiB 8.7MiB/s 00:00 [##################] 100.0% : ….py3-none-any.whl 4KiB 5.5MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.kQKKOM From https://files.pythonhosted.org/packages/50/eb/a358e36731f5cb3b824ca27d2260f7f6acbd0d1f63c971ca83b4627d9ec6/pyobjc-core-7.3.tar.gz... …-7.3.tar.gz 668KiB 3.5MiB/s 00:00 [# ] 9.6% : …-7.3.tar.gz 668KiB 5.0MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.rzw4kL From https://files.pythonhosted.org/packages/88/9f/6778a9de41bc0b5602505b2ed92cc3ea242d5f2208ab41c3ad9ea3fdc18c/pyobjc_core-7.3-1-cp310-cp310-macosx_10_9_universal2.whl... …0-macosx_10_9_universal2.whl 504KiB 1.8MiB/s 00:00 [## ] 12.7% : …0-macosx_10_9_universal2.whl 504KiB 3.6MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.Qgti4M From https://files.pythonhosted.org/packages/72/b8/ff4fad9271931746a38c0a253b26054d7a94720353d9ab8b9dd847f47e1f/pyobjc-framework-Cocoa-7.3.tar.gz... …-Cocoa-7.3.tar.gz 3.3MiB 2.5MiB/s 00:00 [ ] 1.9% : …-Cocoa-7.3.tar.gz 3.3MiB 4.6MiB/s 00:00 [##### ] 32.3% : …-Cocoa-7.3.tar.gz 3.3MiB 5.1MiB/s 00:00 [########### ] 66.4% : …-Cocoa-7.3.tar.gz 3.3MiB 5.4MiB/s 00:01 [##################] 100.0% Starting download of /tmp/guix-file.ZEdPvK From https://files.pythonhosted.org/packages/ef/39/d1b6767500e9a78ef2d1290faa3011a064371d8d6aa4fe0668ca0e0177be/pyobjc_framework_Cocoa-7.3-1-cp310-cp310-macosx_10_9_universal2.whl... …0-cp310-macosx_10_9_universal2.whl 369KiB 2.4MiB/s 00:00 [### ] 17.3% : …0-cp310-macosx_10_9_universal2.whl 369KiB 3.8MiB/s 00:00 [##################] 100.0% Starting download of /tmp/guix-file.7n5iyN From https://files.pythonhosted.org/packages/92/77/d565a22274350f04bd9c5816d171c9e5cfd75e53b3f1dc52bb7171801ed3/pyobjc-framework-Quartz-7.3.tar.gz... …Quartz-7.3.tar.gz 3.2MiB 2.0MiB/s 00:00 [ ] 2.0% : …Quartz-7.3.tar.gz 3.2MiB 5.0MiB/s 00:00 [###### ] 37.4% : …Quartz-7.3.tar.gz 3.2MiB 5.4MiB/s 00:00 [############# ] 74.8% : …Quartz-7.3.tar.gz 3.2MiB 5.5MiB/s 00:01 [##################] 100.0% Starting download of /tmp/guix-file.74cHdN From https://files.pythonhosted.org/packages/8a/15/c04808fd18e5361889633d473a56d61433d830b9f6415d7c1011f2f7cb6c/pyobjc_framework_Quartz-7.3-1-cp310-cp310-macosx_10_9_universal2.whl... …0-cp310-macosx_10_9_universal2.whl 222KiB 2.3MiB/s 00:00 [##### ] 28.8% : …0-cp310-macosx_10_9_universal2.whl 222KiB 3.8MiB/s 00:00 [##################] 100.0%
The raw output looks like:
(define-public python-pyobjc-framework-quartz (package (name "python-pyobjc-framework-quartz") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Quartz" version)) (sha256 (base32 "02ygxh0dhb5xagyvcxc3i9147kbmm0ihkxmxh3wxwqj2qd22i0cq")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core) ("python-pyobjc-framework-cocoa" ,python-pyobjc-framework-cocoa))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Quartz frameworks on macOS") (description "Wrappers for the Quartz frameworks on macOS") (license license:expat))) (define-public python-pyobjc-framework-cocoa (package (name "python-pyobjc-framework-cocoa") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Cocoa" version)) (sha256 (base32 "0zhbp18i06aprwfbp06l9wm3qrzsdcyy9hwis5d4b8wmlzkhb3di")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Cocoa frameworks on macOS") (description "Wrappers for the Cocoa frameworks on macOS") (license license:expat))) (define-public python-pyobjc-core (package (name "python-pyobjc-core") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-core" version)) (sha256 (base32 "0x3msrzvcszlmladdpl64s48l52fwk4xlnnri8daq2mliggsx0ah")))) (build-system python-build-system) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Python<->ObjC Interoperability Module") (description "Python<->ObjC Interoperability Module") (license license:expat))) (define-public python-appnope (package (name "python-appnope") (version "0.1.2") (source (origin (method url-fetch) (uri (pypi-uri "appnope" version)) (sha256 (base32 "12i50gv145cl9qkf87av5aprq7qbcq601cvfiy1mh2a6bd5wv0yx")))) (build-system python-build-system) (home-page "http://github.com/minrk/appnope") (synopsis "Disable App Nap on macOS >= 10.9") (description "Disable App Nap on macOS >= 10.9") (license license:bsd-3)))
(define-public python-plover (package (name "python-plover") (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "plover" version)) (sha256 (base32 "1c2sz84g6n1y15g55sg8gkbja08kg2mmmbwxxhf3ibj0kg0d7gzl")))) (build-system python-build-system) (propagated-inputs `(("python-appdirs" ,python-appdirs) ("python-appnope" ,python-appnope) ("python-hidapi" ,python-hidapi) ("python-pyobjc-core" ,python-pyobjc-core) ("python-pyobjc-framework-cocoa" ,python-pyobjc-framework-cocoa) ("python-pyobjc-framework-quartz" ,python-pyobjc-framework-quartz) ("python-pyserial" ,python-pyserial) ("python-setuptools" ,python-setuptools) ("python-six" ,python-six) ("python-xlib" ,python-xlib))) (home-page "http://www.openstenoproject.org/") (synopsis "Open Source Stenography Software") (description "Open Source Stenography Software") (license #f)))
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover-python-dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (propagated-inputs `(("python-plover" ,python-plover))) (native-inputs `(("python-plover" ,python-plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
The output of guix import
is not likely to work without
modification. It doesn't include any module imports and, although
it creates a definition, it doesn't return the package
value. Fortunately, Guix will warn about these issues.
Notice that guix import
outputs a definition for Plover v3.1.1
(marked in red). Plover used to be distributed on PyPI, but that
stopped sometime around v4.0. The definition isn't needed (and
might get in the way) since the goal is to build for Plover
v4.0. Just delete it. There are other dependencies, like those for
MacOS, which probably aren't relevant for Guix. Those can remain
for now.
4. Handle package and module errors
Now that there's a package definition, try building to see if it works.
guix! build -f plover-python-dictionary.scm
[ ] : receiving objects 1% [ ] : receiving objects 2% [# ] : receiving objects 3% [## ] : receiving objects 4% [### ] : receiving objects 5% [### ] : receiving objects 6% [#### ] : receiving objects 7% [##### ] : receiving objects 8% [###### ] : receiving objects 9% [###### ] : receiving objects 10% [####### ] : receiving objects 11% [######## ] : receiving objects 12% [######### ] : receiving objects 13% [########## ] : receiving objects 14% [########## ] : receiving objects 15% [########### ] : receiving objects 16% [############ ] : receiving objects 17% [############# ] : receiving objects 18% [############# ] : receiving objects 19% [############## ] : receiving objects 20% [############### ] : receiving objects 21% [################ ] : receiving objects 22% [################# ] : receiving objects 23% [################# ] : receiving objects 24% [################## ] : receiving objects 25% [################### ] : receiving objects 26% [#################### ] : receiving objects 27% [#################### ] : receiving objects 28% [##################### ] : receiving objects 29% [###################### ] : receiving objects 30% [####################### ] : receiving objects 31% [######################## ] : receiving objects 31% [######################## ] : receiving objects 32% [######################### ] : receiving objects 33% [########################## ] : receiving objects 34% [########################### ] : receiving objects 35% [########################### ] : receiving objects 36% [############################ ] : receiving objects 37% [############################# ] : receiving objects 38% [############################## ] : receiving objects 39% [############################### ] : receiving objects 40% [############################### ] : receiving objects 41% [################################ ] : receiving objects 42% [################################# ] : receiving objects 43% [################################## ] : receiving objects 44% [################################## ] : receiving objects 45% [################################### ] : receiving objects 46% [#################################### ] : receiving objects 47% [##################################### ] : receiving objects 48% [###################################### ] : receiving objects 49% [###################################### ] : receiving objects 50% [####################################### ] : receiving objects 51% [######################################## ] : receiving objects 52% [######################################### ] : receiving objects 53% [######################################### ] : receiving objects 54% [########################################## ] : receiving objects 55% [########################################### ] : receiving objects 56% [############################################ ] : receiving objects 57% [############################################# ] : receiving objects 58% [############################################# ] : receiving objects 59% [############################################## ] : receiving objects 60% [############################################### ] : receiving objects 61% [################################################ ] : receiving objects 62% [################################################ ] : receiving objects 63% [################################################# ] : receiving objects 64% [################################################## ] : receiving objects 65% [################################################### ] : receiving objects 66% [#################################################### ] : receiving objects 67% [#################################################### ] : receiving objects 68% [##################################################### ] : receiving objects 69% [###################################################### ] : receiving objects 70% [####################################################### ] : receiving objects 71% [####################################################### ] : receiving objects 72% [######################################################## ] : receiving objects 73% [######################################################### ] : receiving objects 74% [########################################################## ] : receiving objects 75% [########################################################### ] : receiving objects 76% [########################################################### ] : receiving objects 77% [############################################################ ] : receiving objects 78% [############################################################# ] : receiving objects 79% [############################################################## ] : receiving objects 80% [############################################################## ] : receiving objects 81% [############################################################### ] : receiving objects 82% [################################################################ ] : receiving objects 83% [################################################################# ] : receiving objects 84% [################################################################## ] : receiving objects 85% [################################################################## ] : receiving objects 86% [################################################################### ] : receiving objects 87% [#################################################################### ] : receiving objects 88% [##################################################################### ] : receiving objects 89% [##################################################################### ] : receiving objects 90% [###################################################################### ] : receiving objects 91% [####################################################################### ] : receiving objects 92% [######################################################################## ] : receiving objects 93% [######################################################################### ] : receiving objects 94% [######################################################################### ] : receiving objects 94% [########################################################################## ] : receiving objects 95% [########################################################################### ] : receiving objects 96% [############################################################################ ] : receiving objects 97% [############################################################################ ] : receiving objects 98% [############################################################################# ] : receiving objects 99% [############################################################################## ] : indexing objects 20% [############### ] : indexing objects 21% [################ ] : indexing objects 22% [################# ] : indexing objects 23% [################## ] : indexing objects 24% [################## ] : indexing objects 25% [################### ] : indexing objects 26% [#################### ] : indexing objects 27% [##################### ] : indexing objects 28% [###################### ] : indexing objects 29% [###################### ] : indexing objects 30% [####################### ] : indexing objects 31% [######################## ] : indexing objects 31% [######################### ] : indexing objects 32% [######################### ] : indexing objects 33% [########################## ] : indexing objects 34% [########################### ] : indexing objects 35% [############################ ] : indexing objects 36% [############################# ] : indexing objects 37% [############################# ] : indexing objects 38% [############################## ] : indexing objects 39% [############################### ] : indexing objects 40% [################################ ] : indexing objects 41% [################################# ] : indexing objects 42% [################################# ] : indexing objects 43% [################################## ] : indexing objects 44% [################################### ] : indexing objects 45% [#################################### ] : indexing objects 46% [##################################### ] : indexing objects 47% [##################################### ] : indexing objects 48% [###################################### ] : indexing objects 49% [####################################### ] : indexing objects 50% [######################################## ] : indexing objects 51% [######################################## ] : indexing objects 52% [######################################### ] : indexing objects 53% [########################################## ] : indexing objects 54% [########################################### ] : indexing objects 55% [############################################ ] : indexing objects 56% [############################################ ] : indexing objects 57% [############################################# ] : indexing objects 58% [############################################## ] : indexing objects 59% [############################################### ] : indexing objects 60% [################################################ ] : indexing objects 61% [################################################ ] : indexing objects 62% [################################################# ] : indexing objects 63% [################################################## ] : indexing objects 64% [################################################### ] : indexing objects 65% [################################################### ] : indexing objects 66% [#################################################### ] : indexing objects 67% [##################################################### ] : indexing objects 68% [###################################################### ] : indexing objects 69% [####################################################### ] : indexing objects 70% [####################################################### ] : indexing objects 71% [######################################################## ] : indexing objects 72% [######################################################### ] : indexing objects 73% [########################################################## ] : indexing objects 74% [########################################################### ] : indexing objects 75% [########################################################### ] : indexing objects 76% [############################################################ ] : indexing objects 77% [############################################################# ] : indexing objects 78% [############################################################## ] : indexing objects 79% [############################################################## ] : indexing objects 80% [############################################################### ] : indexing objects 81% [################################################################ ] : indexing objects 82% [################################################################# ] : indexing objects 83% [################################################################## ] : indexing objects 84% [################################################################## ] : indexing objects 85% [################################################################### ] : indexing objects 86% [#################################################################### ] : indexing objects 87% [##################################################################### ] : indexing objects 88% [###################################################################### ] : indexing objects 89% [###################################################################### ] : indexing objects 90% [####################################################################### ] : indexing objects 91% [######################################################################## ] : indexing objects 92% [######################################################################### ] : indexing objects 93% [########################################################################## ] : indexing objects 94% [########################################################################## ] : indexing objects 94% [########################################################################### ] : indexing objects 95% [############################################################################ ] : indexing objects 96% [############################################################################# ] : indexing objects 97% [############################################################################# ] : indexing objects 98% [############################################################################## ] : indexing objects 99% [############################################################################### ] : Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... Authenticating channel 'guix', commits 9edb3f6 to f52719d (414 new commits)... ] : [# ] : [# ] : [# ] : [## ] : [## ] : [## ] : [## ] : [### ] : [### ] : [### ] : [### ] : [#### ] : [#### ] : [#### ] : [#### ] : [##### ] : [##### ] : [##### ] : [##### ] : [###### ] : [###### ] : [###### ] : [###### ] : [####### ] : [####### ] : [####### ] : [####### ] : [######## ] : [######## ] : [######## ] : [######## ] : [######### ] : [######### ] : [######### ] : [######### ] : [########## ] : [########## ] : [########## ] : [########## ] : [########### ] : [########### ] : [########### ] : [########### ] : [############ ] : [############ ] : [############ ] : [############ ] : [############# ] : [############# ] : [############# ] : [############# ] : [############## ] : [############## ] : [############## ] : [############## ] : [############### ] : [############### ] : [############### ] : [############### ] : [################ ] : [################ ] : [################ ] : [################ ] : [################# ] : [################# ] : [################# ] : [################# ] : [################## ] : [################## ] : [################## ] : [################## ] : [################### ] : [################### ] : [################### ] : [################### ] : [#################### ] : [#################### ] : [#################### ] : [#################### ] : [##################### ] : [##################### ] : [##################### ] : [##################### ] : [###################### ] : [###################### ] : [###################### ] : [###################### ] : [####################### ] : [####################### ] : [####################### ] : [####################### ] : [######################## ] : [######################## ] : [######################## ] : [######################## ] : [######################### ] : [######################### ] : [######################### ] : [######################### ] : [########################## ] : [########################## ] : [########################## ] : [########################## ] : [########################### ] : [########################### ] : [########################### ] : [########################### ] : [############################ ] : [############################ ] : [############################ ] : [############################ ] : [############################# ] : [############################# ] : [############################# ] : [############################# ] : [############################## ] : [############################## ] : [############################## ] : [############################## ] : [############################### ] : [############################### ] : [############################### ] : [############################### ] : [################################ ] : [################################ ] : [################################ ] : [################################ ] : [################################# ] : [################################# ] : [################################# ] : [################################# ] : [################################## ] : [################################## ] : [################################## ] : [################################## ] : [################################### ] : [################################### ] : [################################### ] : [################################### ] : [#################################### ] : [#################################### ] : [#################################### ] : [#################################### ] : [##################################### ] : [##################################### ] : [##################################### ] : [##################################### ] : [###################################### ] : [###################################### ] : [###################################### ] : [###################################### ] : [####################################### ] : [####################################### ] : [####################################### ] : [####################################### ] : [######################################## ] : [######################################## ] : [######################################## ] : [######################################## ] : [######################################### ] : [######################################### ] : [######################################### ] : [######################################### ] : [########################################## ] : [########################################## ] : [########################################## ] : [########################################## ] : [########################################### ] : [########################################### ] : [########################################### ] : [########################################### ] : [############################################ ] : [############################################ ] : [############################################ ] : [############################################ ] : [############################################# ] : [############################################# ] : [############################################# ] : [############################################# ] : [############################################## ] : [############################################## ] : [############################################## ] : [############################################## ] : [############################################### ] : [############################################### ] : [############################################### ] : [############################################### ] : [################################################ ] : [################################################ ] : [################################################ ] : [################################################ ] : [################################################# ] : [################################################# ] : [################################################# ] : [################################################# ] : [################################################## ] : [################################################## ] : [################################################## ] : [################################################## ] : [################################################### ] : [################################################### ] : [################################################### ] : [################################################### ] : [################################################### ] : [#################################################### ] : [#################################################### ] : [#################################################### ] : [#################################################### ] : [##################################################### ] : [##################################################### ] : [##################################################### ] : [##################################################### ] : [###################################################### ] : [###################################################### ] : [###################################################### ] : [###################################################### ] : [####################################################### ] : [####################################################### ] : [####################################################### ] : [####################################################### ] : [######################################################## ] : [######################################################## ] : [######################################################## ] : [######################################################## ] : [######################################################### ] : [######################################################### ] : [######################################################### ] : [######################################################### ] : [########################################################## ] : [########################################################## ] : [########################################################## ] : [########################################################## ] : [########################################################### ] : [########################################################### ] : [########################################################### ] : [########################################################### ] : [############################################################ ] : [############################################################ ] : [############################################################ ] : [############################################################ ] : [############################################################# ] : [############################################################# ] : [############################################################# ] : [############################################################# ] : [############################################################## ] : [############################################################## ] : [############################################################## ] : [############################################################## ] : [############################################################### ] : [############################################################### ] : [############################################################### ] : [############################################################### ] : [################################################################ ] : [################################################################ ] : [################################################################ ] : [################################################################ ] : [################################################################# ] : [################################################################# ] : [################################################################# ] : [################################################################# ] : [################################################################## ] : [################################################################## ] : [################################################################## ] : [################################################################## ] : [################################################################### ] : [################################################################### ] : [################################################################### ] : [################################################################### ] : [#################################################################### ] : [#################################################################### ] : [#################################################################### ] : [#################################################################### ] : [##################################################################### ] : [##################################################################### ] : [##################################################################### ] : [##################################################################### ] : [###################################################################### ] : [###################################################################### ] : [###################################################################### ] : [###################################################################### ] : [####################################################################### ] : [####################################################################### ] : [####################################################################### ] : [####################################################################### ] : [######################################################################## ] : [######################################################################## ] : [######################################################################## ] : [######################################################################## ] : [######################################################################### ] : [######################################################################### ] : [######################################################################### ] : [######################################################################### ] : [########################################################################## ] : [########################################################################## ] : [########################################################################## ] : [########################################################################## ] : [########################################################################### ] : [########################################################################### ] : [########################################################################### ] : [########################################################################### ] : [############################################################################ ] : [############################################################################ ] : [############################################################################ ] : [############################################################################ ] : [############################################################################# ] : [############################################################################# ] : [############################################################################# ] : [############################################################################# ] : [############################################################################## ] : [############################################################################## ] : [############################################################################## ] : [############################################################################## ] : [############################################################################### ] : [############################################################################### ] : [############################################################################### ] : [############################################################################### ] : [################################################################################ ] : [################################################################################ ] : [################################################################################ ] : [################################################################################ ] : [################################################################################# ] : [################################################################################# ] : [################################################################################# ] : [################################################################################# ] : [################################################################################## ] : [################################################################################## ] : [################################################################################## ] : [################################################################################## ] : [################################################################################### ] : [################################################################################### ] : [################################################################################### ] : [################################################################################### ] : [#################################################################################### ] : [#################################################################################### ] : [#################################################################################### ] : [#################################################################################### ] : [##################################################################################### ] : [##################################################################################### ] : [##################################################################################### ] : [##################################################################################### ] : [###################################################################################### ] : [###################################################################################### ] : [###################################################################################### ] : [###################################################################################### ] : [####################################################################################### ] : [####################################################################################### ] : [####################################################################################### ] : [####################################################################################### ] : [######################################################################################## ] : [######################################################################################## ] : [######################################################################################## ] : [######################################################################################## ] : [######################################################################################### ] : [######################################################################################### ] : [######################################################################################### ] : [######################################################################################### ] : [########################################################################################## ] : [########################################################################################## ] : [########################################################################################## ] : [########################################################################################## ] : [########################################################################################### ] : [########################################################################################### ] : [########################################################################################### ] : [########################################################################################### ] : [############################################################################################ ] : [############################################################################################ ] : [############################################################################################ ] : [############################################################################################ ] : [############################################################################################# ] : [############################################################################################# ] : [############################################################################################# ] : [############################################################################################# ] : [############################################################################################## ] : [############################################################################################## ] : [############################################################################################## ] : [############################################################################################## ] : [############################################################################################### ] : [############################################################################################### ] : [############################################################################################### ] : [############################################################################################### ] : [################################################################################################ ] : [################################################################################################ ] : [################################################################################################ ] : [################################################################################################ ] : [################################################################################################# ] : [################################################################################################# ] : [################################################################################################# ] : [################################################################################################# ] : [################################################################################################## ] : [################################################################################################## ] : [################################################################################################## ] : [################################################################################################## ] : [################################################################################################### ] : [################################################################################################### ] : [################################################################################################### ] : [################################################################################################### ] : [#################################################################################################### ] : [#################################################################################################### ] : [#################################################################################################### ] : [#################################################################################################### ] : [##################################################################################################### ] : [##################################################################################################### ] : [##################################################################################################### ] : [##################################################################################################### ] : [###################################################################################################### ] : [###################################################################################################### ] : [###################################################################################################### ] : [###################################################################################################### ] : [#######################################################################################################] : substitute: : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% #################] 100.0% : config.scm 501B 61KiB/s 00:00 [##################] 100.0% #################] 100.0% : git.scm 101B 59KiB/s 00:00 [##################] 100.0% #################] 100.0% : hash.scm 132B 63KiB/s 00:00 [##################] 100.0% #################] 100.0% : module-import 2KiB 177KiB/s 00:00 [##################] 100.0% ] 7.0% : module-import-compiled 1.8MiB 683KiB/s 00:01 [### ] 20.9% : module-import-compiled 1.8MiB 873KiB/s 00:01 [####### ] 41.8% : module-import-compiled 1.8MiB 925KiB/s 00:01 [########## ] 55.7% : module-import-compiled 1.8MiB 1002KiB/s 00:01 [############# ] 76.6% : module-import-compiled 1.8MiB 1.1MiB/s 00:02 [################# ] 97.4% : module-import-compiled 1.8MiB 1.1MiB/s 00:02 [##################] 100.0% #################] 100.0% : compute-guix-derivation 1006B 410KiB/s 00:00 [##################] 100.0% #################] 100.0% : guile-avahi-0.4.0-1.6d43caf 54KiB 54.5MiB/s 00:00 [##################] 100.0% #################] 100.0% : guile-sqlite3-0.1.2 56KiB 41.3MiB/s 00:00 [##################] 100.0% #################] 100.0% : guile-zstd-0.1.1 24KiB 20.6MiB/s 00:00 [##################] 100.0% ## ] 21.8% : libgit2-1.1.0 587KiB 449.9MiB/s 00:00 [##################] 100.0% ####### ] 49.0% : libssh-0.9.6 261KiB 217KiB/s 00:01 [##################] 100.0% ### ] 23.7% : guile-git-0.5.2 540KiB 700KiB/s 00:01 [################# ] 94.8% : guile-git-0.5.2 540KiB 737KiB/s 00:01 [##################] 100.0% : guile-git-0.5.2 540KiB 736KiB/s 00:01 [##################] 100.0% #### ] 29.1% : guile-ssh-0.13.1 220KiB 144.6MiB/s 00:00 [##################] 100.0% ######## ] 54.1% : guile-ssh-0.13.1-debug 237KiB 156.1MiB/s 00:00 [##################] 100.0% ### ] 24.9% : guix-daemon-1.3.0-11.014f1b6 257KiB 412.6MiB/s 00:00 [################# ] 99.6% : guix-daemon-1.3.0-11.014f1b6 257KiB 264.3MiB/s 00:00 [##################] 100.0% po4a-0.63 1.8MiB 523.0MiB/s 00:00 [## ] 14.3% : po4a-0.63 1.8MiB 970.3MiB/s 00:00 [####### ] 42.8% : po4a-0.63 1.8MiB 883.6MiB/s 00:00 [######### ] 53.5%\| #################] 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 6.3% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 12.5% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 18.8% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 25.0% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 31.3% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 37.5% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 43.8% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 50.0% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 56.3% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 62.5% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 68.8% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 75.0% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 81.3% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 87.5% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 93.8% : substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% The following derivations will be built: /gnu/store/9qddis4pcj79ybz1m5x7l5apa062581z-profile.drv /gnu/store/0145hnyd81dw6rglkw7b183r6jiji0yj-guix-extra-modules.drv /gnu/store/0bkk73z8hzpbxkay91pjq7hhmld6axgi-guix-cli-core-modules.drv /gnu/store/1spchx0bi445779qsqv4wj5f8czbfid9-guix-system-tests-modules.drv /gnu/store/36lrs4m2ci15ra2qrm9x4ivymn1icl3j-guix-home-modules.drv /gnu/store/940nh2xk8wkd28j5aj2w6dd9amsjb492-guix-cli-modules.drv /gnu/store/igjsqplmxd7974qcv06lhk3gyl6fvdqm-guix-system-modules.drv /gnu/store/phixxzbxj1vvvzv9j76k132llg7yqlfq-guix-packages-base-modules.drv /gnu/store/cvgiry8zdrnfsxkgykpd1r3hxwfwg0qp-guix-command.drv /gnu/store/g8gqph2slsv23wg96jl9j68m27i4rkp0-guix-daemon.drv 55.0 MB will be downloaded substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% : guix-package-cache 434.1MiB/s 00:00 | 64KiB transferred : guix-package-cache 1.8MiB/s 00:00 | 256KiB transferred : guix-package-cache 2.0MiB/s 00:00 | 704KiB transferred : guix-package-cache 2.0MiB/s 00:00 | 704KiB transferred : guix-cli 452KiB/s 00:00 | 64KiB transferred : guix-cli 624KiB/s 00:00 | 256KiB transferred : guix-cli 576KiB/s 00:00 | 256KiB transferred : guix-cli-core 484KiB/s 00:00 | 64KiB transferred : guix-cli-core 622KiB/s 00:00 | 256KiB transferred : guix-cli-core 772KiB/s 00:01 | 512KiB transferred : guix-cli-core 916KiB/s 00:01 | 832KiB transferred : guix-cli-core 972KiB/s 00:01 | 1.1MiB transferred : guix-cli-core 990KiB/s 00:01 | 1.1MiB transferred #################] 100.0% : guix-cli-modules 263B 74KiB/s 00:00 [##################] 100.0% #################] 100.0% : guix-cli-core-modules 265B 72KiB/s 00:00 [##################] 100.0% guix-extra 2.3MiB 619KiB/s 00:00 [# ] 10.8% : guix-extra 2.3MiB 1.2MiB/s 00:01 [##### ] 32.5% : guix-extra 2.3MiB 2.0MiB/s 00:01 [############ ] 70.4% : guix-extra 2.3MiB 2.4MiB/s 00:01 [##################] 100.0% ### ] 23.8% : guix-home 269KiB 2.8MiB/s 00:00 [##################] 100.0% #################] 100.0% : guix-extra-modules 264B 91KiB/s 00:00 [##################] 100.0% #################] 100.0% : guix-home-modules 266B 76KiB/s 00:00 [##################] 100.0% guix-manual 7.3MiB 2.2MiB/s 00:00 [# ] 8.5% : guix-manual 7.3MiB 4.9MiB/s 00:00 [##### ] 32.5% : guix-manual 7.3MiB 4.9MiB/s 00:01 [######## ] 46.1% : guix-manual 7.3MiB 4.7MiB/s 00:01 [########## ] 58.1% : guix-manual 7.3MiB 4.8MiB/s 00:01 [############# ] 73.5% : guix-manual 7.3MiB 4.9MiB/s 00:01 [############### ] 88.9% : guix-manual 7.3MiB 4.8MiB/s 00:02 [##################] 100.0% guix-packages-base 12.0MiB 2.3MiB/s 00:00 [# ] 5.7% : guix-packages-base 12.0MiB 3.3MiB/s 00:00 [## ] 13.6% : guix-packages-base 12.0MiB 4.0MiB/s 00:01 [#### ] 23.0% : guix-packages-base 12.0MiB 4.4MiB/s 00:01 [##### ] 32.9% : guix-packages-base 12.0MiB 4.4MiB/s 00:01 [####### ] 40.2% : guix-packages-base 12.0MiB 4.4MiB/s 00:01 [######## ] 48.0% : guix-packages-base 12.0MiB 4.3MiB/s 00:02 [######### ] 55.3% : guix-packages-base 12.0MiB 4.4MiB/s 00:02 [########### ] 63.6% : guix-packages-base 12.0MiB 4.4MiB/s 00:02 [############ ] 70.9% : guix-packages-base 12.0MiB 4.3MiB/s 00:02 [############# ] 77.7% : guix-packages-base 12.0MiB 4.3MiB/s 00:02 [############### ] 85.6% : guix-packages-base 12.0MiB 4.4MiB/s 00:03 [################ ] 93.4% : guix-packages-base 12.0MiB 4.4MiB/s 00:03 [##################] 100.0% : guix-system 9.4MiB/s 00:00 | 128KiB transferred : guix-system 2.2MiB/s 00:00 | 640KiB transferred : guix-system 3.8MiB/s 00:01 | 2.0MiB transferred : guix-system 3.8MiB/s 00:01 | 2.8MiB transferred : guix-system 3.7MiB/s 00:01 | 3.5MiB transferred : guix-system 3.7MiB/s 00:01 | 4.4MiB transferred : guix-system 3.7MiB/s 00:01 | 5.3MiB transferred : guix-system 3.7MiB/s 00:02 | 6.0MiB transferred : guix-system 3.7MiB/s 00:02 | 6.9MiB transferred : guix-system 3.7MiB/s 00:02 | 7.6MiB transferred : guix-system 3.7MiB/s 00:02 | 8.5MiB transferred : guix-system 3.7MiB/s 00:02 | 9.3MiB transferred : guix-system 3.7MiB/s 00:03 | 9.9MiB transferred #################] 100.0% : guix-packages-base-modules 270B 61KiB/s 00:00 [##################] 100.0% #################] 100.0% : guix-system-modules 263B 92KiB/s 00:00 [##################] 100.0% ### ] 23.7% : guix-system-tests 539KiB 884KiB/s 00:01 [################# ] 94.9% : guix-system-tests 539KiB 880KiB/s 00:01 [##################] 100.0% #################] 100.0% : guix-system-tests-modules 270B 90KiB/s 00:00 [##################] 100.0% guix-f52719dfa-modules 22.8MiB 4.1MiB/s 00:00 [ ] 3.8% : guix-f52719dfa-modules 22.8MiB 4.5MiB/s 00:00 [# ] 8.2% : guix-f52719dfa-modules 22.8MiB 4.6MiB/s 00:01 [## ] 12.3% : guix-f52719dfa-modules 22.8MiB 3.1MiB/s 00:01 [## ] 16.4% : guix-f52719dfa-modules 22.8MiB 3.3MiB/s 00:01 [### ] 20.3% : guix-f52719dfa-modules 22.8MiB 3.7MiB/s 00:02 [#### ] 26.0% : guix-f52719dfa-modules 22.8MiB 4.0MiB/s 00:02 [##### ] 31.5% : guix-f52719dfa-modules 22.8MiB 4.1MiB/s 00:02 [###### ] 36.1% : guix-f52719dfa-modules 22.8MiB 4.2MiB/s 00:02 [####### ] 41.3% : guix-f52719dfa-modules 22.8MiB 4.3MiB/s 00:02 [######## ] 46.5% : guix-f52719dfa-modules 22.8MiB 4.5MiB/s 00:03 [######### ] 52.0% : guix-f52719dfa-modules 22.8MiB 4.5MiB/s 00:03 [########## ] 56.4% : guix-f52719dfa-modules 22.8MiB 4.5MiB/s 00:03 [########## ] 60.8% : guix-f52719dfa-modules 22.8MiB 4.6MiB/s 00:03 [########### ] 65.7% : guix-f52719dfa-modules 22.8MiB 4.6MiB/s 00:03 [############ ] 70.1% : guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:04 [############# ] 75.3% : guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:04 [############## ] 79.4% : guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:04 [############### ] 84.6% guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:04 [################ ] 88.9% guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:05 [################ ] 93.6% guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:05 [################# ] 98.0% guix-f52719dfa-modules 22.8MiB 4.7MiB/s 00:05 [##################] 100.0% #################] 100.0% guix-module-union 3KiB 163KiB/s 00:00 [##################] 100.0% #################] 100.0% guix-command 649B 415KiB/s 00:00 [##################] 100.0% #################] 100.0% guix-daemon 394B 91KiB/s 00:00 [##################] 100.0% #################] 100.0% guix-f52719dfa 14KiB 862KiB/s 00:00 [##################] 100.0% building CA certificate bundle... listing Emacs sub-directories... building fonts directory... building directory of Info manuals... building profile with 1 package... /home/ahab/Projects/excalamus.com/src/draft/guix/case-study-plover-python-dictionary/plover-python-dictionary.scm:2:3: error: package: unbound variable hint: Did you forget `(use-modules (guix packages))'?
Building packages is mainly following the error messages. Sometimes
it helps to look at other package definitions. Use guix edit
to see
definitions for a specific Guix package. Don't be ashamed to grep the
package directory itself to figure out which module might work
(e.g. gnu/packages
or
~/.config/guix/current/share/guile/site/3.0/gnu/packages/
).
The error message tells us that the guix module might work. Add it to the package definition.
(use-modules (guix packages))
Run again,
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:9:16: error: url-fetch: unbound variable hint: Did you forget `(use-modules (guix download))'?
Add what it says,
(use-modules (guix packages)(guix download))
And try again,
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:12:14: error: pypi-uri: unbound variable hint: Did you forget a `use-modules' form?
The error message doesn't say which module is needed, only that one
may be missing. It also says the pypi-uri variable is unbound. PyPi is
a Python thing, so it's probably a Python related module. Maybe
looking at the definition for Plover with guix edit
might help?
There are two Python related modules: python
and python-xyz
.
These correspond to python.scm
and python-xyz.scm
. The string
"pypi" isn't found anywhere in python.scm
. Checking
python-xyz.scm
, what jumps out is that "pypi" is part of every
package's definition in the file. That might be a clue later on if
adding the python
and python-xyz
modules doesn't work. However, as
it turns out, adding either module satisifies the error2. For
now, just add the python
module.
(use-modules (guix packages) (guix download)(gnu packages python))
And that resolves the previous error. Run again…
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:15:14: error: pypi-uri: unbound variable hint: Did you forget `(use-modules (guix build-system python))'?
Add what it says…
(use-modules (guix packages) (guix download) (gnu packages python)(guix build-system python))
…and build again.
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:25:13: error: license:expat: unbound variable hint: Did you forget a `use-modules' form?
Again, the hint isn't specific, but the error message mentions
licensing. The definition for Plover is helpful. It contains a
module for guix licenses
. That's probably what's needed here.
Copy that in and rerun.
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python)((guix licenses) #:prefix license:))
The module includes the optional "#:prefix" clause. The prefix is a symbol that is prepended to imported names. So, "license:" will be prepended to variables from that module. This prevents clashes with variables of the same name from different modules. For example, there is an "expat" license and an "expat" module3.
Try building again and a new error appears.
guix build -f plover-python-dictionary.scm
<unspecified>: not something we can build <unspecified>'. To fix this, add a Scheme expression at the end of the file that consists only of the package's variable name you defined, as in this example: (define-public my-package (package ...)) my-package
The errors have mainly been about unbound variables up to this
point. This error is different. Each of the define-public
expressions, when evaluated, creates a variable binding visible
from other modules that import the current module. The
python-plover-python-dictionary
package isn't available in the
current namespace, however. Evaluating the symbol returns the
package and satisfies the error.
Overall, the package definition to this point looks like:
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:)) (define-public python-pyobjc-framework-quartz (package (name "python-pyobjc-framework-quartz") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Quartz" version)) (sha256 (base32 "02ygxh0dhb5xagyvcxc3i9147kbmm0ihkxmxh3wxwqj2qd22i0cq")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core) ("python-pyobjc-framework-cocoa" ,python-pyobjc-framework-cocoa))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Quartz frameworks on macOS") (description "Wrappers for the Quartz frameworks on macOS") (license license:expat))) (define-public python-pyobjc-framework-cocoa (package (name "python-pyobjc-framework-cocoa") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Cocoa" version)) (sha256 (base32 "0zhbp18i06aprwfbp06l9wm3qrzsdcyy9hwis5d4b8wmlzkhb3di")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Cocoa frameworks on macOS") (description "Wrappers for the Cocoa frameworks on macOS") (license license:expat))) (define-public python-pyobjc-core (package (name "python-pyobjc-core") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-core" version)) (sha256 (base32 "0x3msrzvcszlmladdpl64s48l52fwk4xlnnri8daq2mliggsx0ah")))) (build-system python-build-system) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Python<->ObjC Interoperability Module") (description "Python<->ObjC Interoperability Module") (license license:expat))) (define-public python-appnope (package (name "python-appnope") (version "0.1.2") (source (origin (method url-fetch) (uri (pypi-uri "appnope" version)) (sha256 (base32 "12i50gv145cl9qkf87av5aprq7qbcq601cvfiy1mh2a6bd5wv0yx")))) (build-system python-build-system) (home-page "http://github.com/minrk/appnope") (synopsis "Disable App Nap on macOS >= 10.9") (description "Disable App Nap on macOS >= 10.9") (license license:bsd-3))) (define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover-python-dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (propagated-inputs `(("python-plover" ,python-plover))) (native-inputs `(("python-plover" ,python-plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))python-plover-python-dictionary
With the package expression at the end, try building again.
5. Keep handling errors until success
Adding the package expression and building again gives what follows.
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:87:43: In procedure propagated-inputs: error: python-plover: unbound variable hint: Did you forget a `use-modules' form?
Here again is a hint about a potentially missing module. The message
says that in the propagated-inputs, the "python-plover" variable is
unbound. Propagated-inputs are a kind of input
. The input
field
indicates that the dependencies listed are built for the target
architecture during cross-compilation. The propagated-inputs
field
acts like input
, but also inserts dependencies into the Guix profile
alongside the final package. Recall (or understand) that packages are
installed to the /gnu/store
and a profile determines which of these
are accessible to a user. A Guix profile is like a switchboard
operator connecting user's requests for software with the binaries in
the /gnu/store
.
The error says there is no package known by the name
"python-plover". Remember, however, that a definition for
"python-plover" was removed from the guix import
output (the snippet
in red). Since the definition for python-plover-python-dictionary
was also generated by the same process, the error must be saying the
build process can't find Plover. It should be enough to replace the
"python-plover" variable with a reference to a recent version of
Plover. Using guix edit
, the Plover package is found in the
stenography.scm module and its name is "plover".
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:)(gnu packages stenography))... (define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover-python-dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system)(propagated-inputs `(("python-plover" ,python-plover)))(propagated-inputs `(("python-plover" ,plover)))(native-inputs `(("python-plover" ,python-plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
Import stenography, replace "python-plover" with "plover", and build again.
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:90:26: In procedure native-inputs: error: python-plover: unbound variable hint: Did you forget a `use-modules' form?
Looks like the same thing is happening as above, but with
native-inputs
instead of propagated-inputs
. The native-inputs
field lists tools to be used at build time. It looks like Plover is
needed to run tests since pytest
is also in native-inputs
.
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover-python-dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (propagated-inputs `(("python-plover" ,plover))) (native-inputs`(("python-plover" ,python-plover) ("python-pytest" ,python-pytest)))`(("python-plover" ,plover) ("python-pytest" ,python-pytest)))(home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
Make the replacement and build again.
guix build -f plover-python-dictionary.scm
/home/ahab/Projects/excalamus.com/src/draft/guix/plover-python-dictionary.scm:90:52: In procedure native-inputs: error: python-pytest: unbound variable hint: Did you forget `(use-modules (gnu packages check))'?
It looks like the (gnu packages check)
module is needed for
pytest
.
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages stenography)(gnu packages check))
Add the module and run again.
guix build -f plover-python-dictionary.scm
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 50.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 50.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivations will be built: /gnu/store/hg96jp1xli47i80si5gkdy2h4cnlrip7-python-plover-python-dictionary-1.1.0.drv /gnu/store/shvfsw07pyh4kf23i2wy5ja55b31sy75-plover-python-dictionary-1.1.0.tar.gz.drv building /gnu/store/shvfsw07pyh4kf23i2wy5ja55b31sy75-plover-python-dictionary-1.1.0.tar.gz.drv... Starting download of /gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz From https://files.pythonhosted.org/packages/source/p/plover-python-dictionary/plover-python-dictionary-1.1.0.tar.gz... download failed "https://files.pythonhosted.org/packages/source/p/plover-python-dictionary/plover-python-dictionary-1.1.0.tar.gz" 404 "Not Found" Starting download of /gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz From https://ci.guix.gnu.org/file/plover-python-dictionary-1.1.0.tar.gz/sha256/02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2... download failed "https://ci.guix.gnu.org/file/plover-python-dictionary-1.1.0.tar.gz/sha256/02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2" 404 "Not Found" Starting download of /gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz From https://tarballs.nixos.org/sha256/02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2... download failed "https://tarballs.nixos.org/sha256/02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2" 404 "Not Found" Starting download of /gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz From https://archive.softwareheritage.org/api/1/content/sha256:6251d398cb4a59469d39b19bb2bb05f8f52ca420782abf9a9b2e7b0d0e1e090b/raw/... download failed "https://archive.softwareheritage.org/api/1/content/sha256:6251d398cb4a59469d39b19bb2bb05f8f52ca420782abf9a9b2e7b0d0e1e090b/raw/" 404 "Not Found" Trying to use Disarchive to assemble /gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz... download failed "https://disarchive.ngyro.com/sha256/6251d398cb4a59469d39b19bb2bb05f8f52ca420782abf9a9b2e7b0d0e1e090b" 404 "Not Found" could not find its Disarchive specification failed to download "/gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz" from "https://files.pythonhosted.org/packages/source/p/plover-python-dictionary/plover-python-dictionary-1.1.0.tar.gz" builder for `/gnu/store/shvfsw07pyh4kf23i2wy5ja55b31sy75-plover-python-dictionary-1.1.0.tar.gz.drv' failed to produce output path `/gnu/store/6dr8w3b1lgh3n7p16sfl98p8jxd9x6rd-plover-python-dictionary-1.1.0.tar.gz' build of /gnu/store/shvfsw07pyh4kf23i2wy5ja55b31sy75-plover-python-dictionary-1.1.0.tar.gz.drv failed View build log at '/var/log/guix/drvs/sh/vfsw07pyh4kf23i2wy5ja55b31sy75-plover-python-dictionary-1.1.0.tar.gz.drv.bz2'. cannot build derivation `/gnu/store/hg96jp1xli47i80si5gkdy2h4cnlrip7-python-plover-python-dictionary-1.1.0.drv': 1 dependencies couldn't be built guix build: error: build of `/gnu/store/hg96jp1xli47i80si5gkdy2h4cnlrip7-python-plover-python-dictionary-1.1.0.drv' failed
This error is different from the others. Guix builds packages from
source. Which source to use is specified by the source
field. Here,
Guix tries to download the source for "plover-python-dictionary" but
fails. Why it fails is infuriatingly simple: the package is stored on
PyPI using underscores instead of hyphens.
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch)(uri (pypi-uri "plover-python-dictionary" version))(uri (pypi-uri "plover_python_dictionary" version))(sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
Make the replacement and build again.
guix build -f plover-python-dictionary.scm
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivation will be built: /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv building /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/f8s95qc6dfhl0r45m70hczw5zip0xjxq-python-wrapper-3.8.2/bin:/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/bin:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin' environment variable `PYTHONPATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib/python3.8/site-packages:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib/python3.8/site-packages:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib/python3.8/site-packages:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib/python3.8/site-packages:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib/python3.8/site-packages' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `LIBRARY_PATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' plover_python_dictionary-1.1.0/ plover_python_dictionary-1.1.0/MANIFEST.in plover_python_dictionary-1.1.0/PKG-INFO plover_python_dictionary-1.1.0/README.md plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/ plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/PKG-INFO plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/SOURCES.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/dependency_links.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/entry_points.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/requires.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/top_level.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/zip-safe plover_python_dictionary-1.1.0/plover_python_dictionary.py plover_python_dictionary-1.1.0/pyproject.toml plover_python_dictionary-1.1.0/setup.cfg plover_python_dictionary-1.1.0/setup.py plover_python_dictionary-1.1.0/test/ plover_python_dictionary-1.1.0/test/conftest.py plover_python_dictionary-1.1.0/test/dict_callable_checks.py plover_python_dictionary-1.1.0/test/dict_reverse_lookup.py plover_python_dictionary-1.1.0/test/dict_show_stroke.py plover_python_dictionary-1.1.0/test/dict_utf8.py plover_python_dictionary-1.1.0/test/test_python_dict.py plover_python_dictionary-1.1.0/tox.ini phase `unpack' succeeded after 0.0 seconds starting phase `ensure-no-mtimes-pre-1980' phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds starting phase `enable-bytecode-determinism' phase `enable-bytecode-determinism' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./setup.py: changing `/usr/bin/env python3' to `/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin/python3' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `build' running "python setup.py" with command "build" and parameters () running build running build_py creating build creating build/lib build/lib phase `build' succeeded after 0.3 seconds starting phase `install' running "python setup.py" with command "install" and parameters ("--prefix=/gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0" "--single-version-externally-managed" "--root=/") running install running build running build_py running install_lib creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0 creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8 creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages byte-compiling /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary.py to plover_python_dictionary.cpython-38.pyc running install_egg_info running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' Copying plover_python_dictionary.egg-info to /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary-1.1.0-py3.8.egg-info running install_scripts phase `install' succeeded after 0.3 seconds starting phase `wrap' find-files: /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/bin: No such file or directory find-files: /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/sbin: No such file or directory phase `wrap' succeeded after 0.0 seconds starting phase `check' running "python setup.py" with command "test" and parameters () running test =0.16 Reading https://pypi.org/simple/python-xlib/ Download error on https://pypi.org/simple/python-xlib/: [Errno -2] Name or service not known -- Some packages may not be found! Couldn't find index page for 'python-xlib' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.org/simple/ Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found! =0.16 =0.16') command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1 builder for `/gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv' failed with exit code 1 build of /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv failed View build log at '/var/log/guix/drvs/1j/iv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv.bz2'. guix build: error: build of `/gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv' failed
It looks to be failing on python-xlib
. This turns out to be in the
python-xyz.scm
\/=python-xyz= module.
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages stenography) (gnu packages check)(gnu packages python-xyz))
Add the module and build again.
guix build -f plover-python-dictionary.scm
The following derivation will be built: /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv building /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/f8s95qc6dfhl0r45m70hczw5zip0xjxq-python-wrapper-3.8.2/bin:/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/bin:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin' environment variable `PYTHONPATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib/python3.8/site-packages:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib/python3.8/site-packages:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib/python3.8/site-packages:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib/python3.8/site-packages:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib/python3.8/site-packages' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `LIBRARY_PATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' plover_python_dictionary-1.1.0/ plover_python_dictionary-1.1.0/MANIFEST.in plover_python_dictionary-1.1.0/PKG-INFO plover_python_dictionary-1.1.0/README.md plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/ plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/PKG-INFO plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/SOURCES.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/dependency_links.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/entry_points.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/requires.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/top_level.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/zip-safe plover_python_dictionary-1.1.0/plover_python_dictionary.py plover_python_dictionary-1.1.0/pyproject.toml plover_python_dictionary-1.1.0/setup.cfg plover_python_dictionary-1.1.0/setup.py plover_python_dictionary-1.1.0/test/ plover_python_dictionary-1.1.0/test/conftest.py plover_python_dictionary-1.1.0/test/dict_callable_checks.py plover_python_dictionary-1.1.0/test/dict_reverse_lookup.py plover_python_dictionary-1.1.0/test/dict_show_stroke.py plover_python_dictionary-1.1.0/test/dict_utf8.py plover_python_dictionary-1.1.0/test/test_python_dict.py plover_python_dictionary-1.1.0/tox.ini phase `unpack' succeeded after 0.0 seconds starting phase `ensure-no-mtimes-pre-1980' phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds starting phase `enable-bytecode-determinism' phase `enable-bytecode-determinism' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./setup.py: changing `/usr/bin/env python3' to `/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin/python3' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `build' running "python setup.py" with command "build" and parameters () running build running build_py creating build creating build/lib build/lib phase `build' succeeded after 0.2 seconds starting phase `install' running "python setup.py" with command "install" and parameters ("--prefix=/gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0" "--single-version-externally-managed" "--root=/") running install running build running build_py running install_lib creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0 creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8 creating /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages byte-compiling /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary.py to plover_python_dictionary.cpython-38.pyc running install_egg_info running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' Copying plover_python_dictionary.egg-info to /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary-1.1.0-py3.8.egg-info running install_scripts phase `install' succeeded after 0.2 seconds starting phase `wrap' find-files: /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/bin: No such file or directory find-files: /gnu/store/ia7g764hc7wlfghqs568vx589vypr3si-python-plover-python-dictionary-1.1.0/sbin: No such file or directory phase `wrap' succeeded after 0.0 seconds starting phase `check' running "python setup.py" with command "test" and parameters () running test =0.16 Reading https://pypi.org/simple/python-xlib/ Download error on https://pypi.org/simple/python-xlib/: [Errno -2] Name or service not known -- Some packages may not be found! Couldn't find index page for 'python-xlib' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.org/simple/ Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found! =0.16 =0.16') command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1 builder for `/gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv' failed with exit code 1 build of /gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv failed View build log at '/var/log/guix/drvs/1j/iv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv.bz2'. guix build: error: build of `/gnu/store/1jiv4jwv9lrcm6ccv5kjc2abyrwd2rfs-python-plover-python-dictionary-1.1.0.drv' failed
Whoops! Adding the python-xyz
module which contains python-xlib
isn't enough. The python-xlib
package also needs to be added to the
build process. Recall that the input
field indicates that the
dependencies listed are built for the target architecture during
cross-compilation. The error demonstrates that the build process fails
because it lacks the python-xlib
package. So, add it as an
input
…
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system)(inputs `(("python-xlib" ,python-xlib)))(propagated-inputs (propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
…and build again.
guix build -f plover-python-dictionary.scm
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivation will be built: /gnu/store/68w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv building /gnu/store/68w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/f8s95qc6dfhl0r45m70hczw5zip0xjxq-python-wrapper-3.8.2/bin:/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/bin:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin' environment variable `PYTHONPATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib/python3.8/site-packages:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib/python3.8/site-packages:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib/python3.8/site-packages:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib/python3.8/site-packages:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib/python3.8/site-packages:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib/python3.8/site-packages:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib/python3.8/site-packages' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `LIBRARY_PATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' plover_python_dictionary-1.1.0/ plover_python_dictionary-1.1.0/MANIFEST.in plover_python_dictionary-1.1.0/PKG-INFO plover_python_dictionary-1.1.0/README.md plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/ plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/PKG-INFO plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/SOURCES.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/dependency_links.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/entry_points.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/requires.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/top_level.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/zip-safe plover_python_dictionary-1.1.0/plover_python_dictionary.py plover_python_dictionary-1.1.0/pyproject.toml plover_python_dictionary-1.1.0/setup.cfg plover_python_dictionary-1.1.0/setup.py plover_python_dictionary-1.1.0/test/ plover_python_dictionary-1.1.0/test/conftest.py plover_python_dictionary-1.1.0/test/dict_callable_checks.py plover_python_dictionary-1.1.0/test/dict_reverse_lookup.py plover_python_dictionary-1.1.0/test/dict_show_stroke.py plover_python_dictionary-1.1.0/test/dict_utf8.py plover_python_dictionary-1.1.0/test/test_python_dict.py plover_python_dictionary-1.1.0/tox.ini phase `unpack' succeeded after 0.0 seconds starting phase `ensure-no-mtimes-pre-1980' phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds starting phase `enable-bytecode-determinism' phase `enable-bytecode-determinism' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./setup.py: changing `/usr/bin/env python3' to `/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin/python3' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `build' running "python setup.py" with command "build" and parameters () running build running build_py creating build creating build/lib build/lib phase `build' succeeded after 0.2 seconds starting phase `install' running "python setup.py" with command "install" and parameters ("--prefix=/gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0" "--single-version-externally-managed" "--root=/") running install running build running build_py running install_lib creating /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0 creating /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib creating /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib/python3.8 creating /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages byte-compiling /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary.py to plover_python_dictionary.cpython-38.pyc running install_egg_info running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' Copying plover_python_dictionary.egg-info to /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary-1.1.0-py3.8.egg-info running install_scripts phase `install' succeeded after 0.2 seconds starting phase `wrap' find-files: /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/bin: No such file or directory find-files: /gnu/store/13kysqq3p7chry6yv9lhwiks2rh1sa7c-python-plover-python-dictionary-1.1.0/sbin: No such file or directory phase `wrap' succeeded after 0.0 seconds starting phase `check' running "python setup.py" with command "test" and parameters () running test =2.7 Reading https://pypi.org/simple/pyserial/ Download error on https://pypi.org/simple/pyserial/: [Errno -2] Name or service not known -- Some packages may not be found! Couldn't find index page for 'pyserial' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.org/simple/ Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found! =2.7 =2.7') command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1 builder for `/gnu/store/68w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv' failed with exit code 1 build of /gnu/store/68w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv failed View build log at '/var/log/guix/drvs/68/w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv.bz2'. guix build: error: build of `/gnu/store/68w1ms1zvs2grni70xgq9djjis0i9yva-python-plover-python-dictionary-1.1.0.drv' failed
This time the problem is similar. The build process can't find
pyserial
. It looks like pyserial
is also in
python-xyz.scm
. Since that was added in the last change, that means
pyserial
needs to be added to inputs
. Looking at the package
definition, the package is called "python-pyserial" within Guix.
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system)(inputs `(("python-xlib" ,python-xlib)))(inputs`(("python-xlib" ,python-xlib)("python-pyserial" ,python-pyserial)))(propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
After adding the needed input
, try to build again.
guix build -f plover-python-dictionary.scm
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivation will be built: /gnu/store/fl4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv building /gnu/store/fl4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/f8s95qc6dfhl0r45m70hczw5zip0xjxq-python-wrapper-3.8.2/bin:/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/bin:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/bin:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin' environment variable `PYTHONPATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib/python3.8/site-packages:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib/python3.8/site-packages:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib/python3.8/site-packages:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/lib/python3.8/site-packages:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib/python3.8/site-packages:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib/python3.8/site-packages:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib/python3.8/site-packages:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib/python3.8/site-packages' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `LIBRARY_PATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' plover_python_dictionary-1.1.0/ plover_python_dictionary-1.1.0/MANIFEST.in plover_python_dictionary-1.1.0/PKG-INFO plover_python_dictionary-1.1.0/README.md plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/ plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/PKG-INFO plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/SOURCES.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/dependency_links.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/entry_points.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/requires.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/top_level.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/zip-safe plover_python_dictionary-1.1.0/plover_python_dictionary.py plover_python_dictionary-1.1.0/pyproject.toml plover_python_dictionary-1.1.0/setup.cfg plover_python_dictionary-1.1.0/setup.py plover_python_dictionary-1.1.0/test/ plover_python_dictionary-1.1.0/test/conftest.py plover_python_dictionary-1.1.0/test/dict_callable_checks.py plover_python_dictionary-1.1.0/test/dict_reverse_lookup.py plover_python_dictionary-1.1.0/test/dict_show_stroke.py plover_python_dictionary-1.1.0/test/dict_utf8.py plover_python_dictionary-1.1.0/test/test_python_dict.py plover_python_dictionary-1.1.0/tox.ini phase `unpack' succeeded after 0.0 seconds starting phase `ensure-no-mtimes-pre-1980' phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds starting phase `enable-bytecode-determinism' phase `enable-bytecode-determinism' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./setup.py: changing `/usr/bin/env python3' to `/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin/python3' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `build' running "python setup.py" with command "build" and parameters () running build running build_py creating build creating build/lib build/lib phase `build' succeeded after 0.2 seconds starting phase `install' running "python setup.py" with command "install" and parameters ("--prefix=/gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0" "--single-version-externally-managed" "--root=/") running install running build running build_py running install_lib creating /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0 creating /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib creating /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib/python3.8 creating /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages byte-compiling /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary.py to plover_python_dictionary.cpython-38.pyc running install_egg_info running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' Copying plover_python_dictionary.egg-info to /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary-1.1.0-py3.8.egg-info running install_scripts phase `install' succeeded after 0.2 seconds starting phase `wrap' find-files: /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/bin: No such file or directory find-files: /gnu/store/lfkbfwc9w1hby1l19ylng5y10pcmvxw7-python-plover-python-dictionary-1.1.0/sbin: No such file or directory phase `wrap' succeeded after 0.0 seconds starting phase `check' running "python setup.py" with command "test" and parameters () running test =1.3.0 Reading https://pypi.org/simple/appdirs/ Download error on https://pypi.org/simple/appdirs/: [Errno -2] Name or service not known -- Some packages may not be found! Couldn't find index page for 'appdirs' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.org/simple/ Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found! =1.3.0 =1.3.0') command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1 builder for `/gnu/store/fl4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv' failed with exit code 1 build of /gnu/store/fl4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv failed View build log at '/var/log/guix/drvs/fl/4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv.bz2'. guix build: error: build of `/gnu/store/fl4m0dhnvflmnws9kmwqm570lxyx37qq-python-plover-python-dictionary-1.1.0.drv' failed
The next error is another missing Python package. This time it's the
appdirs
package. It too is in the python-xyz
module. So, just add
it to the inputs
field.
(define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (inputs `(("python-xlib" ,python-xlib)("python-pyserial" ,python-pyserial)))("python-pyserial" ,python-pyserial)("python-appdirs" ,python-appdirs)))(propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f)))
And build again.
guix build -f plover-python-dictionary.scm
The following derivation will be built: /gnu/store/bia4xsxfrr9ibgpxy03ixpwyayg16hfq-python-plover-python-dictionary-1.1.0.drv building /gnu/store/bia4xsxfrr9ibgpxy03ixpwyayg16hfq-python-plover-python-dictionary-1.1.0.drv... starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/f8s95qc6dfhl0r45m70hczw5zip0xjxq-python-wrapper-3.8.2/bin:/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/bin:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/bin:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin' environment variable `PYTHONPATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib/python3.8/site-packages:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib/python3.8/site-packages:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib/python3.8/site-packages:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/lib/python3.8/site-packages:/gnu/store/iw4nff8b53cf65brf5bsxx3j8pn37fk3-python-appdirs-1.4.3/lib/python3.8/site-packages:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib/python3.8/site-packages:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib/python3.8/site-packages:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib/python3.8/site-packages:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib/python3.8/site-packages:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib/python3.8/site-packages' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include' environment variable `LIBRARY_PATH' set to `/gnu/store/ipk30s5pq9hdnqqvnq32ajcakwqpcxxi-plover-4.0.0.dev8/lib:/gnu/store/436410968f8mpdlsn1pw456mpgwmbh4m-python-pytest-5.3.5/lib:/gnu/store/rhy576kcv5dhfdyrpibhrzqg36rsrbwc-python-xlib-0.29/lib:/gnu/store/ci0f79qsippv8rqcjfgfxyds28iy4nc3-python-pyserial-3.5/lib:/gnu/store/iw4nff8b53cf65brf5bsxx3j8pn37fk3-python-appdirs-1.4.3/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/lib:/gnu/store/xjiplzqxr084ximm4wdhyx3wzf8nxvv0-python-wcwidth-0.1.8/lib:/gnu/store/wqw4gzwl3nh9z9kzzs46zjw5v4dlb3hy-python-six-bootstrap-1.14.0/lib:/gnu/store/avj1ma4bvfjnw86pd9ys64899b627f0x-python-py-1.8.1/lib:/gnu/store/nqi6xqx8h2fxldi3xbigkc24wfzzsy5j-python-pluggy-0.13.1/lib:/gnu/store/fnhij2sl3yx4048ij4jnx4lfikw43v78-python-packaging-bootstrap-20.0/lib:/gnu/store/bpbpmqwx2zvrw2h5k8c8fwk91xmzfym3-python-more-itertools-8.2.0/lib:/gnu/store/jjqhdlpg9bx3j0l4z52zm5xzrpscd0yk-python-attrs-bootstrap-19.3.0/lib:/gnu/store/v166fk97g9np2rb27m2kgfbnivlfxcgn-python-atomicwrites-1.3.0/lib:/gnu/store/hjmz8ymac939ribn7g3jkgms4dk2az3a-python-six-1.14.0/lib:/gnu/store/69lzz2dp87f896843jj05mw5z4hd9my2-python-pyparsing-2.4.6/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' plover_python_dictionary-1.1.0/ plover_python_dictionary-1.1.0/MANIFEST.in plover_python_dictionary-1.1.0/PKG-INFO plover_python_dictionary-1.1.0/README.md plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/ plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/PKG-INFO plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/SOURCES.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/dependency_links.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/entry_points.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/requires.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/top_level.txt plover_python_dictionary-1.1.0/plover_python_dictionary.egg-info/zip-safe plover_python_dictionary-1.1.0/plover_python_dictionary.py plover_python_dictionary-1.1.0/pyproject.toml plover_python_dictionary-1.1.0/setup.cfg plover_python_dictionary-1.1.0/setup.py plover_python_dictionary-1.1.0/test/ plover_python_dictionary-1.1.0/test/conftest.py plover_python_dictionary-1.1.0/test/dict_callable_checks.py plover_python_dictionary-1.1.0/test/dict_reverse_lookup.py plover_python_dictionary-1.1.0/test/dict_show_stroke.py plover_python_dictionary-1.1.0/test/dict_utf8.py plover_python_dictionary-1.1.0/test/test_python_dict.py plover_python_dictionary-1.1.0/tox.ini phase `unpack' succeeded after 0.0 seconds starting phase `ensure-no-mtimes-pre-1980' phase `ensure-no-mtimes-pre-1980' succeeded after 0.0 seconds starting phase `enable-bytecode-determinism' phase `enable-bytecode-determinism' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./setup.py: changing `/usr/bin/env python3' to `/gnu/store/9w9jvy3bgjg4qaqmrij01nbppiccqr7c-python-3.8.2/bin/python3' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `build' running "python setup.py" with command "build" and parameters () running build running build_py creating build creating build/lib build/lib phase `build' succeeded after 0.2 seconds starting phase `install' running "python setup.py" with command "install" and parameters ("--prefix=/gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0" "--single-version-externally-managed" "--root=/") running install running build running build_py running install_lib creating /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0 creating /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib creating /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib/python3.8 creating /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages byte-compiling /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary.py to plover_python_dictionary.cpython-38.pyc running install_egg_info running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' Copying plover_python_dictionary.egg-info to /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib/python3.8/site-packages/plover_python_dictionary-1.1.0-py3.8.egg-info running install_scripts phase `install' succeeded after 0.2 seconds starting phase `wrap' find-files: /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/bin: No such file or directory find-files: /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/sbin: No such file or directory phase `wrap' succeeded after 0.0 seconds starting phase `check' running "python setup.py" with command "test" and parameters () running test running egg_info writing plover_python_dictionary.egg-info/PKG-INFO writing dependency_links to plover_python_dictionary.egg-info/dependency_links.txt writing entry points to plover_python_dictionary.egg-info/entry_points.txt writing requirements to plover_python_dictionary.egg-info/requires.txt writing top-level names to plover_python_dictionary.egg-info/top_level.txt reading manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'plover_python_dictionary.egg-info/SOURCES.txt' running build_ext ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK phase `check' succeeded after 0.3 seconds starting phase `patch-shebangs' phase `patch-shebangs' succeeded after 0.0 seconds starting phase `rename-pth-file' phase `rename-pth-file' succeeded after 0.0 seconds starting phase `strip' stripping binaries in "/gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib" with "strip" and flags ("--strip-debug" "--enable-deterministic-archives") phase `strip' succeeded after 0.0 seconds starting phase `validate-runpath' validating RUNPATH of 0 binaries in "/gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0/lib"... phase `validate-runpath' succeeded after 0.0 seconds starting phase `validate-documentation-location' phase `validate-documentation-location' succeeded after 0.0 seconds starting phase `delete-info-dir-file' phase `delete-info-dir-file' succeeded after 0.0 seconds starting phase `patch-dot-desktop-files' phase `patch-dot-desktop-files' succeeded after 0.0 seconds starting phase `install-license-files' installing 0 license files from '.' phase `install-license-files' succeeded after 0.0 seconds starting phase `reset-gzip-timestamps' phase `reset-gzip-timestamps' succeeded after 0.0 seconds starting phase `compress-documentation' phase `compress-documentation' succeeded after 0.0 seconds [32;1msuccessfully built /gnu/store/bia4xsxfrr9ibgpxy03ixpwyayg16hfq-python-plover-python-dictionary-1.1.0.drv /gnu/store/vlrxy0xgrvlfpk4h29h4rg2js5nmvz8m-python-plover-python-dictionary-1.1.0
Woo-hoo! Look at that second to last line (excuse the control characters, an artifact of the writing process):
[32;1msuccessfully built /gnu/store/bia4xsxfrr9ibgpxy03ixpwyayg16hfq-python-plover-python-dictionary-1.1.0.drv
The definition so far looks like:
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages stenography) (gnu packages check) (gnu packages python-xyz)) (define-public python-pyobjc-framework-quartz (package (name "python-pyobjc-framework-quartz") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Quartz" version)) (sha256 (base32 "02ygxh0dhb5xagyvcxc3i9147kbmm0ihkxmxh3wxwqj2qd22i0cq")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core) ("python-pyobjc-framework-cocoa" ,python-pyobjc-framework-cocoa))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Quartz frameworks on macOS") (description "Wrappers for the Quartz frameworks on macOS") (license license:expat))) (define-public python-pyobjc-framework-cocoa (package (name "python-pyobjc-framework-cocoa") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Cocoa" version)) (sha256 (base32 "0zhbp18i06aprwfbp06l9wm3qrzsdcyy9hwis5d4b8wmlzkhb3di")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Cocoa frameworks on macOS") (description "Wrappers for the Cocoa frameworks on macOS") (license license:expat))) (define-public python-pyobjc-core (package (name "python-pyobjc-core") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-core" version)) (sha256 (base32 "0x3msrzvcszlmladdpl64s48l52fwk4xlnnri8daq2mliggsx0ah")))) (build-system python-build-system) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Python<->ObjC Interoperability Module") (description "Python<->ObjC Interoperability Module") (license license:expat))) (define-public python-appnope (package (name "python-appnope") (version "0.1.2") (source (origin (method url-fetch) (uri (pypi-uri "appnope" version)) (sha256 (base32 "12i50gv145cl9qkf87av5aprq7qbcq601cvfiy1mh2a6bd5wv0yx")))) (build-system python-build-system) (home-page "http://github.com/minrk/appnope") (synopsis "Disable App Nap on macOS >= 10.9") (description "Disable App Nap on macOS >= 10.9") (license license:bsd-3))) (define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (inputs `(("python-xlib" ,python-xlib) ("python-pyserial" ,python-pyserial) ("python-appdirs" ,python-appdirs))) (propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f))) python-plover-python-dictionary
Clean things up
The python-plover-python-dictionary
definition has a lot of cruft in
it. There are lots of references to macOS which, especially as a Guix
user, aren't needed. There's also a definition for something related
to Objective-C, again a Mac thing. Let's kill those and try building
again.
(define-public python-pyobjc-framework-quartz (package (name "python-pyobjc-framework-quartz") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Quartz" version)) (sha256 (base32 "02ygxh0dhb5xagyvcxc3i9147kbmm0ihkxmxh3wxwqj2qd22i0cq")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core) ("python-pyobjc-framework-cocoa" ,python-pyobjc-framework-cocoa))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Quartz frameworks on macOS") (description "Wrappers for the Quartz frameworks on macOS") (license license:expat))) (define-public python-pyobjc-framework-cocoa (package (name "python-pyobjc-framework-cocoa") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-framework-Cocoa" version)) (sha256 (base32 "0zhbp18i06aprwfbp06l9wm3qrzsdcyy9hwis5d4b8wmlzkhb3di")))) (build-system python-build-system) (propagated-inputs `(("python-pyobjc-core" ,python-pyobjc-core))) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Wrappers for the Cocoa frameworks on macOS") (description "Wrappers for the Cocoa frameworks on macOS") (license license:expat))) (define-public python-pyobjc-core (package (name "python-pyobjc-core") (version "7.3") (source (origin (method url-fetch) (uri (pypi-uri "pyobjc-core" version)) (sha256 (base32 "0x3msrzvcszlmladdpl64s48l52fwk4xlnnri8daq2mliggsx0ah")))) (build-system python-build-system) (home-page "https://github.com/ronaldoussoren/pyobjc") (synopsis "Python<->ObjC Interoperability Module") (description "Python<->ObjC Interoperability Module") (license license:expat))) (define-public python-appnope (package (name "python-appnope") (version "0.1.2") (source (origin (method url-fetch) (uri (pypi-uri "appnope" version)) (sha256 (base32 "12i50gv145cl9qkf87av5aprq7qbcq601cvfiy1mh2a6bd5wv0yx")))) (build-system python-build-system) (home-page "http://github.com/minrk/appnope") (synopsis "Disable App Nap on macOS >= 10.9") (description "Disable App Nap on macOS >= 10.9") (license license:bsd-3)))
Killing all the code related to non-free systems leaves only:
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages stenography) (gnu packages check) (gnu packages python-xyz)) (define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (inputs `(("python-xlib" ,python-xlib) ("python-pyserial" ,python-pyserial) ("python-appdirs" ,python-appdirs))) (propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f))) python-plover-python-dictionary
Now try building again and seeing if the Mac packages are really needed.
guix build -f plover-python-dictionary.scm
/gnu/store/j8w6f98115vri1gapc7i4h4gqa20q3mv-python-plover-python-dictionary-1.1.0
Nope, not needed.
Install the final package
Now that there's a working definition, the package can be installed.
guix package -f plover-python-dictionary.scm && guix package -I | grep plover-python-dictionary
The following package will be installed: python-plover-python-dictionary 1.1.0 python-plover-python-dictionary 1.1.0 out /gnu/store/j8w6f98115vri1gapc7i4h4gqa20q3mv-python-plover-python-dictionary-1.1.0
Get the plugin to be recognized by Plover
The build was successful, yet when Plover is restarted, Python dictionaries still can't be loaded. Why?
One person advised me to add native-search-paths
to the Plover
definition:
"after you have that package working, you'll want to add `(native-search-paths (package-native-search-paths python))' to plover's definition so plover sees plugins"
This appeared to fix the issue but turned out to not really be needed.
(use-modules (define-public plover (package (name "plover") (version "4.0.0.dev8") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/openstenoproject/plover") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1b2ys77bkjsdmyg97i7lq3lj45q56bycvsm06d4rs656kxhvc0a3")))) (build-system python-build-system)(native-search-paths (package-native-search-paths python))(native-inputs `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-setuptools-scm" ,python-setuptools-scm))) (inputs `(("python-appdirs" ,python-appdirs) ("python-pyqt" ,python-pyqt) ("python-babel" ,python-babel) ("python-dbus" ,python-dbus) ("python-hidapi" ,python-hidapi) ("python-pyserial" ,python-pyserial) ("python-wxpython" ,python-wxpython) ("python-xlib" ,python-xlib))) (home-page "https://www.openstenoproject.org/plover/") (synopsis "Stenography engine") (description "Plover (rhymes with @emph{lover}) is a desktop application that allows anyone to use stenography to write on their computer, up to speeds of 200WPM and beyond.") (license license:gpl2+)))
Later, when making a new Plover definition, I noticed that Plover was
able to see the plugin even though it didn't have the
native-search-paths
declared! When I asked about it, I was told:
"when you build a profile, you get a union of all installed packages in the profile, with the search paths set to
$GUIX_PROFILE/thesearchpathspec
, so as long as you installed the plugin, it's gonna be visible to python"
Honestly, I'm not sure what's meant by "build a profile". I suspect it means doing an upgrade.
Final package definition
The final package definition is:
(use-modules (guix packages) (guix download) (gnu packages python) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages stenography) (gnu packages check) (gnu packages python-xyz)) (define-public python-plover-python-dictionary (package (name "python-plover-python-dictionary") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "plover_python_dictionary" version)) (sha256 (base32 "02q93q70syrfkfdbyakq42j2rxgq0nxv56xi76flcnaarfcd6lb2")))) (build-system python-build-system) (inputs `(("python-xlib" ,python-xlib) ("python-pyserial" ,python-pyserial) ("python-appdirs" ,python-appdirs))) ;; (propagated-inputs `(("python-plover" ,plover))) (native-inputs `(("python-plover" ,plover) ("python-pytest" ,python-pytest))) (home-page "https://github.com/benoit-pierre/plover_python_dictionary") (synopsis "Python dictionaries support for Plover") (description "Python dictionaries support for Plover") (license #f))) python-plover-python-dictionary
Lessons learned
What is a Guix package?
A Guix package is actually a "record". It's basically a struct, a form of data storage where information is held in "fields" (and probably stored contigously in memory). A package definition specifies fields such as "name", "source", "inputs", etc.
Don't be afraid to grep
Start off looking at the manual. Ideally, it should have answers to common questions. When something can't be found in the docs, use grep to search the Guix source code. This, of course, means a copy of the source is available (i.e. it was cloned). To find which module something like "pypi-url" is in, run:
git grep -F pypi-uri | grep define
or
git grep -F define\*\ \(pypi-uri
Modules imported correspond to files of the same name
Modules are created (in Guile) using the "define-module" form. Often
module definitions are stored in files of the same name. For example,
the license module, imported with (use-modules (gnu licenses))
, is
stored in license.scm.
From grepping, it was found that the pypi-uri
function is in the
python.scm
file in the guix/build-system
directory. Note that
there may be, and in fact are, source files with the same name. It's
the path which differentiates them and that's reflected in the module
call:
(use-modules (guix packages) (guix download)(gnu packages python)(guix build-system python))
We can see from the import statement that there are two python
modules, one in gnu/packages
and another in guix/build-system
.
This gives a hint at how the Guix project is structured.
Modules with "-xyz"
Modules whose names end in "-xyz" are for miscellaneous packages
whereas non-"xyz" modules contain code which is more central. For
example, python.scm
contains the package definition for various
Python core releases whereas python-xyz.scm
has packages whose
purpose don't quite fit neatly into a single category.
Footnotes:
The guix shell
command replaces the guix environment
command. They perform much the same things, but guix shell
is born
from the lessons learned from guix environment
. The guix
environment
command is deprecated and may no longer be included with
future versions of Guix. See
https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/
This is actually not the "correct" module (quotes because it
does work to create a build). The actual module that contains
"pypi-uri" is (guix build-system python)
. This can be discovered by
grepping the guix source.
The disambiguation is needed because Guix is written in Guile Scheme. Scheme is what's called a "Lisp-1". This means that a symbol corresponds only to a value. The value may be a function, variable, or something else. So, the prefix is needed to keep straight what thing the symbol refers to. This is in contrast to a "Lisp-2" language, like Emacs lisp or Common Lisp, where a function and a variable can share the same symbol; which to use, the function or the variable, depends on the context. See the classic "Technical Issues of Separation in Function Cells and Value Cells" for details on the differences between lisp-1 and lisp-2.