Age | Commit message (Expand) | Author |
2020-05-25 | compile: Do not optimize "gnu/tests/*"....* guix/build/compile.scm (optimization-options): Add "gnu/tests/" to
level 0.
| Ludovic Courtès |
2020-05-25 | gexp: The result of 'imported-files/derivation' is non-substitutable....* guix/gexp.scm (imported-files/derivation): Pass #:substitutable? #f to
'gexp->derivation'.
| Ludovic Courtès |
2020-05-25 | self: Optimize 'file-append*' for 'local-file?'....* guix/self.scm (file-append*): Add 'local-file?' case.
* guix/gexp.scm (local-file-select?): Export.
| Ludovic Courtès |
2020-05-25 | gexp: Fix expansion for (file-append (local-file ...) ...)....Fixes <https://bugs.gnu.org/41527>.
Regression introduced in d03001a31a6d460b712825640dba11e3f1a53a14.
* guix/gexp.scm (lower+expand-object): When LOWERED is not a struct and
EXPAND is true, call EXPAND.
* tests/gexp.scm ("file-append, raw store item"): New test.
| Ludovic Courtès |
2020-05-25 | pull: Protect against downgrade attacks....* guix/scripts/pull.scm (%default-options): Add 'validate-pull'.
(%options, show-help): Add '--allow-downgrades'.
(warn-about-backward-updates): New procedure.
(guix-pull): Pass #:current-channels and #:validate-pull to
'latest-channel-instances'.
* guix/channels.scm (ensure-forward-channel-update): Add hint for
when (channel-commit channel) is true.
* doc/guix.texi (Invoking guix pull): Document '--allow-downgrades'.
| Ludovic Courtès |
2020-05-25 | channels: 'latest-channel-instances' guards against non-forward updates....* guix/channels.scm (latest-channel-instance): Add #:starting-commit and
pass it to 'update-cached-checkout'. Return the commit relation as a
second value.
(ensure-forward-channel-update): New procedure.
(latest-channel-instances): Add #:current-channels and #:validate-pull.
[current-commit]: New procedure.
Pass #:starting-commit to 'latest-channel-instance'. When the returned
relation is true, call VALIDATE-PULL.
(latest-channel-derivation): Add #:current-channels and #:validate-pull.
Pass them to 'latest-channel-instances*'.
* tests/channels.scm ("latest-channel-instances #:validate-pull"): New
test.
| Ludovic Courtès |
2020-05-25 | git: 'update-cached-checkout' returns the commit relation....* guix/git.scm (update-cached-checkout): Add #:starting-commit
parameter. Call 'commit-relation' when #:starting-commit is true.
Always return the relation or #f as the third value.
(latest-repository-commit): Adjust accordingly.
* guix/import/opam.scm (get-opam-repository): Likewise.
* tests/channels.scm ("latest-channel-instances includes channel dependencies")
("latest-channel-instances excludes duplicate channel dependencies"):
Update mock of 'update-cached-checkout' accordingly.
| Ludovic Courtès |
2020-05-25 | channels: 'latest-channel-instances' doesn't leak internal state....* guix/channels.scm (latest-channel-instances): Remove
'previous-channels' argument. Introduce 'loop' and use it.
| Ludovic Courtès |
2020-05-25 | git: Add 'commit-relation'....* guix/git.scm (commit-relation): New procedure.
* tests/git.scm ("commit-relation"): New test.
| Ludovic Courtès |
2020-05-23 | guix package: Support multiple profiles with '--list-installed'....* guix/scripts/package.scm (process-query): List installed multiple profiles.
* tests/guix-package-net.sh: Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2020-05-22 | upstream: Use 'origin-hash'....* guix/upstream.scm (update-package-source): Use 'origin-hash' instead
of 'origin-sha256'.
| Ludovic Courtès |
2020-05-22 | lint: archival: Use 'origin-hash'....* guix/lint.scm (check-archival): Use 'origin-hash' instead of
'origin-sha256', removing hard-coded "sha256".
| Ludovic Courtès |
2020-05-22 | packages: Introduce <content-hash> and use it in <origin>....* guix/packages.scm (<content-hash>): New record type.
(define-content-hash-constructor, build-content-hash)
(content-hash): New macros.
(print-content-hash): New procedure.
(<origin>): Rename constructor to '%origin'.
[sha256]: Remove field.
[hash]: New field. Adjust users.
(origin-compatibility-helper, origin): New macros.
(origin-sha256): New deprecated procedure.
(origin->derivation): Adjust accordingly.
* tests/packages.scm ("package-source-derivation, origin, sha512"): New
test.
* guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax
matching.
* tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users.
* tests/derivations.scm: Likewise.
* tests/store.scm: Likewise.
* tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field
with the right length.
* gnu/packages/aspell.scm (aspell-dictionary)
(aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for
proper syntax matching.
* gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'.
* gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'.
* gnu/packages/readline.scm (readline-patch): Likewise.
* gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to
'sha256-bv'.
* guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
| Ludovic Courtès |
2020-05-22 | packages: Add 'base64' macro....* guix/packages.scm (define-compile-time-decoder): New macro.
(base32): Redefine in terms of it.
(base64): New macro.
| Ludovic Courtès |
2020-05-22 | guix hash, guix download: Support base64 format....* guix/scripts/download.scm (show-help, %options): Support "base64"
format.
* guix/scripts/hash.scm (show-help, %options): Likewise.
* tests/guix-hash.sh: Test it.
* doc/guix.texi (Invoking guix hash): Document it.
| Ludovic Courtès |
2020-05-22 | guix hash, guix download: Add '--hash'....* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'.
(show-help, %options): Add "--hash".
(guix-download): Honor it.
* guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'.
(show-help, %options): Add "--hash".
(guix-hash): Honor it.
* tests/guix-hash.sh: Test '-H sha512'.
* doc/guix.texi (Invoking guix download): Document it.
(Invoking guix hash): Document it.
| Ludovic Courtès |
2020-05-21 | build: asdf-build-system: Use SBCL source in CL packages....* guix/build/asdf-build-system.scm (copy-files-to-output): Don't attempt to
reset timestamps on files without write access.
(install): When parent SBCL package is in the inputs, use its source. This
way we get possibly patched sources in CL packages as well (e.g. for FFI).
This is also useful for sources that generate files on load-op, like cl-unicode.
* guix/build-system/asdf.scm (package-with-build-system): Forward the SBCL
parent as a native input so that it can be used in the above install phase.
| Pierre Neidhardt |
2020-05-19 | publish: Improve performance by increasing buffer size....* guix/scripts/publish.scm (http-write): Increase socket send buffer.
| Ricardo Wurmus |
2020-05-18 | build-system/guile: Expose #:scheme-file-regexp....* guix/build-system/guile.scm (%scheme-file-regexp): New variable.
(guile-build): Accept #:scheme-file-regexp and pass it on to builder.
| Alex Sassmannshausen |
2020-05-18 | guix describe: Add '--list-formats'...* guix/scripts/describe.scm (%available-formats): New variable.
(list-formats): New procedure.
(%options, show-help): Add --list-formats
* doc/guix.texi: Add --list-formats
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Ekaitz Zarraga |
2020-05-18 | build: minify-build-system: Fail to install empty files....* guix/build/minify-build-system.scm (install): Produce an error if the
minified file is zero bytes.
| Efraim Flashner |
2020-05-16 | utils: 'target-arm32?' & co. take an optional parameter....* guix/utils.scm (target-arm32?, target-aarch64?)
(target-arm?, target-64bit?): Make 'target' an optional parameter.
| Ludovic Courtès |
2020-05-16 | gexp: Add 'let-system'....* guix/gexp.scm (<system-binding>): New record type.
(let-system): New macro.
(system-binding-compiler): New procedure.
(default-expander): Add 'self-quoting?' case.
(self-quoting?): New procedure.
(lower-inputs): Add 'filterm'. Pass the result of
'mapm/accumulate-builds' through FILTERM.
(gexp->sexp)[self-quoting?]: Remove.
* tests/gexp.scm ("let-system", "let-system, target")
("let-system, ungexp-native, target")
("let-system, nested"): New tests.
* doc/guix.texi (G-Expressions): Document it.
| Ludovic Courtès |
2020-05-16 | gexp: Compilers can now return lowerable objects....* guix/gexp.scm (lower-object): Iterate if LOWERED is a struct.
(lower+expand-object): New procedure.
(gexp->sexp): Use it.
(define-gexp-compiler): Adjust docstring.
| Ludovic Courtès |
2020-05-15 | licenses: Update Zlib license URL....* guix/licenses.scm (zlib): Change URL.
| Ludovic Courtès |
2020-05-15 | quirks: Add patch for <https://bugs.gnu.org/41214>....Fixes <https://bugs.gnu.org/41214>.
* guix/quirks.scm (%bug-41214-patch): New variable.
(%patches): Add it.
| Ludovic Courtès |
2020-05-15 | channels: 'build-from-source' restores '%guile-for-build'....Not restoring it would cause problems when running:
guix time-machine --commit=6298c3ffd9654d3231a6f25390b056483e8f407c
or similar because the target Guix would be built with 2.2, and then
we'd erroneously go on and attempt build the profile with 2.2. This
would fail because profile dependencies such as "guile-gdbm-ffi" now
target 3.0.
* guix/channels.scm (call-with-guile): New procedure.
(with-guile): New macro.
(build-from-source): Use it instead of calling 'set-guile-for-build'
just once. This ensures that '%guile-for-build' is restored
afterwards.
| Ludovic Courtès |
2020-05-15 | syscalls: Adjust 'sockaddr-in', 'sockaddr-in6' structs for the Hurd....* guix/build/syscalls.scm (sockaddr-in,sockaddr-in6): Rename to ...
(sockaddr-in/linux, sockaddr-in6/linux): ... this. Rename introduced bindings
as well.
(write-socket-address!/linux,read-socket-address/linux): Rename from
(write-socket-address!, read-socket-address): ... new switches between those
and ...
(write-socket-address!/hurd, read-socket-address/hurd): ... these new function.
| Jan (janneke) Nieuwenhuizen |
2020-05-15 | channels: Move quirks and patches to (guix quirks)....* guix/channels.scm (apply-patches): Don't access <patch> record
directly; use 'applicable-patch?' and 'apply-patch' instead.
(<patch>, syscalls-reexports-local-variables?)
(guile-2.2.4, %quirks, %bug-41028-patch, %patches): Move to...
* guix/quirks.scm: ... here. New file.
(apply-patch, applicable-patch?): New procedures.
| Ludovic Courtès |
2020-05-14 | pack: Add relocation via ld.so and fakechroot....* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New
macro.
(bind_mount): Rename to...
(mirror_directory): ... this. Add 'firmlink' argument and use it
instead of calling mkdir/open/close/mount directly.
(bind_mount, make_symlink): New functions.
(exec_in_user_namespace): Adjust accordingly.
(exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function.
(exec_performance): New function.
(engines): Add them.
* guix/scripts/pack.scm (wrapped-package)[fakechroot-library]
[audit-module]: New procedures.
[audit-source]: New variable.
[build](elf-interpreter, elf-loader-compile-flags): New procedures.
(build-wrapper): Use them.
* tests/guix-pack-relocatable.sh: Test with
'GUIX_EXECUTION_ENGINE=fakechroot'.
* doc/guix.texi (Invoking guix pack): Document the 'performance' and
'fakechroot' engines.
* gnu/packages/aux-files/pack-audit.c: New file.
* Makefile.am (AUX_FILES): Add it.
| Ludovic Courtès |
2020-05-14 | store: 'mapm/accumulate-builds' preserves '%current-target-system'....Fixes <https://bugs.gnu.org/41182>.
* guix/store.scm (mapm/accumulate-builds): Pass #:system and #:target to
'run-with-store'.
* tests/store.scm ("mapm/accumulate-builds, %current-target-system"):
New test.
* tests/guix-pack.sh: Add 'guix pack -d --target' test.
| Ludovic Courtès |
2020-05-14 | packages: Ensure bags are insensitive to '%current-target-system'....Fixes a bug whereby a bag's transitive dependencies would depend on the
global '%current-target-system' value.
Partly fixes <https://issues.guix.gnu.org/41182>.
* guix/packages.scm (bag-transitive-inputs)
(bag-transitive-build-inputs, bag-transitive-target-inputs):
Parameterize '%current-target-system'.
* tests/packages.scm ("package->bag, sensitivity to %current-target-system"):
New test.
| Ludovic Courtès |
2020-05-14 | pack: Do not cross-compile the image building tools....Until now, something like:
guix pack -f docker --target=arm-linux-gnueabihf
would attempt to cross-compile tar.
* guix/scripts/pack.scm (self-contained-tarball): Pass #:target to
'gexp->derivation'.
(squashfs-image): Use #+ instead of #$ for ARCHIVER. Use 'file-append'
instead of 'string-append'. Pass #:target to 'gexp->derivation'.
(docker-image): Likewise.
| Ludovic Courtès |
2020-05-14 | syscalls: Add 'getxattr'....* guix/build/syscalls.scm (getxattr): New procedure.
* tests/syscalls.scm ("getxattr, setxattr"): Test it, together with setxattr.
| Jan (janneke) Nieuwenhuizen |
2020-05-13 | compile: Reduce optimization levels for gnu/services and gnu/packages....* guix/build/compile.scm (optimization-options)[strip-option]
[override-option]: New procedures.
Add case for "gnu/services". Change "gnu/packages" to
'-O0 -Opartial-eval'.
| Ludovic Courtès |
2020-05-13 | syscalls: Add 'setxattr'....* guix/build/syscalls.scm (setxattr): New procedure.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Jan (janneke) Nieuwenhuizen |
2020-05-13 | guix: cran: Add missing default R package....* guix/import/cran.scm (default-r-packages): Add "datasets" to the list of
default R packages.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| pimi |
2020-05-13 | mailmap: Update entries for Nikita....* .mailmap: change email and name for Nikita.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/cinnamon.scm,
gnu/packages/compression.scm, gnu/packages/crypto.scm,
gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm,
gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm,
gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| nikita |
2020-05-11 | guix graph: Add '--path'....* guix/scripts/graph.scm (display-path): New procedure.
(%options, show-help): Add '--path'.
(guix-graph): Handle it.
* tests/guix-graph.sh: Add tests.
* doc/guix.texi (Invoking guix graph): Document it.
(Invoking guix size): Mention it.
| Ludovic Courtès |
2020-05-11 | graph: Add 'shortest-path'....* guix/graph.scm (shortest-path): New procedure.
* tests/graph.scm ("shortest-path, packages + derivations")
("shortest-path, reverse packages")
("shortest-path, references"): New tests.
| Ludovic Courtès |
2020-05-11 | graph: reference/referrer node types work with graph traversal....The graph traversal procedures in (guix graph) assume that nodes can be
compared with 'eq?', which was not the case for nodes of
%REFERENCE-NODE-TYPE and %REFERRER-NODE-TYPE (strings).
* guix/scripts/graph.scm (intern): New procedure.
(ensure-store-items, references*)
(%reference-node-type, non-derivation-referrers)
(%referrer-node-type): Use it on all store items.
* tests/graph.scm ("node-transitive-edges, references"): New test.
| Ludovic Courtès |
2020-05-11 | guix package, show: Support multiple queries....* guix/scripts/package.scm (process-query): Show multiple queries.
* guix/scripts/show.scm (guix-show): Reverse to display in order.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2020-05-08 | Merge branch 'core-updates' | Marius Bakke |
2020-05-07 | build-system/emacs: Hide the 'delete' binding from (guix build utils)....This gets rid of a warning from 'compute-guix-derivation.drv' when running on
Guile 3.0. (guix build emacs-build-system) includes (srfi srfi-1) anyway.
* guix/build/emacs-build-system.scm: Do not import 'delete' from (guix build utils).
| Marius Bakke |
2020-05-07 | nar: 'with-temporary-store-file' uses a single connection...Previously the 'with-store' form was entered every time a different temporary
file was tried. This caused there to be as many simultaneous open connections
as there were attempts, and prevented the (loop ...) call from being a tail
call. This change fixes that.
* guix/nar.scm (with-temporary-store-file): open connection once prior to
entering the loop.
| Caleb Ristvedt |
2020-05-07 | nar: 'finalize-store-file' follows proper store lock protocol....* guix/nar.scm (finalize-store-file): check for deletion token when acquiring
lock, write deletion token and delete lock file before releasing lock.
| Caleb Ristvedt |
2020-05-07 | guix system: 'docker-image' honors '--network'....* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and
pass it to 'containerized-operating-system'.
(qemu-image):
* guix/scripts/system.scm (system-derivation-for-action): Pass
#:shared-network? to 'system-docker-image'.
* doc/guix.texi (Invoking guix system): Document it.
| Ludovic Courtès |
2020-05-07 | channels: Add patch for <https://bugs.gnu.org/41028>....Without this patch, we couldn't jump from here to commits before
05e783871c2c69b402e088863d46f5be7915ac74 because the
'compute-guix-derivation' script would crash with an unbound-variable
error for 'call-with-new-thread'.
Fixes <https://bugs.gnu.org/41028>.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/channels.scm (%bug-41028-patch): New variable.
(%patches): Add it.
| Ludovic Courtès |
2020-05-07 | channels: Add mechanism to patch checkouts of the 'guix channel....* guix/channels.scm (<patch>): New record type.
(apply-patches): New procedure.
(latest-channel-instance)[dot-git?]: New procedure.
Use 'update-cached-checkout' and 'add-to-store' instead of
'latest-repository-commit'. Call 'apply-patches' when CHANNEL is the
'guix channel.
(%patches): New variable.
* guix/git.scm (url+commit->name): Make public.
* tests/channels.scm ("latest-channel-instances includes channel dependencies")
("latest-channel-instances excludes duplicate channel dependencies"):
Mock 'update-cached-checkout' instead of 'latest-repository-commit'.
Wrap body in 'with-store' and pass the store to 'latest-channel-instances'.
| Ludovic Courtès |
2020-05-07 | channels: Add 'latest-channel-instance'....* guix/channels.scm (latest-channel-instance): New procedure.
(latest-channel-instances): Use it.
| Ludovic Courtès |