Commit graph

6334 commits

Author SHA1 Message Date
zimoun
73f55957cf
build: julia-build-system: Correctly disable parallel tests.
* guix/build/julia-build-system.scm: Remove phases trailing #t.
[phases]{check}: Omit the --procs argument when parallel tests are to be
disabled.  Substract 1 from the number of parallel jobs otherwise.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-27 01:22:33 -05:00
Maxim Cournoyer
71b309169d
profiles: Also handle package objects in GDK-PIXBUF-LOADERS-CACHE-FILE.
* guix/profiles.scm (gdk-pixbuf-loaders-cache-file): Handle both a string or a
package object for GDK-PIXBUF, as these are the two types that can be returned
by MANIFEST-LOOKUP-PACKAGE.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
2021-11-25 20:44:16 -05:00
Maxim Cournoyer
0702bbe1f7
profiles: Fix the gdk-pixbuf-loaders-cache-file hook.
'guix install' would otherwise fail with a wrong type argument whet attempting
to call the hook.

* guix/profiles.scm (gdk-pixbuf-loaders-cache-file) <file-append>: Replace
with...
<string-append>: ... this, as gdk-pixbuf has already been expanded to a string
at this point.
2021-11-25 14:27:46 -05:00
zimoun
905b090582
build: julia-build-system: Add support for parallel tests.
The tests are defined by the script 'test/runtests.jl' from packages and the
parallelism depends on the implementation of this script.  Therefore, 'julia'
is launched using local worker processes accordingly with 'parallel?'.

* guix/build/julia-build-system.scm (check): Set the JULIA_CPU_THREADS
environment variable and invoke julia with the '--procs' option.
* guix/build-system/julia.scm (julia-build)[parallel-tests?]: New argument.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-25 01:04:17 -05:00
Ludovic Courtès
19dc16ce4b
style: Add '--dry-run'.
* guix/scripts/style.scm (edit-expression/dry-run): New procedure.
(simplify-package-inputs): Add #:edit-expression parameter.
(%options, show-help): Add '--dry-run'.
(guix-style): Honor '--dry-run'.
2021-11-23 16:55:42 +01:00
Ludovic Courtès
b15e543d30
Merge branch 'master' into core-updates-frozen 2021-11-23 11:29:38 +01:00
Ludovic Courtès
0632ea98b3
guix graph: Show '-M' in '--help' output.
* guix/scripts/graph.scm (show-help): Add -M shorthand.
2021-11-23 10:24:28 +01:00
Josselin Poiret
0831dfab75
system: Add swap flags.
* gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add
them.
* guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK,
SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them.
* gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it.
* gnu/services/base.scm (swap-service-type): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-23 10:24:27 +01:00
Collin J. Doering
9f00e7429d
docker: Enable arm64 docker image building for 'guix pack'.
* guix/docker.scm (build-docker-image): Recognize "aarch64".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-23 10:24:27 +01:00
Julien Lepiller
24aa7b3c21
import: opam: Fix error on unknown field value.
* guix/import/opam.scm (metadata-ref): Return #f if field is present,
but its content is of unknown form.
2021-11-22 00:18:51 +01:00
Maxim Cournoyer
8444b44a8c
build: syscalls: Add a SET-CHILD-SUBREAPER! procedure.
* guix/build/syscalls.scm (PR_SET_CHILD_SUBREAPER): New variable.
(set-child-subreaper!): New procedure.
2021-11-20 08:57:00 -05:00
zimoun
b5d51bb19e
import: opam: Warn instead of leave when fetching fails.
* guix/import/opam.scm (opam-featch): Warn instead of leave when fetching
fails.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-11-19 12:57:35 +01:00
Pierre Neidhardt
56db786591
build-system/asdf: Don't fail in sbcl-package->cl-source-package on non-package inputs.
Inputs can be non-packages, for instance (origin ...).
sbcl-package->cl-source-package used to fail if such inputs were present in
the parent sbcl-* package.

* guix/build-system/asdf.scm (package-with-build-system): Fix
'has-from-build-system?' function.
2021-11-19 11:06:50 +01:00
Ludovic Courtès
7d043abfdb
derivations: Officially deprecate 'build-expression->derivation'.
This procedure had been semi-deprecated since 2014, starting with commit
21b679f6944f4e1f09f949322f5242b761dc22a7!

