Age | Commit message (Expand) | Author |
2017-04-21 | ssh: Decompose 'connect-to-remote-daemon'.•••* guix/ssh.scm (remote-daemon-channel): New procedure.
(connect-to-remote-daemon): Implement in terms of it.
| Ludovic Courtès |
2017-04-21 | ssh: Move 'open-ssh-session' to (guix ssh).•••* guix/scripts/copy.scm (%compression, open-ssh-session): Move to...
* guix/ssh.scm: ... here. Use '&message' conditions instead of calling
'leave'.
| Ludovic Courtès |
2017-04-21 | offload: Avoid using '_' as a 'match' pattern.•••* guix/scripts/offload.scm (host-key->type+key, machine-load)
(process-request, guix-offload): Do not use '_' as a 'match' pattern.
| Ludovic Courtès |
2017-04-21 | store: Add support for remote connections via 'guix://' URIs.•••* guix/store.scm (open-inet-socket): New procedure.
(connect-to-daemon): Support the 'guix' URI scheme.
* doc/guix.texi (The Store): Document it.
| Ludovic Courtès |
2017-04-21 | store: Add 'system-error-to-connection-error' macro.•••* guix/store.scm (system-error-to-connection-error): New macro.
(open-unix-domain-socket): Use it instead of 'catch'.
| Ludovic Courtès |
2017-04-21 | store: 'GUIX_DAEMON_SOCKET' can now be a URI.•••* guix/store.scm (%daemon-socket-file): Rename to...
(%daemon-socket-uri): ... this.
(connect-to-daemon): New procedure.
(open-connection): Rename 'file' to 'uri'. Use 'connect-to-daemon'
instead of 'open-unix-domain-socket'.
* guix/tests.scm (open-connection-for-tests): Rename 'file' to 'uri'.
* tests/guix-build.sh: Add tests.
* tests/store.scm ("open-connection with file:// URI"): New tests.
| Ludovic Courtès |
2017-04-20 | derivations: Avoid string-to-bytevector conversions.•••On Guile 2.2.1, this yields a 5% speedup on:
guix build libreoffice xmonad certbot -n --no-substitutes --no-build-hook
* guix/derivations.scm (derivation->string): Rename to...
(derivation->bytevector): ... this. Use 'open-bytevector-output-port'
instead of 'call-with-output-string'.
(derivation-hash): Remove string-to-bytevector conversion before
'sha256' call.
(build-expression->derivation): Use 'add-data-to-store' and an
bytevector port instead of a string port for the expression.
| Ludovic Courtès |
2017-04-19 | publish: Add a handler for / and /index.html.•••Suggested by Quiliro <quiliro@riseup.net>
in <https://bugs.gnu.org/26567>.
* guix/scripts/publish.scm (render-home-page): New procedure.
(make-request-handler): Handle it.
| Ludovic Courtès |
2017-04-19 | gexp: 'gexp-modules' accepts plain Scheme objects.•••* guix/gexp.scm (gexp-modules): Return '() when not (gexp? GEXP).
* tests/gexp.scm ("gexp-modules and literal Scheme object"): New test.
| Ludovic Courtès |
2017-04-18 | publish: Remove expired cache entries when '--ttl' is used.•••* guix/scripts/publish.scm (narinfo-files): New procedure.
(render-narinfo/cached)[delete-file]: New procedure. Add call to
'maybe-remove-expired-cache-entries'.
* doc/guix.texi (Invoking guix publish): Document the interation between
--cache and --ttl.
| Ludovic Courtès |
2017-04-18 | Add (guix cache) and use it in (guix scripts substitute).•••* guix/cache.scm, tests/cache.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* guix/scripts/substitute.scm (obsolete?): Remove.
(remove-expired-cached-narinfos): Rename to...
(cached-narinfo-expiration-time): ... this. Remove the removal part and
only keep the expiration time part.
(narinfo-cache-directories): Add optional 'directory' parameter and
honor it.
(maybe-remove-expired-cached-narinfo): Remove.
(cached-narinfo-files): New procedure.
(guix-substitute): Use 'maybe-remove-expired-cache-entries' instead of
'maybe-remove-expired-cached-narinfo'.
| Ludovic Courtès |
2017-04-18 | publish: Add '--cache' and '--workers'.•••Fixes <http://bugs.gnu.org/26201>.
Reported by <dian_cecht@zoho.com>.
These options allow nars to be "baked" off-line and cached instead of
being compressed on the fly. As a side-effect, this allows us to
provide a 'Content-Length' header for nars.
* guix/scripts/publish.scm (show-help, %options): Add '--cache' and
'--workers'.
(%default-options): Add 'workers'.
(nar-cache-file, narinfo-cache-file, run-single-baker): New procedures.
(single-baker): New macro.
(render-narinfo/cached, bake-narinfo+nar)
(render-nar/cached): New procedures.
(make-request-handler): Add #:cache and #:pool parameters and honor
them.
(run-publish-server): Likewise.
(guix-publish): Honor '--cache' and '--workers'.
* tests/publish.scm ("with cache"): New test.
* doc/guix.texi (Invoking guix publish): Document it.
| Ludovic Courtès |
2017-04-18 | publish: Use 'sendfile' when possible.•••* guix/scripts/publish.scm (http-write): In the
'application/octet-stream' case, use 'sendfile' when OUTPUT is a file
port.
| Ludovic Courtès |
2017-04-18 | publish: Introduce 'actual-compression'.•••* guix/scripts/publish.scm (actual-compression): New procedure.
(narinfo-string): Use it.
| Ludovic Courtès |
2017-04-18 | Add (guix workers).•••* guix/workers.scm, tests/workers.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* .dir-locals.el: Add rule for 'eventually'.
| Ludovic Courtès |
2017-04-17 | serialization: Remove Guile < 2.0.9 workaround.•••* guix/serialization.scm (write-contents): Assume 'sendfile' is always
defined.
| Ludovic Courtès |
2017-04-17 | records: Slight simplification.•••* guix/records.scm (make-syntactic-constructor): Simplify 'find' expression.
| Ludovic Courtès |
2017-04-17 | download: Add netfilter mirror.•••* guix/download.scm (%mirrors): Add mirrors for www.netfilter.org.
| Marius Bakke |
2017-04-17 | scripts: system: Rename --no-grub option to --no-bootloader.•••* guix/scripts/system.scm (%options, show-help): Adjust accordingly.
Keep "--no-grub" for compatibility reasons, but do not mention it in the help.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Mathieu Othacehe |
2017-04-16 | lint: Avoid non-literal format strings.•••Reported by Mathieu Othacehe <m.othacehe@gmail.com>
at <http://bugs.gnu.org/26498>.
* guix/scripts/lint.scm (warn-if-package-has-input): Rename to...
(package-input-intersection): ... this. Remove 'linted' and 'message'
parameters. Return a list of inputs.
(check-inputs-should-be-native): Adjust accordingly.
(check-inputs-should-not-be-an-input-at-all): Likewise.
| Ludovic Courtès |
2017-04-16 | ui: Gracefully report '&message' conditions.•••* guix/ui.scm (report-load-error, warn-about-load-error)
(read/eval): Add special-case for SRFI-35 &message conditions.
| Ludovic Courtès |
2017-04-16 | services: 'service-parameters' becomes 'service-value'.•••* gnu/services.scm (<service>)[parameters]: Rename to...
[value]: ... this.
Change calls to 'service-parameters' to 'service-value'.
* gnu/system.scm, gnu/tests/base.scm,
guix/scripts/system.scm, tests/services.scm: Likewise.
* doc/guix.texi (Service Reference): Adjust accordingly.
| Ludovic Courtès |
2017-04-15 | packages: Enable threaded compression of source tarballs.•••This provides a ~2x speedup when using 4 threads.
* guix/packages.scm (patch-and-repack)[build]: Invoke xz with
'--threads=0' when re-packing tarballs.
| Leo Famulari |
2017-04-15 | system: Make grub use <menu-entry> instead of <boot-parameters> again.•••* gnu/system/grub.scm: Remove boot-parameters->menu-entry.
(grub-configuration): Don't use boot-parameters->menu-entry.
* gnu/system.scm (operating-system-bootcfg): Use menu-entry.
* guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries.
(perform-action): Use profile-grub-entries.
| Danny Milosavljevic |
2017-04-15 | scripts: system: Introduce profile-boot-parameters.•••* guix/scripts/system.scm (profile-boot-parameters): New variable.
(reinstall-grub): Use profile-boot-parameters.
(perform-action): Use profile-boot-parameters.
Follow-up to 2e58e05bb68d4b747882cfa2b460b132d456f54a.
| Danny Milosavljevic |
2017-04-15 | scripts: system: Rename grub? and install-grub? to bootloader? and install-b...•••* guix/scripts/system.scm (perform-action): Rename grub? to bootloader,
(%options): rename install-grub? to install-bootloader?,
(%default-options): ditto,
(process-action): reindent and rename grub? to bootloader?.
| Mathieu Othacehe |
2017-04-15 | system: Rename operating-system-grub.cfg to operating-system-bootcfg.•••* gnu/system.scm (operating-system-grub.cfg): Rename to...
(operating-system-bootcfg): ... this.
* gnu/system/vm.scm (system-disk-image): Use operating-system-bootcfg.
(system-qemu-image): Use operating-system-bootcfg.
(system-qemu-image/shared-store): Use operating-system-bootcfg.
* guix/scripts/system.scm (perform-action): Use operating-system-bootcfg.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Mathieu Othacehe |
2017-04-15 | scripts: system: Back out operating-system-bootcfg change.•••Follow-up to 475e2ce211ac05a814c1f1bc2b9648baa17ad369.
* guix/scripts/system.scm (perform-action): Back out operating-system-bootcfg
change.
| Danny Milosavljevic |
2017-04-15 | scripts: system: Move save-load-path-excursion and save-environment-excursion...•••* guix/scripts/system.scm (save-load-path-excursion,
save-environment-excursion): Move definitions to the top of the file.
It allows to use them in the whole file.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Danny Milosavljevic |
2017-04-15 | scripts: system: Move save-load-path-excursion and save-environment-excursion...•••* guix/scripts/system.scm (save-load-path-excursion,
save-environment-excursion): Move definitions to the top of the file.
It allows to use them in the whole file.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Mathieu Othacehe |
2017-04-14 | build-system/cargo: Remove store reference.•••* guix/build/cargo-build-system.scm (generate-checksums): Remove store
reference from comment. This comment was matching
assert-no-store-file-names regexp in Makefile.am.
Also, edit procedure docstring to precise that DIR-NAME is a store
directory.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Add load-linux-module.•••* guix/build/syscalls.scm (load-linux-module): New procedure. Reimplemented
from guile-linux-syscalls.patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Use define-as-needed for network-interface syscalls.•••* guix/build/syscalls.scm (network-interface-flags): Use define-as-needed macro
and remove from export list.
(set-network-interface-flags): Ditto.
(set-network-interface-address): Ditto.
(IFF_UP, IFF_BROADCAST and IFF_LOOPBACK): Ditto.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Use define-as-needed for mount and umount.•••* guix/build/syscalls.scm (mount): Use define-as-needed macro
and remove from export list.
(umount): Ditto.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Add reboot.•••* guix/build/syscalls.scm (define-as-needed): New macro.
(reboot): New procedure. Reimplemented from guile-linux-syscalls.patch.
(RB_AUTOBOOT, ..., RB_KEXEC): New flags copied from static Guile patch.
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-08 | monads: Improve mlet, mlet*, and mbegin documentation.•••* doc/guix.texi (The Store Monad) <mlet, mlet*, mbegin>: Clarify
their intended usage.
* guix/monads.scm (mbegin): Update docstring accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Chris Marusich |
2017-04-08 | monads, doc: Improve mwhen and munless documentation.•••* doc/guix.texi (The Store Monad) <mwhen, munless>: Document them.
* guix/monads.scm (mwhen, munless): Clarify their intended use.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Chris Marusich |
2017-04-08 | monads: Use intent-revealing parameter names.•••* guix/monads.scm (mwhen, munless): Rename parameters from 'exp0' and 'exp' to
'mexp0' and 'mexp', respectively. This makes it more obvious that these
expressions must be monadic expressions.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Chris Marusich |
2017-04-07 | syscalls: Allow mount and umount use from static Guile.•••* guix/build/syscalls.scm (mount): Use Guile core mount if called from
static Guile, otherwise use FFI based mount implementation.
(umount): Ditto.
This allows to use (guix build syscalls) from a module independently
of calling context.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-07 | profiles: Slightly improve the instructions in 'etc/profile'.•••* guix/build/profiles.scm (build-etc/profile): Fix typo in comment.
Add backslash in the generated shell comment.
| Ludovic Courtès |
2017-04-07 | pack: Add '--expression'.•••* guix/scripts/pack.scm (%options, show-help): Add '--expression'.
(guix-pack)[maybe-package-argument]: New procedure.
Use it, and remove variable 'specs'.
* doc/guix.texi (Invoking guix pack): Document '--expression'.
| Ludovic Courtès |
2017-04-07 | size: Avoid '_' as a pattern variable in 'match'.•••* guix/scripts/size.scm (display-profile, profile->page-map): Don't use
'_' as a 'match' pattern variable.
| Ludovic Courtès |
2017-04-06 | system: Support the --root option in 'guix system'.•••Fixes <https://bugs.gnu.org/26271>.
* guix/scripts/system.scm (perform-action): Add #:gc-root parameter and
honor it.
(show-help): Document the --root option.
(%options): Add 'root'.
(process-action): Pass 'root' option to perform-action as #:gc-root.
* doc/guix.texi (Invoking guix system): Document '--root'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Chris Marusich |
2017-04-06 | build: Add and export procedure 'register-root*'.•••* guix/scripts/build.scm (register-root*): Add and export it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Chris Marusich |
2017-04-05 | environment: Deal with single-entry search paths.•••This is a followup to fcd75bdbfa99d14363b905afbf914eec20e69df8.
* guix/scripts/environment.scm (create-environment): Check whether
SEPARATOR is #f.
| Ludovic Courtès |
2017-04-05 | profiles: Generate database file for man pages.•••The mandb database file (index.db) is used by the "apropos" (whatis) or
"man -k" commands. This change introduces a profile hook to generate
such database file.
* guix/profiles.scm (manual-database): New procedure.
(%default-profile-hooks): Add it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-04-05 | build-system/python: 'package-with-explicit-python' uses 'package-mapping'.•••* guix/build-system/python.scm (package-with-explicit-python)
[package-variant, cut?]: New procedures.
[transform]: Remove 'mlambdaq' form and input tuple handling.
Use 'package-mapping'.
| Ludovic Courtès |
2017-04-05 | packages: Add 'package-mapping' and base 'package-input-rewriting' on it.•••* guix/packages.scm (package-mapping): New procedure.
(package-input-rewriting): Rewrite in terms of 'package-mapping'.
* tests/packages.scm ("package-mapping"): New test.
* doc/guix.texi (Defining Packages): Document it.
| Ludovic Courtès |
2017-04-05 | import cran: Distinguish Bioconductor data packages.•••* guix/import/cran.scm (bioconductor-package?): Exclude Bioconductor
data packages.
(bioconductor-data-package?): New procedure.
| Ricardo Wurmus |
2017-04-05 | download: Update the GnuPG mirror list.•••* guix/download.scm (%mirrors) <gnupg>: Use HTTP for TU Wien mirror.
| Leo Famulari |