me
/
guix
Archived
1
0
Fork 0
Commit Graph

6372 Commits (9ebc9ca070a21ba0aeb3f61202a8071bb250ccc8)

Author SHA1 Message Date
Attila Lendvai 9ebc9ca070
tests: Move keys into ./tests/keys/ and add a third ed25519 key.
The third key will be used in an upcoming commit.

Rename public keys to .pub.

* guix/tests/gnupg.scm (%ed25519-3-public-key-file): New variable.
(%ed25519-3-secret-key-file): New variable.
(%ed25519-2-public-key-file): Renamed from %ed25519bis-public-key-file.
(%ed25519-2-secret-key-file): Renamed from %ed25519bis-secret-key-file.
* tests/keys/ed25519-3.key: New file.
* tests/keys/ed25519-3.sec: New file.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-22 10:53:19 +01:00
Ludovic Courtès ddf9345dfe
combinators: Add 'define-compile-time-procedure'.
* guix/combinators.scm (procedure-call-location): New syntax parameter.
(define-compile-time-procedure): New macro.
2021-12-20 16:21:40 +01:00
Ludovic Courtès bdaf38a6e0
build-system/meson: Define build variables when cross-compiling.
Fixes <https://issues.guix.gnu.org/52574>.
Reported by L  p R n  d n    <guix@lprndn.info>.

* guix/build-system/meson.scm (meson-cross-build)[builder]: Define
'%build-host-inputs', '%build-target-inputs', '%build-inputs', and
'%outputs'.
2021-12-20 16:21:39 +01:00
Andrew Whatson 11334d15d5
ci: Restrict substitute search to guix jobset.
* guix/ci.scm (latest-builds): Add jobset keyword.
(find-latest-commit-with-substitutes): Pass jobset "guix".

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-19 16:25:51 +01:00
Ludovic Courtès f6e79ef108
style: Gracefully handle errors such as EACCES when opening files.
* guix/scripts/style.scm (guix-style): Wrap body in
'with-error-handling'.
2021-12-18 22:51:55 +01:00
Ludovic Courtès a9892f8f2d
style: Refer to source files by absolute file names.
Previously, "guix style PACKAGE" would end up modifying a file looked up
under the current directory since the location associated with PACKAGE
is usually a relative file name.

* guix/scripts/style.scm (absolute-location): New procedure.
(simplify-package-inputs): Use it.
2021-12-18 22:51:55 +01:00
Xinglu Chen f21c70bc9a
import: elpa: Support ‘upstream-name’ property.
* guix/import/elpa.scm: (guix-package->elpa-name): New procedure.
  (latest-release): Use it.
* tests/elpa.scm ("guix-package->elpa-name: without 'upstream-name' property")
  ("guix-package->elpa-name: with 'upstream-name' property"): Test it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-18 22:51:55 +01:00
Vagrant Cascadian 5f547a5c42
lint: Adjust patch file length check.
With the switch to "ustar" format in commit
bdf5c16ac0, the maximum file length has
increased.

* guix/lint.scm (check-patch-file-names): Adjust margin used to check for
  patch file lengths. Increase allowable patch file length appropriate to new
  tar format. Extend warning to explain that long files may break 'make dist'.
* tests/lint.scm: Update tests accordingly.
2021-12-17 21:04:25 -08:00
zimoun 28ffdc5cc8
guix hash: Add git serializer.
* guix/scripts/hash.scm (git-hash): New procedure.
(%options): Use it.
* tests/guix-hash.sh: Test it.
* doc/guix.texi: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
zimoun 05c962594c
guix hash: Add 'serializer' option.
* guix/scripts/hash.scm (%options): Deprecate 'recursive', add 'serializer'.
(%default-options): Add 'serializer'.
(nar-hash): New procedure.
(default-hash): New procedure.
(guix-hash)[file-hash]: Use them.
(show-help): Adjust.
* tests/guix-hash.scm: Adjust.
* doc/guix.texi: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
zimoun 6e08f07f20
guix hash: Support several files.
* guix/scripts/hash.scm (guix-hash): Allow several files.
[file-hash]: Catch system-error.
[formatted-hash]: New procedure.
* tests/guix-hash.sh: Add test.
* doc/guix.texi (Invoking guix hash): Mention "one or more files".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
Xinglu Chen 155fc235b5
import: Beautify descriptions when appropriate.
* guix/import/elpa.scm (elpa-package->sexp)
* guix/import/gnu.scm (gnu-package->sexp)
* guix/import/hackage.scm (hackage-module->sexp)
* guix/import/minetest.scm (make-minetest-sexp)
* guix/import/opam.scm (opam->guix-package)
* guix/import/pypi.scm (make-pypi-sexp): Beautify descriptions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
Xinglu Chen 5cd1019488
import: utils: Wrap lines in description.
* guix/import/utils.scm (beautify-description): Use ‘fill-paragraph’; add
  optional ‘length’ argument.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17 17:29:34 +01:00
