Commit graph

73791 commits

Author SHA1 Message Date
Maxim Cournoyer
e3bc7881f2
gnu: ghmm: Do not set PYTHONPATH.
* gnu/packages/machine-learning.scm (ghmm): Remove trailing #t.
[phases]: Do not reorder the check phase after the install phase.
{fix-PYTHONPATH}: Remove phase.
2021-02-01 11:53:48 -05:00
Maxim Cournoyer
4327f06ed5
gnu: tensorflow: Do not alter PYTHONPATH.
* gnu/packages/machine-learning.scm (tensorflow)[phases]: Delete trailing #t.
{fix-python-build}: Do not alter PYTHONPATH.
2021-02-01 11:53:48 -05:00
Maxim Cournoyer
a658d38b13
gnu: python-libtmux: Do not set PYTHONPATH.
* gnu/packages/tmux.scm (python-libtmux)[phases]{check}: Do not set PYTHONPATH.
2021-02-01 11:53:48 -05:00
Maxim Cournoyer
df09535fc9
gnu: python-pyhamcrest: Update to 2.0.2.
* gnu/packages/check.scm (python-pyhamcrest): Update to 2.0.2.
[propagated-inputs]: Remove python-six.
[phases]{check}: Do not set PYTHONPATH.
(python2-pyhamcrest): Remove variable.
2021-02-01 11:53:48 -05:00
Maxim Cournoyer
25c18d5385
gnu: behave: Do not set PYTHONPATH.
* gnu/packages/check.scm (behave)[arguments]: Remove the '#:phases' argument.
[propagated-inputs]: Remove python-importlib-metadata and python-six.
2021-02-01 11:53:48 -05:00
Maxim Cournoyer
1ed567c872
gnu: ganeti: Do not set PYTHONPATH.
* gnu/packages/virtualization.scm (ganeti): Remove trailing #t.
[phases]{build-bash-completions}: Do not set PYTHONPATH.
{pre-check}: Do patch PYTHONPATH from script.
{wrap}: Use the new GUIX_PYTHONPATH environment variable.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
40b67a1f2a
gnu: linkchecker: Do not set PYTHONPATH.
* gnu/packages/web.scm (linkchecker): Remove trailing #t.
[phases]: Do not reorder the check phase after the install phase.
{check}: Do not set PYTHONPATH.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
220a153c2f
gnu: python-cffi: Do not set PYTHONPATH.
* gnu/packages/libffi.scm (python-cffi): Remove trailing #t.
[phases]{check}: Do not set PYTHONPATH.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
fcaec1c756
gnu: python-xmlschema: Do not set PYTHONPATH.
* gnu/packages/xml.scm (python-xmlschema): Remove trailing #t.
[phases]{check}: Do not set PYTHONPATH.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
44db90b39f
gnu: python-loompy: Do not set PYTHONPATH.
* gnu/packages/bioinformatics.scm (python-loompy)
[phases]{check}: Do not set PYTHONPATH.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
21ce20bd2f
gnu: python-scanpy: Do not set PYTHONPATH.
* gnu/packages/bioinformatics.scm (python-scanpy)[phases]
{check}: Do not set PYTHONPATH.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
3c0b373310
gnu: python-screed: Adjust following Python build system changes.
* gnu/packages/bioinformatics.scm (python-screed)[arguments]: Remove field, no
longer necessary.
2021-02-01 11:53:47 -05:00
Maxim Cournoyer
5e47bebf3b
gnu: bamm: Update following changes to the Python build system.
* gnu/packages/bioinformatics.scm (bamm): Delete trailing #t.
[phases]{check}: Override rather than delete phase.  Remove trailing #t.
{post-install-check}: Delete phase.
{wrap-executable}: Also wrap with the new GUIX_PYTHONPATH.
2021-02-01 11:53:46 -05:00
Maxim Cournoyer
98769a7709
gnu: python-pysam: Adjust following Python build system changes.
* gnu/packages/bioinformatics.scm (python-pysam)[arguments]: Remove the
'#:modules' argument.
[phases]: Remove trailing #t.
{check}: Do not manually set PYTHONPATH.
2021-02-01 11:53:46 -05:00
Maxim Cournoyer
25798ca0e0
gnu: python-pybedtools: Streamline following Python build system changes.
* gnu/packages/bioinformatics.scm (python-pybedtools): Remove trailing #t.
[phases]{check}: Do not manually set PYTHONPATH.
[arguments]: Remove the '#:modules' argument.
2021-02-01 11:53:46 -05:00
Maxim Cournoyer
3016f1f21a
gnu: intel-xed: Adjust build phase.
* gnu/packages/assembly.scm (intel-xed)
[phases]: Delete trailing #t.
{build}: Do not read PYTHONPATH from environment.
2021-02-01 11:53:46 -05:00
Maxim Cournoyer
0a3226e8fc
gnu: solaar: Do not read PYTHONPATH from environment.
* gnu/packages/admin.scm (solaar)
[phases]{setenv-PATH}: Do not read PYTHONPATH from environment.
2021-02-01 11:53:46 -05:00
Maxim Cournoyer
6f54af26ce
gnu: python2-virtualenv: Fix build.
* gnu/packages/python-xyz.scm (python2-virtualenv)[arguments]{phases}: Remove
argument.
2021-02-01 11:53:46 -05:00
Lars-Dominik Braun
73068c77f1
gnu: python2-packaging-bootstrap: Add missing dependency
* gnu/packages/python-xyz.scm (python2-packaging-bootstrap)
[propagated-inputs]: Add python2-six-bootstrap.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
42b89fbf30
gnu: python-traceback2: Add missing dependency.
* gnu/packages/python-xyz.scm (python-traceback2)[propagated-inputs]:
Add python-six.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
1ea198f862
gnu: python-packaging-bootstrap: Remove dependency.
* gnu/packages/python-xyz.scm (python-packaging-bootstrap) [arguments]:
Remove dependency from setup.py, which we do not provide for this
variant.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
e97e6c05cd
gnu: python-automat: Remove broken console script.
* gnu/packages/python-xyz.scm (python-automat) [arguments]: Patch
setup.py.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
0868479d08
gnu: python-twisted: Remove broken console scripts.
* gnu/packages/python-xyz.scm (python-twisted) [arguments]: Patch
setup.py.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
1ae919ec21
gnu: python-idna-ssl: Add missing input.
* gnu/packages/python-xyz.scm (python-idna-ssl)[propagated-inputs]: Add
python-idna.
2021-02-01 11:53:45 -05:00
Lars-Dominik Braun
32fcc9ba57
gnu: python-traitlets: Add missing input.
* gnu/packages/python-xyz.scm (python-traitlets)[propagated-inputs]:
Add python-six.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
02b39eaafb
gnu: python-black: Remove blackd.
* gnu/packages/python-xyz.scm (python-black) [arguments]: Add new phase
to prevent installation of blackd.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
9dd5fa2ea6
gnu: python-websockets: Fix Python package name.
* gnu/packages/python-web.scm (python-websockets) [arguments]: Add new
phase to fix package name.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
774277ac79
gnu: python-slugify: Add missing input.
* gnu/packages/python-web.scm (python-slugify) [propagated-inputs]: Add
python-text-unidecode.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
cfe2cf2a29
gnu: python-pyfakefs: Disable unreliable test
* gnu/packages/check.scm (python-pyfakefs) [arguments]: Add new phase to
skip single test.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
355d87a0a5
gnu: python-pytest-pep8: Fix package.
* gnu/packages/check.scm (python-pytest-pep8)[arguments]: Remove
dependency on pytest-cache and add proper 'check phase.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
da3c8e53c4
gnu: python-fixtures-bootstrap: Do not sanity check.
* gnu/packages/check.scm (python-fixtures-bootstrap)
[phases]{sanity-check}: Delete.
2021-02-01 11:53:44 -05:00
Lars-Dominik Braun
1a9d771f99
gnu: python-pytest-xdist: Add missing input, relax pytest requirement.
* gnu/packages/check.scm: (python-pytest-xdist)
[arguments]: Relax pytest version requirements.
[propagated-inputs]: Add python-pytest-forked.
2021-02-01 11:53:43 -05:00
Lars-Dominik Braun
09448c0994
build/python: Add a sanity check phase.
Add a new phase validating the usability of installed Python packages.

