Age | Commit message (Expand) | Author |
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 |
2021-11-23 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-11-23 | guix graph: Show '-M' in '--help' output....* guix/scripts/graph.scm (show-help): Add -M shorthand.
| Ludovic Courtès |
2021-11-23 | 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>
| Josselin Poiret |
2021-11-23 | 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>
| Collin J. Doering |
2021-11-22 | 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.
| Julien Lepiller |
2021-11-20 | build: syscalls: Add a SET-CHILD-SUBREAPER! procedure....* guix/build/syscalls.scm (PR_SET_CHILD_SUBREAPER): New variable.
(set-child-subreaper!): New procedure.
| Maxim Cournoyer |
2021-11-19 | 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>
| zimoun |
2021-11-19 | build-system/asdf: Don't fail in sbcl-package->cl-source-package on non-packa......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.
| Pierre Neidhardt |
2021-11-18 | 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'.
| Ludovic Courtès |
2021-11-18 | 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'.
| Ludovic Courtès |
2021-11-18 | 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.
| Maxim Cournoyer |
2021-11-18 | 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.
| Ricardo Wurmus |
2021-11-18 | import: texlive: Print inputs with labels and guixified names....* guix/import/texlive.scm (tlpdb->package): Improve handling of propagated-inputs.
| Ricardo Wurmus |
2021-11-17 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-11-17 | 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>
| Josselin Poiret |
2021-11-17 | 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>
| Xinglu Chen |
2021-11-17 | import: texlive: Remove leftover 'pk'....* guix/import/texlive.scm (files->directories): Remove leftover 'pk'
call.
| Ludovic Courtès |
2021-11-17 | 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 3b1a12c5bff5a0c108284d19a6982bdf663bbceb.
* guix/import/texlive.scm: Autoload (gnu packages tex).
fixlet
| Ludovic Courtès |
2021-11-17 | 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.
| Ricardo Wurmus |
2021-11-17 | guix: Add download-multi-svn-to-store....* guix/svn-download.scm (download-multi-svn-to-store): New procedure.
| Ricardo Wurmus |
2021-11-16 | 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.
| Ludovic Courtès |