Leo Famulari 18d5e7c96b
lint: 'kdoctools' is typically used only while building.
* guix/lint.scm (check-inputs-should-be-native): Add kdoctools.
2021-12-16 13:51:54 -05:00
Ludovic Courtès 2a621f168f
offload: Autoload Guile-SSH.
This halves the number of syscalls made by "guix offload" during startup
and delays loading of Guile-SSH until there are actually machines to
offload to.

* guix/scripts/offload.scm: Remove unused module imports.  Autoload many
modules.
(check-ssh-zlib-support): New procedure.
(process-request): Call it when accepting.
(guix-offload): Remove 'zlib-support?' check, now moved to
'check-ssh-zlib-support'.
2021-12-15 17:12:13 +01:00
Ludovic Courtès ebbf7fc1c6
offload: Delay call to 'read-derivation-from-file'.
This significantly reduces the amount of work done by "guix offload"
when there's no machine to offload to.

* guix/scripts/offload.scm (process-request): Add call to
'read-derivation-from-file', moved from...
(guix-offload): ... here.
2021-12-15 17:12:13 +01:00
Tobias Geerinckx-Rice 9f955a1cfd
build-system/linux-module: Wrap with build variables.
* guix/build-system/linux-module.scm (linux-module-build): Wrap the
builder gexp WITH-BUILD-VARIABLES to restore %build-inputs after commit
7d873f194c removed all old certainties.

Reported by lfam in #guix.
2021-12-15 04:57:05 +01:00
Maxim Cournoyer 046a23e63a
build-system: emacs: Do not rely on input labels in the 'build' phase.
This commit repairs the Emacs build system for packages using the new
label-less "guix style".  Tested with emacs-libgit.

* guix/build/emacs-build-system.scm (build): Use search-input-file to locate
emacs.
2021-12-14 11:18:46 -05:00
Nicolas Goaziou 41e61e4fed
guix: Fix typo in last commit.
* guix/build/emacs-build-system.scm (make-autoloads): Fix typo.
2021-12-14 15:49:15 +01:00
Nicolas Goaziou 6717ce28d0
guix: Do not assume "emacs" label in make-autoloads.
* guix/build/emacs-build-system.scm (make-autoloads): Look for "emacs"
executable independently on the label.
2021-12-14 15:48:02 +01:00
Ludovic Courtès aca2defe01
packages: 'modify-inputs' preserves and introduces input labels if needed.
Fixes a bug whereby, in an expression like this:

  (modify-inputs lst
    (delete ...)
    (prepend ...))

the 'delete' clause would have no effect because 'prepend' would pass it
a label-less input list.

* guix/packages.scm (inputs-sans-labels): Remove.
(modify-inputs): In the 'prepend' and 'append' cases, preserve/add input
labels instead of removing them.
2021-12-13 17:48:25 +01:00
Ludovic Courtès 1052ae5f03
Merge branch 'master' into core-updates-frozen 2021-12-13 11:49:15 +01:00
Christopher Baines 604880ae22
progress: Rate limit drawing in the progress-reporter/bar.
This helps smooth the output in cases where the bar is updated very quickly,
for example in guix weather where it's computing derivations.

* guix/progress.scm (progress-reporter/bar): Wrap the drawing code with the
rate-limited procedure.
2021-12-12 14:12:15 +00:00
Ludovic Courtès cba0395c99
narinfo: Do not repeat slash when building nar URLs.
* guix/narinfo.scm (narinfo-maker): When one of URLS is relative, do not
repeat trailing slash if it's already present in CACHE-URL.
2021-12-12 00:27:53 +01:00
Ludovic Courtès e68466de12
substitutes: Build correct narinfo URLs for cache URLs without trailing slash.
Fixes <https://issues.guix.gnu.org/51441>.
Reported by Z572 <873216071@qq.com> and Peng Mei Yu <pengmeiyu@riseup.net>.

Previously, passing '--substitute-urls=https://mirror.sjtu.edu.cn/guix',
without a trailing slash, would fail due to incorrectly constructed
narinfo URLs.  Users would have to explicitly add a trailing slash.

* guix/substitutes.scm (narinfo-request): Ensure BASE has a trailing
slash.
2021-12-12 00:27:53 +01:00
Ludovic Courtès 4dca1bae27
challenge: Store item contents are returned in canonical order.
This allows the 'delete-duplicates' call in 'differing-files' to have
the intended effect.