* gnu/packages/aux-files/python/sanity-check.py: New file.
* Makefile.am (AUX_FILES): Register it.
* guix/build-system/python.scm (sanity-check.py): New variable.
(lower): Add the script as an implicit input.
* guix/build/python-build-system.scm: Remove trailing #t.
(sanity-check): New phase.
(%standard-phases): Use it.
* tests/builders.scm: (make-python-dummy)
(dummy-ok, dummy-dummy-nosetuptools, dummy-fail-requirements)
(dummy-fail-import, dummy-fail-console-script): New variables.
("python-build-system: dummy-ok")
("python-build-system: dummy-dummy-nosetuptools")
("python-build-system: dummy-fail-requirements")
("python-build-system: dummy-fail-import")
("python-build-system: dummy-fail-console-script"): Add tests.
2021-02-01 11:53:43 -05:00
Maxim Cournoyer
8a15ecf0e3
build/python: Adjust wrap phase to use the new GUIX_PYTHONPATH.
* guix/build/python-build-system.scm (wrap): Adjust to use the new
GUIX_PYTHONPATH.  Remove trailing #t.
2021-02-01 11:53:43 -05:00
Maxim Cournoyer
15dcffecf2
build/python: Add the installation bin directory to PATH.
This also to reduce the need for boilerplate code found in check phase
overrides.