* guix/derivations.scm (build-expression->derivation): Define using
'define-deprecated'.
2021-11-18 22:47:55 +01:00
Ludovic Courtès
e37dcf63dc
build-system/go: Update cross-compilation support to new interface.
* guix/build-system/go.scm (go-cross-build): Remove 'store', 'native-drvs'
and 'target-drvs'; add 'source', 'build-inputs', 'target-inputs', and
'host-inputs'.  Change default value of #:phases.
[builder]: Rewrite as a gexp.
Rewrite body to call 'gexp->derivation' instead of
'build-expression->derivation'.
2021-11-18 22:35:47 +01:00
Maxim Cournoyer
4c91332cce
gnupg: Honor GnuPG's configuration for the key server.
The previous default "pool.sks-keyservers.net" doesn't seem to work anymore;
besides, users know best.

* guix/gnupg.scm (%openpgp-key-server): Default to #f, meaning not provided.
(gnupg-receive-keys): Make SERVER and KEYRING keyword arguments.  Adjust doc.
Provide the '--keyserver' argument only when %openpgp-key-server is not #f.
(gnupg-verify*): Do not set a default value for SERVER.  Adjust accordingly.
2021-11-18 14:41:53 -05:00
Ricardo Wurmus
424f2c92b4
import: texlive: Take different package database as optional argument.
* guix/import/texlive.scm (tlpdb->package): Expect PACKAGE-DATABASE as
argument.
(texlive->guix-package): Accept PACKAGE-DATABASE keyword.
2021-11-18 13:17:57 +00:00
Ricardo Wurmus
a030511fd9
import: texlive: Print inputs with labels and guixified names.
* guix/import/texlive.scm (tlpdb->package): Improve handling of propagated-inputs.
2021-11-18 13:17:56 +00:00
Ludovic Courtès
3a317f7476
Merge branch 'master' into core-updates-frozen 2021-11-17 23:43:14 +01:00
Josselin Poiret
346d2f6488
diagnostics: Add syntax to capture arguments' syntax-properties.
* guix/diagnostics.scm (define-with-syntax-properties): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-17 23:05:58 +01:00
Xinglu Chen
f5fc395ab4
scripts: home: Make ‘guix home import’ write home-configuration.scm.
* guix/scripts/home.scm (process-command): Populate ‘home-configuration.scm’
  in the destination directory instead of printing to stdout.
* doc/guix.texi (Declaring the Home Environment): Adjust accordingly.
(Invoking guix home): Likewise.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-11-17 23:05:58 +01:00
Ludovic Courtès
71b24abeb2
import: texlive: Remove leftover 'pk'.
* guix/import/texlive.scm (files->directories): Remove leftover 'pk'
call.
2021-11-17 15:44:48 +01:00
Ludovic Courtès
21357224bc
import: texlive: Load (gnu packages tex) dynamically.
Fixes a bug whereby 'guix pull' would fail with this guix-extra.drv
build failure:

  ice-9/eval.scm:163:9: ERROR:
    1. &formatted-message:
	format: "~a: patch not found\n"
	arguments: ("nettle-3.5-check-_pkcs1_sec_decrypt-msg-len.patch")

Reported by ekaitz on #guix.

Regression introduced in 3b1a12c5bf.

* guix/import/texlive.scm: Autoload (gnu packages tex).

fixlet
2021-11-17 15:44:33 +01:00
Ricardo Wurmus
3b1a12c5bf
import: Replace texlive importer.
* guix/import/texlive.scm (fetch-sxml, sxml->package): Remove procedures.
(tlpdb-file, tlpdb, files->directories, tlpdb->package): New procedures.
(string->license): Add case for lpplgpl license combination.
(guix-name): Remove COMPONENT argument.
(texlive->guix-package): Use new procedures.
(texlive-recursive-import): New procedure.
* guix/scripts/import/texlive.scm (show-help, %options): Remove --archive
option.
(guix-import-texlive): Adjust call of texlive->guix-package.
* doc/guix.texi (Invoking guix import): Update documentation.
2021-11-17 11:00:01 +00:00
Ricardo Wurmus
3e5749fc33
guix: Add download-multi-svn-to-store.
* guix/svn-download.scm (download-multi-svn-to-store): New procedure.
2021-11-17 10:59:54 +00:00
Ludovic Courtès
472a0e82a5
daemon: Do not deduplicate files smaller than 8 KiB.
Files smaller than 8 KiB typically represent ~70% of the entries in
/gnu/store/.links but only contribute to ~4% of the space savings
afforded by deduplication.

