Age | Commit message (Expand) | Author |
2021-12-23 | tests: Smarten up git repository testing framework....* guix/tests/git.scm (with-git-repository): New macro, exported. It can be used
repeatedly inside a WITH-TEMPORARY-GIT-REPOSITORY.
(populate-git-repository): Extend the DSL with (ADD "some-noise"), (RESET
"[commit hash]"), (CHECKOUT "branch" ORPHAN).
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Attila Lendvai |
2021-12-23 | self: Add guile-lzma as a dependency....This is a follow-up to 35ce3e5de6d39d4959ecae31e8f8ce2bbb645e0a, fixing
Disarchive recovery when the download script is run from a 'guix pull'
profile.
* guix/self.scm (specification->package): Add "guile-lzma".
(compiled-guix): Add GUILE-LZMA to DEPENDENCIES in
the #:dependencies argument to 'guix-command'.
| Timothy Sample |
2021-12-23 | scripts: system: Add a missing module....* guix/scripts/system.scm: Add a missing module.
| Mathieu Othacehe |
2021-12-23 | scripts: system: Use the disk-image size argument for VM generation....* guix/scripts/system.scm (system-derivation-for-action): Use the given
image-size unconditionnaly when calling system-qemu-image/shared-store-script.
| Mathieu Othacehe |
2021-12-23 | scripts: system: Pass the volatile field to VM generation....* guix/scripts/system.scm (system-derivation-for-action): Add new volatile?
argument and pass it to system-qemu-image/shared-store-script.
(perform-action): Add new volatile? argument and pass it to
system-derivation-for-action.
(process-action): Pass the volatile? argument to perform-action.
| Mathieu Othacehe |
2021-12-23 | scripts: system: Deprecate the docker-image command....* guix/scripts/system.scm (system-derivation-for-action): Use the image API to
generate the docker images and deprecate the docker-image command.
(process-action): Ditto.
* doc/guix.texi (Invoking guix system): Adapt it.
| Mathieu Othacehe |
2021-12-22 | packages: Avoid #:re-export-and-replace to allow upgrades from 1.2.0....Fixes <https://issues.guix.gnu.org/52694>.
Reported by Carl Dong <contact@carldong.me>.
Use of #:re-export-and-replace would prevent upgrades from 1.2.0, whose
'source-module-closure' procedure did not recognize #:re-export-and-replace.
* guix/packages.scm: Remove #:re-export-and-replace and add top-level
call to 'module-re-export!'
| Ludovic Courtès |
2021-12-22 | 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>
| Attila Lendvai |
2021-12-20 | combinators: Add 'define-compile-time-procedure'....* guix/combinators.scm (procedure-call-location): New syntax parameter.
(define-compile-time-procedure): New macro.
| Ludovic Courtès |
2021-12-20 | 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'.
| Ludovic Courtès |
2021-12-19 | 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>
| Andrew Whatson |
2021-12-18 | style: Gracefully handle errors such as EACCES when opening files....* guix/scripts/style.scm (guix-style): Wrap body in
'with-error-handling'.
| Ludovic Courtès |
2021-12-18 | 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.
| Ludovic Courtès |
2021-12-18 | 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>
| Xinglu Chen |
2021-12-17 | lint: Adjust patch file length check....With the switch to "ustar" format in commit
bdf5c16ac052af2ca9d5c3acc4acbc08fd9fdbea, 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.
| Vagrant Cascadian |
2021-12-17 | 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>
| zimoun |
2021-12-17 | 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>
| zimoun |
2021-12-17 | 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>
| zimoun |
2021-12-17 | 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>
| Xinglu Chen |
2021-12-17 | 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>
| Xinglu Chen |
2021-12-16 | lint: 'kdoctools' is typically used only while building....* guix/lint.scm (check-inputs-should-be-native): Add kdoctools.
| Leo Famulari |
2021-12-15 | 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'.
| Ludovic Courtès |
2021-12-15 | 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.
| Ludovic Courtès |
2021-12-15 | 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
7d873f194ca69d6096d28d7a224ab78e83e34fe1 removed all old certainties.
Reported by lfam in #guix.
| Tobias Geerinckx-Rice |
2021-12-14 | 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.
| Maxim Cournoyer |
2021-12-14 | guix: Fix typo in last commit....* guix/build/emacs-build-system.scm (make-autoloads): Fix typo.
| Nicolas Goaziou |
2021-12-14 | 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.
| Nicolas Goaziou |
2021-12-13 | 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.
| Ludovic Courtès |
2021-12-13 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-12-12 | 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.
| Christopher Baines |
2021-12-12 | 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.
| Ludovic Courtès |
2021-12-12 | 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.
| Ludovic Courtès |
2021-12-12 | 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'.
| Ludovic Courtès |
2021-12-12 | challenge: Use SRFI-71 instead of SRFI-11....* guix/scripts/challenge.scm (port-sha256*, call-with-nar): Use SRFI-71.
| Ludovic Courtès |
2021-12-10 | Merge remote-tracking branch 'signed/master' into core-updates | Mathieu Othacehe |
2021-12-10 | environment: Suggestion code gracefully handles empty "/bin" directories....* guix/scripts/environment.scm (suggest-command-name): Handle the case
where 'scandir' returns #f.
| Ludovic Courtès |
2021-12-10 | 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.
| Ludovic Courtès |
2021-12-10 | shell: Fix '--file' description in '--help' output....Reported by pinoaffe on #guix.
* guix/scripts/shell.scm (show-help): Fix '--file' description.
| Ludovic Courtès |
2021-12-05 | Merge remote-tracking branch 'origin/master' into core-updates-frozen | Ricardo Wurmus |
2021-12-05 | 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.
| Marius Bakke |
2021-12-03 | 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$".
| Liliana Marie Prikler |
2021-12-03 | 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>
| Attila Lendvai |
2021-12-01 | 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>
| Xinglu Chen |
2021-12-01 | 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 838ac881ec98cb71d4a4e4b20773573f99ecbf25, but it
became incorrect in 7cfd789150f448cf5256b88915bae4163cc9db03, which
no longer calls 'latest-channel-instances' on cache hits.
* guix/inferior.scm (cached-channel-instance): Do not create CACHED when
AUTHENTICATE? is false.
| Ludovic Courtès |
2021-11-27 | 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.
| Ludovic Courtès |
2021-11-27 | 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>
| zimoun |
2021-11-25 | 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>
| Maxim Cournoyer |
2021-11-25 | 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.
| Maxim Cournoyer |
2021-11-25 | 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>
| zimoun |
2021-11-23 | 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'.
| Ludovic Courtès |