* guix/build/python-build-system.scm (add-install-to-path): New phase.
(%standard-phases): Order it before the check phase.
2021-02-01 11:53:43 -05:00
Maxim Cournoyer
91cf9d17f0
build/python: Always add the install prefix to the Guix PYTHONPATH.
This is to remove the need for common boilerplate code in check phase
overrides.

* guix/build/python-build-system.scm
(add-installed-pythonpath): Streamline.  This phase depends on the presence of
a "python" input; thus GUIX_PYTHONPATH is guaranteed to be defined.  Update doc.
(add-install-to-pythonpath): New phase.
(%standard-phases): Order it before the check phase.
2021-02-01 11:53:43 -05:00
Maxim Cournoyer
18e9979970
build/python: Replace PYTHONPATH by GUIX_PYTHONPATH.
* guix/build/python-build-system.scm (add-installed-pythonpath): Replace
"PYTHONPATH" by "GUIX_PYTHONPATH".
2021-02-01 11:53:43 -05:00
Maxim Cournoyer
cb72f9a773
gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.
Using PYTHONPATH as a mean to discover the Python packages had the following
issues:

        1. It is not versioned, so different versions of Python would clash if
        installed in a shared profile.

        2. It would interfere with the host Python site on foreign
        distributions, sometimes preventing a a user to login their GDM
        session (!).

        3. It would take precedence over user installed Python packages
        installed through pip.

        4. It would leak into Python virtualenvs, which are supposed to create
        isolated Python environments.

This changes fixes the above issues by making use of a sitecustomize.py
module.  The newly introduced GUIX_PYTHONPATH environment variable is read
from the environment, filtered for the current Python version of the
interpreter, and spliced in 'sys.path' just before Python's own site location,
which provides the expected behavior.

* gnu/packages/aux-files/python/sitecustomize.py: New file.
* Makefile.am: Register it.
* gnu/packages/python.scm (customize-site)
(guix-pythonpath-search-path): New procedures.
(python-2.7)[phases]{install-sitecustomize.py}: New phase.
[native-inputs]{sitecustomize.py}: New input.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
(python-3.9)[native-search-paths]: Likewise.
[phases]{install-sitecustomize}: Override with correct version.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
* gnu/packages/commencement.scm (python-boot0):
[phases]{install-sitecustomize}: Likewise.
[native-inputs]{sitecustomize.py}: New input.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
* guix/build/python-build-system.scm (site-packages): Do not add a trailing
'/'.