Not considering these files for deduplication speeds up file insertion
in the store and, more importantly, leaves 'removeUnusedLinks' with
fewer entries to traverse, thereby speeding it up proportionally.

Partly fixes <https://issues.guix.gnu.org/24937>.

* config-daemon.ac: Remove symlink hard link check and CAN_LINK_SYMLINK
definition.
* guix/store/deduplication.scm (%deduplication-minimum-size): New
variable.
(deduplicate)[loop]: Do not recurse when FILE's size is below
%DEDUPLICATION-MINIMUM-SIZE.
(dump-port): New procedure.
(dump-file/deduplicate)[hash]: Turn into...
[dump-and-compute-hash]: ... this thunk.
Call 'deduplicate' only when SIZE is greater than
%DEDUPLICATION-MINIMUM-SIZE; otherwise call 'dump-port'.
* nix/libstore/gc.cc (LocalStore::removeUnusedLinks): Drop files where
st.st_size < deduplicationMinSize.
* nix/libstore/local-store.hh (deduplicationMinSize): New declaration.
* nix/libstore/optimise-store.cc (deduplicationMinSize): New variable.
(LocalStore::optimisePath_): Return when PATH is a symlink or smaller
than 'deduplicationMinSize'.
* tests/derivations.scm ("identical files are deduplicated"): Produce
files bigger than %DEDUPLICATION-MINIMUM-SIZE.
* tests/nar.scm ("restore-file-set with directories (signed, valid)"):
Likewise.
* tests/store-deduplication.scm ("deduplicate, below %deduplication-minimum-size"):
New test.
("deduplicate", "deduplicate, ENOSPC"): Produce files bigger than
%DEDUPLICATION-MINIMUM-SIZE.
* tests/store.scm ("substitute, deduplication"): Likewise.
2021-11-16 14:34:28 +01:00
Ludovic Courtès
f39397b210
tests: Factorize 'file=?'.
* guix/tests.scm (file=?): Add optional 'stat' parameter.  Add fast
patch comparing inode numbers.
* tests/gexp.scm ("imported-files with file-like objects"): Remove
'file=?' procedure and use the one from (guix tests).
2021-11-16 14:34:28 +01:00
Jean-Baptiste Volatier
3af351a7de
build-system/julia: Enable Julia Pkg to find installed packages.
Julia's built-in package manager (Pkg) looks for packages in
JULIA_DEPOT_PATH/packages/PACKAGENAME/XXXX, where XXXX is a string
encoding package UUID and SHA1 of files.  The link-depot phase creates
a link at the correct location to allow Pkg to find packages that were
already installed by Guix.

