Age | Commit message (Expand) | Author |
2014-09-12 | activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.•••* gnu/build/activation.scm (activate-current-system): Honor
$GUIX_NEW_SYSTEM by default.
* guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM
before loading SCRIPT.
| Ludovic Courtès |
2014-09-05 | pull: Add a compilation progress report.•••* guix/build/pull.scm (report-build-progress): New procedure.
(p-for-each): Add #:progress parameter.
[loop]: Keep track of the number of completed processes. Tail-call
PROGRESS at each loop iteration.
(build-guix): Add #:debug-port parameter. Use it for verbose
messages. Change 'tar' flags to 'xf'. Around 'compile-file' call,
bind CURRENT-WARNING-PORT to DEBUG-PORT.
* guix/scripts/pull.scm (unpack): Add #:verbose? parameter.
[builder]: Pass #:debug-port to 'build-guix'.
(guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged. Pass
#:verbose? to 'unpack'.
| Ludovic Courtès |
2014-09-03 | Move operating system helpers from (guix build …) to (gnu build …).•••* guix/build/activation.scm, guix/build/install.scm,
guix/build/linux-initrd.scm, guix/build/vm.scm: Move to...
* gnu/build: ... here.
* Makefile.am (MODULES): Remove the above guix/build/ files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files
here.
* gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm,
gnu/system/linux-initrd.scm, gnu/system/vm.scm,
guix/scripts/system.scm: Adjust to the new module names.
| Ludovic Courtès |
2014-09-03 | guix lint: Remove "guix lint: " prefix from warnings.•••This allows editors to parse warnings correctly.
* guix/scripts/lint.scm (emit-warning): Use 'format' instead of
'warning', to avoid the "guix lint: " prefix in messages.
* tests/lint.scm (call-with-warnings): Indent.
| Ludovic Courtès |
2014-09-03 | scripts: add guix lint•••* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
* tests/lint.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/Makevars: Update appropriately.
* po/guix/POTFILES.in: Update appropriately.
* doc/guix.texi: Document "guix lint".
| Cyril Roelandt |
2014-09-03 | Move specification->package to gnu/packages.scm.•••* guix/scripts/build.scm (specification->package): Move from here...
* gnu/packages.scm: ... to here.
| Cyril Roelandt |
2014-08-31 | guix package: Fix search path lookup when an obsolete version is installed.•••Before that, 'guix package --search-paths' would not work if, say,
'foo-0.2' is installed but the distro provides 'foo-0.3'.
* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
Handle the case where 'find-best-packages-by-name' returns '().
| Ludovic Courtès |
2014-08-29 | offload: Ignore EEXIST when registering a .drv as a GC root.•••Fixes <http://bugs.gnu.org/18115>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/offload.scm (register-gc-root)[script]: Wrap 'symlink'
call in "catch 'system-error", and ignore EEXIST errors.
| Ludovic Courtès |
2014-08-29 | offload: Ignore unreachable machines.•••Fixes <http://bugs.gnu.org/18070>.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/offload.scm (remote-pipe): Augment docstring.
(machine-load): Return +inf.0 instead of 1 if MACHINE does not respond
or responds badly.
| Ludovic Courtès |
2014-08-28 | gnu: Split (gnu packages base), adding (gnu packages commencement).•••* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
%boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
| Ludovic Courtès |
2014-08-23 | profiles: Produce a top-level Info 'dir' file.•••Fixes <http://bugs.gnu.org/18305>.
Reported by Brandon Invergo <brandon@gnu.org>.
* guix/profiles.scm (manifest-inputs, info-dir-file): New procedures.
(profile-derivation): Use them. Add #:info-dir? parameter and honor
it.
* guix/scripts/package.scm (guix-package): Call 'profile-derivation'
with #:info-dir? #f when the 'bootstrap? option is set.
* tests/profiles.scm ("profile-derivation"): Pass #:info-dir? #f.
| Ludovic Courtès |
2014-08-20 | Move 'check-package-freshness' from 'guix package' to 'packages'.•••* guix/scripts/package.scm (%sigint-prompt, call-with-sigint-handler)
(waiting, ftp-open*, check-package-freshness): Move to...
* gnu/packages.scm: ... here.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Alex Kost |
2014-08-19 | guix package: Use 'manifest-transaction'.•••* guix/scripts/package.scm (guix-package)[process-actions]: Use
'manifest-transaction' instead of the equivalent code.
(show-what-to-remove/install): Remove.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Alex Kost |
2014-08-12 | guix package: Remove leftover internal procedure.•••Reported by Alex Kost <alezost@gmail.com>.
* guix/scripts/package.scm (guix-package)[process-actions]: Remove
'same-package?'.
| Ludovic Courtès |
2014-08-12 | guix package: Use 'manifest-add'.•••* guix/scripts/package.scm (guix-package)[process-actions]: Use
'manifest-add' instead of the equivalent code.
| Ludovic Courtès |
2014-08-11 | guix package: Remove dead code and unused variables.•••Suggested by Alex Kost <alezost@gmail.com>.
* guix/scripts/package.scm (options->installable)[deduplicate]: Remove.
[packages-to-upgrade]: Remove unused variable 'newest'.
(roll-back): Remove unused variable 'manifest'.
(guix-package): Remove unused variables 'guile-missing?', 'verbose?',
and 'packages'.
| Ludovic Courtès |
2014-07-26 | profiles: Add 'package->manifest-entry'.•••Suggested by Alex Kost <alezost@gmail.com>.
* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
Move to (guix profiles).
[package->manifest-entry*]: New procedure.
Use it.
* guix/profiles.scm (package->manifest-entry): New procedure.
* tests/profiles.scm (guile-for-build): New variable.
Call '%guile-for-build'.
("profile-derivation"): New test.
| Ludovic Courtès |
2014-07-26 | profiles: Get rid of the 'inputs' field of 'manifest-entry'.•••* guix/profiles.scm (<manifest-entry>)[inputs]: Remove.
(profile-derivation): Rely on 'item' and 'deps' instead of 'inputs'.
Adjust 'builder' accordingly.
* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
Remove 'inputs' field. Change 'dependencies' field to contain
packages.
| Ludovic Courtès |
2014-07-26 | profiles: Switch to gexps.•••* guix/profiles.scm (<manifest-entry>)[path]: Rename to...
[item]: ... this. Update users.
(manifest->sexp): Rename to...
(manifest->gexp): ... this. Return a gexp.
(lower-input): Remove.
(profile-derivation): Remove 'store' parameter, and turn into a
monadic procedure.
[inputs]: New variable.
[builder]: Turn into a gexp.
Replace call to 'build-expression->derivation' with call to
'gexp->derivation'.
* guix/scripts/package.scm (link-to-empty-profile): Adjust call to
'profile-derivation', and wrap it in 'run-with-store'.
(show-what-to-remove/install): Rename 'path' to 'item'. Check whether
ITEM is a package, and return its output path if it is.
(input->name+path): Remove.
(options->installable): Set 'item' to P.
(guix-package): Adjust call to 'profile-derivation'.
* tests/profiles.scm (guile-2.0.9): Change 'path' to 'item'.
| Ludovic Courtès |
2014-07-26 | profiles: Do away with 'manifest=?'.•••* guix/profiles.scm (manifest=?): Remove.
* guix/scripts/package.scm (readlink*): New procedure.
(guix-package)[process-actions]: Use 'readlink*' and compare the
profile to be built, PROF, with PROFILE to determine whether there's
nothing to be done.
| Ludovic Courtès |
2014-07-23 | guix system: Protect against changes to $PATH when activating the system.•••Partly fixes <http://bugs.gnu.org/18082>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/system.scm (save-environment-excursion): New macro.
(switch-to-system): Wrap 'primitive-load' call in it.
| Ludovic Courtès |
2014-07-23 | guix system: Fix type error in 'reconfigure'.•••Partly fixes <http://bugs.gnu.org/18082>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/system.scm (perform-action) <reconfigure>: Pass the
output file name of GRUB.CFG to 'install-grub'.
| Ludovic Courtès |
2014-07-21 | guix package: add a "show" option.•••* doc/guix.texi: Update the documentation.
* guix/scripts/package.scm: Add a "show" option.
* tests/guix-package.sh: Add a test for the "show" option.
| Cyril Roelandt |
2014-07-20 | guix refresh: Use (ice-9 format).•••* guix/scripts/refresh.scm: Use (ice-9 format).
| Ludovic Courtès |
2014-07-20 | guix system: Factorize 'copy-closure'.•••* guix/scripts/system.scm (copy-closure): Rename to...
(copy-item): ... this.
(copy-closure): New procedure.
(install): Use it, and remove redundant code.
| Ludovic Courtès |
2014-07-20 | guix: refresh: Add --list-dependent option.•••* guix/packages.scm (package-direct-inputs): New procedure.
* gnu/packages.scm (vhash-refq, package-direct-dependents)
(package-transitive-dependents, package-covering-dependents): New procedures.
* guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add
--list-dependent option.
* doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option.
| Eric Bavier |
2014-07-18 | guix system: init: Always use /var/guix as the target state directory.•••Fixes <http://bugs.gnu.org/18049>.
Reported by Marek Benc <merkur32@gmail.com>.
* guix/scripts/system.scm (copy-closure): Pass #:state-directory to
'register-path'.
| Ludovic Courtès |
2014-07-15 | guix: refresh: Correctly identify invalid package names.•••* guix/scripts/refresh.scm (guix-refresh): Check for null list
returned by find-packages-by-name rather than #f.
| Eric Bavier |
2014-07-14 | guix system: reconfigure: Always use "/" as GRUB's target file system.•••* guix/scripts/system.scm (perform-action) <reconfigure>: Wrap
'install-grub' call in 'false-if-exception'. Always use "/" as the
target.
| Ludovic Courtès |
2014-07-13 | guix system: Fix return value for 'reconfigure'.•••* guix/scripts/system.scm (perform-action) <reconfigure>: Add missing
'return' expression.
| Ludovic Courtès |
2014-07-13 | guix system: Convert to monadic style.•••* guix/scripts/system.scm (references*, topologically-sorted*,
show-what-to-build*): New procedures.
(copy-closure): Turn into a monadic procedure.
(install): Likewise, and adjust parameter list.
(switch-to-system): Likewise.
(system-derivation-for-action, grub.cfg, maybe-build, perform-action):
New procedures.
(guix-system): Use them.
| Ludovic Courtès |
2014-07-08 | guix system: Add '--system' option.•••* guix/scripts/system.scm (switch-to-system): Add #:system parameter;
pass it to 'run-with-store'.
(%options): Add '--system'.
(guix-system): Pass the 'system' option to 'run-with-store',
'package-derivation', and 'switch-to-system' calls.
* doc/guix.texi (Invoking guix system): Document '--system' and
'--image-size'.
| Ludovic Courtès |
2014-07-05 | guix package: Try $LOGNAME in addition to $USER.•••Fixes <http://bugs.gnu.org/17946>.
Notoriously, cron jobs may set LOGNAME only and not USER. See
e.g. crontab(5) under Debian 7 (wheezy).
* guix/scripts/package.scm (%profile-directory)
(guix-package): Also try LOGNAME if USER is unset.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Taylan Ulrich Bayirli/Kammer |
2014-07-05 | guix package: Do the right thing for '-p ~/.guix-profile'.•••Fixes <http://bugs.gnu.org/17939>.
Reported by Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>.
* guix/scripts/package.scm (canonicalize-profile): New procedure.
(%options): Use it for --profile.
* tests/guix-package.sh: Add test.
| Ludovic Courtès |
2014-06-27 | system: Install /var/guix/profiles/system-1-link on new systems.•••* guix/build/install.scm (directives): Add /var/guix/profiles/system.
(populate-root-file-system): Add 'system' parameter. Create
/var/guix/profiles/system-1-link.
* guix/scripts/system.scm (install): Pass OS-DIR to
'populate-root-file-system'.
* guix/build/vm.scm (initialize-root-partition): Add #:system-directory
parameter, and pass it to 'populate-root-file-system'.
(initialize-hard-disk): Add #:system-directory parameter, and pass it
to 'initialize-root-partition'.
* gnu/system/vm.scm (qemu-image): Add #:os-derivation parameter and pass
it to 'initialize-hard-disk'.
(system-disk-image, system-qemu-image,
system-qemu-image/shared-store): Pass #:os-derivation to 'qemu-image.
| Ludovic Courtès |
2014-06-27 | guix system: Add 'reconfigure' action.•••* guix/scripts/system.scm (%system-profile): New variable.
(switch-to-system, previous-grub-entries): New procedures.
(unless-file-not-found): New macro.
(show-help): Add 'reconfigure'.
(guix-system): Handle it.
* gnu/system.scm: Export 'operating-system-activation-script'.
* doc/guix.texi (Invoking guix system): Document it.
| Ludovic Courtès |
2014-06-27 | guix {system,offload}: Improve reporting of syntax errors.•••* guix/scripts/system.scm (read-operating-system) <catch handler>: Add
case for 'syntax-error'. Correct message for default case.
* guix/scripts/offload.scm (build-machines) <catch handler>: Add case
for 'syntax-error'.
* tests/guix-system.sh: New file.
* Makefile.am (SH_TESTS): Add it.
| Ludovic Courtès |
2014-06-24 | guix system: Gracefully handle 'install-grub' errors.•••* guix/scripts/system.scm (install): Wrap 'install-grub' call in
'false-if-exception'. This is a followup to 641f9a2a.
| Ludovic Courtès |
2014-06-20 | Merge branch 'core-updates' | Ludovic Courtès |
2014-06-19 | substitute-binary: Warn about uninitialized ACL.•••* guix/scripts/substitute-binary.scm (guix-substitute-binary): Call
'check-acl-initialized'.
(check-acl-initialized): Don't rely on 'equal?' to compare keys.
Instead, convert keys to strings.
| Ludovic Courtès |
2014-06-19 | guix system: 'init' makes sure the target store directory exists.•••* guix/scripts/system.scm (install): Before calling 'copy-closure', make
sure directory (%store-prefix) under TARGET exists.
| Ludovic Courtès |
2014-06-17 | substitute-binary: Avoid the term "narinfo" in user messages.•••* guix/scripts/substitute-binary.scm (assert-valid-narinfo): Change
message to avoid the term "narinfo".
| Ludovic Courtès |
2014-06-14 | guix build: Allow gexps to be passed to '-e'.•••* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
guxi build: Allow gexps to be passed to '-e'.
* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
| Ludovic Courtès |
2014-06-13 | Separate package description translations from string translations.•••* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
New files.
* po/guix/Makevars (DOMAIN): Change to "guix".
(XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
* configure.ac: Change to gettext 0.18.3. Produce
po/packages/Makefile.in.
* Makefile.am (SUBDIRS): Add po/packages.
* guix/ui.scm (%package-text-domain): New variable.
(P_): New procedure.
(package->recutils): Use 'P_' instead of '_'.
* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
instead of 'gettext'.
| Ludovic Courtès |
2014-06-09 | guix build: Only 'guix build' sets #:print-build-trace.•••This makes 'guix package' et al. slightly less verbose, by not emitting
"@ substituter-started" lines and similar.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:print-build-trace.
(%default-options): Add 'print-build-trace?'.
| Ludovic Courtès |
2014-05-22 | guix system: Add 'disk-image' action.•••* guix/scripts/system.scm (show-help): Add 'disk-image'.
(guix-system)[parse-options]: Support 'disk-image' action.
[option-arguments]: Likewise.
Handle the 'disk-image' action.
* doc/guix.texi (Invoking guix system): Document 'disk-image'.
| Ludovic Courtès |
2014-05-19 | guix system: Check whether we are installing to /.•••* guix/scripts/system.scm (install): Check whether TARGET is / and warn.
| Ludovic Courtès |
2014-05-19 | guix system: Factorize out closure copy.•••* guix/scripts/system.scm (copy-closure): New procedure.
(install): Use it.
| Ludovic Courtès |
2014-05-19 | guix system: 'guix system init' installs GRUB by default.•••* guix/scripts/system.scm (install): Add #:grub?, #:grub.cfg, and
#:device parameters; honor them.
(show-help): Document '--no-grub'.
(%options): Add '--no-grub'.
(%default-options): Add 'install-grub?'.
(guix-system): Honor 'install-grub?' option from OPTS. Adjust
'install' call accordingly.
* doc/guix.texi (Invoking guix system): Document '--no-grub'.
| Ludovic Courtès |
2014-05-18 | guix system: Add 'init' sub-command.•••* guix/scripts/system.scm (install): New procedure.
(guix-system)[parse-option]: Remove check for extraneous arguments.
[match-pair, option-arguments]: New procedures.
Use 'option-arguments'. Honor 'init'.
(show-help): Document 'init'.
* doc/guix.texi (Invoking guix system): Document 'init'.
| Ludovic Courtès |