squash! gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.
2021-02-01 11:53:42 -05:00
Ludovic Courtès
aedbc5ff32
guix package: Add '--export-channels'.
* guix/channels.scm (sexp->channel): Export.
* guix/describe.scm: Use (guix channels).
(manifest-entry-provenance): New procedure.
* guix/scripts/package.scm (channel=?, export-channels): New
procedures.
(show-help, %options): Add '--export-channels'.
(process-query): Honor it.
* build-aux/build-self.scm (build-program)[select?]: Exclude (guix
channels) to account for the (guix describe) change above.
* doc/guix.texi (Invoking guix package): Document it.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
60d72f5364
channels: Add 'channel->code'.
* guix/channels.scm (channel->code): New procedure, taken from...
* guix/scripts/describe.scm (channel->sexp): ... here.
Adjust callers accordingly.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
1b88b7bad2
guix describe: Use 'manifest-entry-channel'.
* guix/channels.scm (manifest-entry-channel): Export.
* guix/scripts/describe.scm (display-profile-content): Use it.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
a47f16a874
channels: Add the channel name to channel sexps.
* guix/channels.scm (channel-instance->sexp): Add 'name'.
(sexp->channel): Extract the name from SEXP, using the optional argument
as a fallback.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
9272cc700e
channels: Factorize 'manifest-entry-channel' and channel serialization.
* guix/channels.scm (sexp->channel, manifest-entry-channel): New
procedures.
(profile-channels): Replace lambda by 'manifest-entry-channel'.
(channel-instance->sexp): New procedure.
(channel-instances->manifest)[instance->entry]: Use
'channel-instance->sexp' instead of inline code.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
9fd7b050e2
guix package: Add '--export-manifest'.
* guix/scripts/package.scm (export-manifest): New procedure.
(show-help, %options): Add '--export-manifest'.
(process-query): Honor it.
* guix/build/profiles.scm (build-profile): Mention it.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
579506e272
utils: Add 'version-unique-prefix'.
* guix/utils.scm (version-unique-prefix): New procedure.
* tests/utils.scm ("version-unique-prefix"): New test.
2021-02-01 17:32:34 +01:00
Ludovic Courtès
b41e21488f
profiles: Add 'manifest->code'.
* guix/profiles.scm (manifest->code): New procedure.
* tests/profiles.scm ("manifest->code, simple")
("manifest->code, simple, versions")
("manifest->code, transformations"): New tests.
2021-02-01 17:32:31 +01:00
Ludovic Courtès
73744725dd
tests: Optimize 'fold-available-packages' test.
This test goes from 58s to 10s wall-clock time.

Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* tests/packages.scm ("fold-available-packages with/without cache"):
Remove 'find-duplicates'.  Add 'list->set*' and use it instead of
'find-duplicates', 'delete-duplicates', and 'lset='.
2021-02-01 16:07:18 +01:00
Ludovic Courtès
93af2ac871
gnu: rdma-core: Build as "RelWithDebInfo".
This allows users to use '--with-debug-info=rdma-core' and is otherwise
equivalent to "Release".

* gnu/packages/linux.scm (rdma-core)[arguments]: Remove #:build-type.
2021-02-01 12:51:03 +01:00
Ludovic Courtès
37e997bc78
gnu: rdma-core: Remove "-DIOCTL_MODE=write" configure flag.
Fixes <https://bugs.gnu.org/46229>.

This flag was added in commit 2b14c60d38.
It is apparently no longer needed.  Worse, it now causes segfaults when
used with Omni-Path devices, as reported in the bug above.

* gnu/packages/linux.scm (rdma-core)[arguments]: Remove
"-DIOCTL_MODE=write" from #:configure-flags.
2021-02-01 12:51:03 +01:00
Mathieu Othacehe
221fddd2e2
gnu: cuirass: Update to 0.0.1-63.da93cb9.
* gnu/packages/ci.scm (cuirass): Update to 0.0.1-63.da93cb9.
2021-02-01 12:07:21 +01:00