* guix/build/julia-build-system.scm (link-depot): New phase.
(%package-path): Modified package path from packages/ to loadpath/.
(project.toml->uuid): New procedure, retrive package uuid from TOML file.
(precompile, check): Adjust to the change in paths.
(%standard-phases): Add link-depot phase.
(julia-build): Add julia-package-uuid keyword.
* guix/build-system/julia.scm (julia-build): Also use the
julia-package-uuid keyword.
* gnu/packages/julia-jll.scm (julia-bzip2-jll, julia-cairo-jll,
julia-compilersupportlibraries-jll, julia-expat-jll, julia-ffmpeg-jll,
julia-fontconfig-jll, julia-freetype2-jll, julia-fribidi-jll,
julia-gettext-jll, julia-glib-jll, julia-gr-jll, julia-gumbo-jll,
julia-imagemagick-jll, julia-jllwrappers-jll, julia-jpegturbo-jll,
julia-lame-jll, julia-libass-jll, julia-libfdk-aac-jll,
julia-libffi-jll, julia-libgcrypt-jll, julia-libglvnd-jll,
julia-libgpg-error-jll, juli-libiconv-jll, julia-libmount-jll,
julia-libpng-jll, julia-libsass-jll, julia-libtiff-jll,
julia-libuuid-jll, julia-libvorbis-jll, julia-lzo-jll,
julia-mbedtls-jll, julia-ogg-jll, julia-openspecfun-jll,
julia-openssl-jll, julia-opus-jll, julia-pcre-jll, julia-pixman-jll,
julia-qt5base-jll, julia-wayland-jll, julia-wayland-protocols-jll,
julia-x264-jll, julia-x265-jll, julia-xkbcommon-jll, julia-xml2-jll,
julia-xorg-libpthread-stubs-jll, julia-xorg-libx11-jll,
julia-xorg-libxau-jll, julia-xorg-libxcb-jll, julia-xorg-libxcursor-jll,
julia-xorg-libxdmcp-jll, julia-xorg-libxext-jll,
julia-xorg-libxfixes-jll, julia-xorg-libxi-jll,
julia-xorg-libxinerama-jll, julia-xorg-libxkbfile-jll,
julia-xorg-libxrandr-jll, julia-xorg-libxrender-jll,
julia-xorg-xcb-util-jll, julia-xorg-xcb-util-keysyms-jll,
julia-xorg-xcb-util-renderutil-jll, julia-xorg-xcb-util-wm-jll,
julia-xorg-xkbcomp-jll, julia-xorg-xkeyboard-config-jll,
julia-xorg-xtrans-jll, julia-xslt-jll, julia-zlib-jll, julia-zstd-jll)
[argument]: Adjust the order of the phases to the change in the
julia-build-system.
* gnu/packages/julia-xyz.scm (julia-bufferedstreams, julia-calculus,
julia-dataframes, julia-datavalues, julia-distances, julia-documenter,
julia-dualnumbers, julia-ellipsisnotation, julia-expronicon,
julia-fileio, julia-fixedpointnumbers, julia-functionwrappers,
julia-fuzzycompletions, julia-genericlinearalgebra, julia-genericschur,
julia-geometrybasics, julia-imagemagick, julia-infinity,
julia-matrixfactorizations, julia-media, julia-missings, julia-nnlib,
julia-optimtestproblems, julia-orderedcollections, julia-prettytables,
julia-pycall, julia-quadmath, julia-safetests, julia-stackviews)
[arguments]: Correct paths to reflect change of %package-path modify
order of phases as link-depot needs to run on an unmodified src
directory add package-name-uuid keyword argument to packages without
Project.toml file.
* gnu/packages/julia.scm (julia)[native-search-paths]: Correct paths to
reflect change of %package-path modify order of phases as link-depot
needs to run on an unmodified src directory.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-11-16 14:39:51 +02:00
Vagrant Cascadian
75cae188ad
build: wrap-qt-program: Fix typo.
* gnu/build/qt-utils.scm (wrap-qt-program): Fix spelling of "program".
2021-11-14 18:02:22 -08:00
Thiago Jung Bauermann
12c06847f0
environment: Fix ‘--check’ with exported PS1 variable.
If your .bashrc (unnecessarily) exports PS1 and you’re in a non-login
shell, Guix crashes:

user@popigai:~$ guix shell --check coreutils
guix shell: checking the environment variables visible from shell '/bin/bash'...
Backtrace:
          14 (primitive-load "/home/user/.config/guix/current/bin/g…")