Before that, a "guix challenge" invocation with three builds of a store
item, two of which are identical, would lead 'differing-files' to not
print anything, as in this example:

  $ ./pre-inst-env guix challenge python-numpy
  /gnu/store/…-python-numpy-1.17.3 contents differ:
    local hash: 07var0wn8fywxchldz5pjqpnlavrlbc8s81aqwsqyi0i7qlh6ka7
    https://ci.guix.gnu.org/nar/lzip/…-python-numpy-1.17.3: 07var0wn8fywxchldz5pjqpnlavrlbc8s81aqwsqyi0i7qlh6ka7
    https://bordeaux.guix.gnu.org/nar/lzip/…-python-numpy-1.17.3: 0cbl3q19bshb6ddz8xkcrjzkcmillsqii4z852ybzixyp7rg40qa

  1 store items were analyzed:
    - 0 (0.0%) were identical
    - 1 (100.0%) differed
    - 0 (0.0%) were inconclusive

With this change, 'differing-files' prints additional info as intended:

    differing file:
      /lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc

* guix/scripts/challenge.scm (archive-contents): Add tail call to
'reverse'.
(store-item-contents): Rewrite to use 'scandir' and recursive calls
instead of 'file-system-fold'.
2021-12-12 00:27:53 +01:00
Ludovic Courtès c6903e156f
challenge: Use SRFI-71 instead of SRFI-11.
* guix/scripts/challenge.scm (port-sha256*, call-with-nar): Use SRFI-71.
2021-12-12 00:27:53 +01:00
Mathieu Othacehe 32750e8c3e
Merge remote-tracking branch 'signed/master' into core-updates 2021-12-10 21:49:25 +01:00
Ludovic Courtès 16e9e53838
environment: Suggestion code gracefully handles empty "/bin" directories.
* guix/scripts/environment.scm (suggest-command-name): Handle the case
where 'scandir' returns #f.
2021-12-10 15:32:44 +01:00
Ludovic Courtès 7197710121
shell: When using '-D -f', '-D' has no effect on remaining packages.
Fixes <https://issues.guix.gnu.org/52093>.
Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

* guix/scripts/shell.scm (%options): In "--file" handler, add call to
'ensure-ad-hoc'.
* tests/guix-shell.sh: Add test.
2021-12-10 15:32:44 +01:00
Ludovic Courtès c879354003
shell: Fix '--file' description in '--help' output.
Reported by pinoaffe on #guix.

* guix/scripts/shell.scm (show-help): Fix '--file' description.
2021-12-10 15:32:44 +01:00
Ricardo Wurmus 9bc0f45df5
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
Marius Bakke f63fb61d0c
import: PyPI: Validate GPG signatures when applicable.
* guix/import/pypi.scm (<distribution>): Fix funny typo.
(latest-release): When the distribution has a cryptographic signature, pass it
along to UPSTREAM-SOURCE.
2021-12-05 14:40:08 +01:00
Liliana Marie Prikler 98cec36957
build-system: emacs: Keep -pkg.el files.
Partly fixes <https://bugs.gnu.org/48331> -- package descriptions can now be
found in the install directory.

* guix/build/emacs-build-system.scm (%default-exclude): Remove "-pkg\\.el$".
2021-12-03 21:39:50 +01:00
Attila Lendvai b42bfbdfe5
guix system vm: Add --no-graphic CLI argument.
It configures QEMU to use the tty it was started in for IO (as opposed to
opening a separate graphical window).  This enables copy-pasting and
scrollback.  Exit QEMU with C-a x.

* gnu/system/vm.scm (system-qemu-image/shared-store-script): Also add the
'-nographic' QEMU argument when called with #:graphic? #false.
* guix/scripts/system.scm (system-derivation-for-action): Propagate
the #:graphic? keyword arg.
(perform-action): Add and propagate the #:graphic? keyword arg.
(show-help): Add --no-graphic CLI arg.
(%options): Process the new --no-graphic CLI arg.
(process-action): Feed in the CLI arg through the #:graphic? keyword arg.
* doc/guix.texi (Invoking guix system): Add example to combine guix system and
invoking the vm start script into one command.  Split the description of the
various options into separate paragraphs.  Add a paragraph to describe
--no-graphic.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-03 14:18:32 +01:00
Xinglu Chen 39f4ef59ff
build-system: haskell: Add ‘hackage-uri’ procedure.
* guix/build-system/haskell (hackage-uri): New procedure.
* guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it.
* tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision,
match-ghc-foo-import): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-01 17:53:25 +01:00
Ludovic Courtès 9f371f23eb
inferior: 'cached-channel-instance' does not cache unauthenticated instances.
The comment saying that caching is fine even when AUTHENTICATE? is false
was true in commit 838ac881ec, but it
became incorrect in 7cfd789150, which
no longer calls 'latest-channel-instances' on cache hits.

* guix/inferior.scm (cached-channel-instance): Do not create CACHED when
AUTHENTICATE? is false.
2021-12-01 17:51:33 +01:00
Ludovic Courtès 6b30eb189e
gexp: 'file-append' correctly handles bases without an expander.
This fixes this use case:

  (file-append (let-system ...) ...)

* guix/gexp.scm (file-append-compiler): When BASE lacks an expander,
delegate to LOWERED.
* tests/gexp.scm ("let-system in file-append"): New test.
2021-11-27 23:06:17 +01:00
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