In guix/ui.scm:
   2206:7 13 (run-guix . _)
  2169:10 12 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
  1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   658:37  9 (thunk)
   1320:8  8 (call-with-build-handler _ _)
   1320:8  7 (call-with-build-handler #<procedure 7fe393b7c420 at g…> …)
In guix/status.scm:
    800:4  6 (call-with-status-report _ _)
In guix/scripts/environment.scm:
   951:12  5 (_)
In guix/store.scm:
  2119:24  4 (run-with-store #<store-connection 256.99 7fe39627e500> …)
In guix/scripts/environment.scm:
   521:35  3 (_ _)
In unknown file:
           2 (string=? ("PS1" . "${debian_chroot:+($debian_chroot)…") …)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure string=: Wrong type argument in position 1 (expecting string): ("PS1" . "${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]${EXTRA}\\$ ")
user@popigai:~$

This is because the match pattern doesn’t expect `(vhash-assoc "PS1" actual)`
to return a pair.

* guix/scripts/environment.scm (validate-child-shell-environment): Change
match pattern to expect a pair.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-14 23:18:08 +01:00
jgart
193d7b5b45
guix: packages: Clarify that list is a list of <license> records.
* guix/packages/packages.scm (<package>): Clarify that the license
field takes a list of licenses rather than a generic list.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2021-11-13 09:52:19 +01:00
Attila Lendvai
0c21ec1c79
import: utils: Add more licenses and extend their detection.
* guix/import/utils.scm (spdx-string->license): Identify more
licenses (CC-BY-4.0, Freetype, HPND).
* guix/licenses.scm: Add a comment that mentions "MIT" so that people
who grep for MIT end up there.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-12 23:34:18 +01:00
Maxim Cournoyer
dfcc96d8f4
build: meson: Replace the 'test-target' argument by 'test-options'.
This change is motivated by the need to disable the default 30 seconds timeout
that Meson uses (see: https://gitlab.gnome.org/GNOME/glib/-/issues/2522), and
also by desire to specify extra options to run the check phase without having
to override it.

* guix/build-system/meson.scm (meson-build) <test-target>: Replace argument
with...
<test-options>: ... this one.
* guix/build/meson-build-system.scm (check): Invoke 'meson test' instead of
'ninja test-target', as the former is configurable via options.
* doc/guix.texi (Build Systems) <meson-build-system>: Update doc.
2021-11-11 12:18:32 -05:00
Maxim Cournoyer
20e3dd052d
profiles: Add a gdk-pixbuf-loaders-cache-file hook.
This paves the way toward properly fixing https://issues.guix.gnu.org/50957.

* guix/profiles.scm (gdk-pixbuf-loaders-cache-file): Add procedure...
(%default-profile-hooks): ... and register it as a profile hook.
* guix/status.scm (hook-message): Register it here too.
2021-11-11 12:18:19 -05:00
Maxim Cournoyer
e0d9c37982
build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase.
Adding a profile hook to do so covers most use cases, but it is still
necessary to have the gdk-pixbuf loaders cache file computed at build time, as
software may expect to find loaders support at that time.

* guix/build/glib-or-gtk-build-system.scm: Delete trailing #t.
(%gdk-pixbuf-loaders-cache-file-prefix): New variable.
(generate-gdk-pixbuf-loaders-cache): New procedure.
(generate-gdk-pixbuf-loaders-cache-file): Add procedure...
(%standard-phases): ... and register it as a build phase.
2021-11-11 12:18:19 -05:00
Maxim Cournoyer
889eebc185
build: glib-or-gtk-build-system: Fix indentation.
* guix/build/glib-or-gtk-build-system.scm (gtk-module-directories)
(wrap-all-programs): Fix indentation.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer
eb619cda36
build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs)
<handle-output>: Precisely build the list of variable specifications, rather
than relying on a bunch of conditionals.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer
ac4417328d
guix: packages: Fix repacking of plain tarballs.
Fixes <https://issues.guix.gnu.org/50066>.

* guix/packages.scm (patch-and-repack): Test for a tarball using tarball? and
move the plain file copy to the else clause.

Reported-by: Mathieu Othacehe <othacehe@gnu.org>
2021-11-11 10:31:32 -05:00
Brendan Tildesley
3dfe45c3f1
build: qt-utils: Don't wrap .X-real files.
* guix/build/qt-utils.scm (find-files-to-wrap): Exclude already wrapped
programs.  This is forbidden in wrap-program now due to a738a663a9.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:31 -05:00
Ludovic Courtès
3756ce3267
import: print: Replace packages and origins in 'arguments'.
* guix/import/print.scm (package->code)[variable-reference]
[object->code]: New procedures.
[package-lists->code]: Rewrite in terms of 'object->code'.
Pass the 'arguments' field through 'object->code'.
* tests/print.scm (pkg-with-arguments, pkg-with-arguments-source): New
variables.
("package with arguments"): New test.
2021-11-11 00:14:31 +01:00
Ludovic Courtès
b2ed40c29f
import: print: Handle patches that are origins.
* guix/import/print.scm (package->code)[source->code]: Handle patches
that are origins.
* tests/print.scm (pkg-with-origin-input): Add 'patches' field.
(pkg-with-origin-patch, pkg-with-origin-patch-source): New variables.
("package with origin patch"): New test.
2021-11-11 00:14:31 +01:00
Ludovic Courtès
b3240ae846
import: print: Correctly handle URI lists.
* guix/import/print.scm (package->code)[factorized-uri-code]: New
procedure.
[source->code]: Use it, and factorize URI when it's a list.
* tests/print.scm (pkg-with-origin-input): Check origin URI to a list.
2021-11-11 00:14:31 +01:00
Ludovic Courtès
04d929570a
import: print: Properly render packages with origins as inputs.
* guix/import/print.scm (package->code)[source->code]: Check whether
VERSION is true before calling 'factorize-uri'.
[package-lists->code]: Add clause for inputs that are origins.
* tests/print.scm (pkg-with-origin-input, pkg-with-origin-input-source):
New variables.
("package with origin input"): New test.
2021-11-11 00:14:31 +01:00
Ludovic Courtès
450e1dd52e
import: cran: Allow imports of a specific version.
* guix/import/cran.scm (download): Handle the case where URL is a list.
(fetch-description-from-tarball): New procedure.
(fetch-description): Add #:version parameter.  Honor it when REPOSITORY
is 'cran.  Use 'fetch-description-from-tarball' when REPOSITORY is
'bioconductor.
(description->package): SOURCE-URL may now be a list.
(cran->guix-package): Pass VERSION to 'fetch-description'.
(cran-recursive-import): Add #:version parameter.
* guix/scripts/import/cran.scm (guix-import-cran): Expect a spec rather
than a mere package name.
* doc/guix.texi (Invoking guix import): Document it.
2021-11-11 00:14:30 +01:00
Ludovic Courtès
b20cd80ff1
import: pypi: Allow imports of a specific version.
* guix/import/pypi.scm (latest-version): New procedure.
(latest-source-release): Rename to...
(source-release): ... this.  Add 'version' parameter.
(latest-wheel-release): Rename to...
(wheel-release): ... this.  Add 'version' parameter.
(pypi->guix-package): Honor 'version' parameter.
(pypi-recursive-import): Add 'version' parameter and honor it.
* guix/scripts/import/pypi.scm (guix-import-pypi): Expect a spec.  Pass
it to 'package-name->name+version'.  Pass the 'version' parameter.
* tests/pypi.scm ("pypi->guix-package, no wheel"): Exercise
the #:version parameter.
* doc/guix.texi (Invoking guix import): Document it.
2021-11-11 00:14:30 +01:00
Ludovic Courtès
745d3a9b44
store: 'mapm/accumulate-builds' does not compare stores with 'eq?'.
Fixes <https://issues.guix.gnu.org/51732>.
Regression introduced in 2015d3f042.

The (eq? store expected-store) comparison doesn't work on this branch
where the functional cache, with 'cache-object-mapping', is used
extensively, thereby changing the store's object identity.

* guix/store.scm (build-accumulator): Compare the socket of STORE and
EXPECTED-STORE rather than the store themselves.
2021-11-10 00:39:10 +01:00
Efraim Flashner
1c94392a13
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-11-08 09:06:14 +02:00
Ricardo Wurmus
22b568de43
guix: Upgrade to Bioconductor 3.14.
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.14.
* guix/import/cran.scm (%bioconductor-version): Same.
2021-11-07 22:34:34 +00:00
Ludovic Courtès
859122e5ab
shell: Actually clean up the profile cache.
Previously, most actions would leave the cache as-is because
'guix-environment*' would indirectly call 'exit', and thus its
continuation was never reached.

* guix/scripts/shell.scm (guix-shell): Move call to
'maybe-remove-expired-cache-entries' to EXIT-HOOK.
2021-11-07 23:10:41 +01:00
Xinglu Chen
b999c80c2e
import: egg: Allow imports of a specific version.
* guix/import/egg.scm (eggs-repository): Change URL.
(egg-metadata): Accept optional #:version keyword argument.
(egg->guix-package): Accept ‘version’ argument.
(egg-recursive-import): Add ‘version’ argument and honor it.
* guix/scripts/import/egg.scm (guix-import-egg): Parse a specification instead
of just a package name.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-07 23:10:41 +01:00