Age | Commit message (Expand) | Author |
2014-11-13 | substitute-binary: Be slightly less verbose when downloading....* guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">:
Be slightly less verbose.
| Ludovic Courtès |
2014-11-11 | guix system: Decorate GRUB entries of old generations with date and number....* guix/scripts/system.scm (seconds->string): New procedure.
(previous-grub-entries)[system->grub-entry]: Add 'number' and 'time'
parameters. Adjust call accordingly.
| Ludovic Courtès |
2014-11-11 | import: Add GNU importer....Suggested by Karl Berry <karl@gnu.org>
and Andreas Enge <andreas@enge.fr>.
* guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "gnu".
* guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure.
(download-tarball): Export.
| Ludovic Courtès |
2014-11-09 | pull: Use the build procedure provided by the newly-downloaded Guix....Fixes <http://bugs.gnu.org/18534>.
* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
macros.
(temporary-directory, first-directory, interned-then-deleted): New
procedures.
(unpack): Rewrite to do the unpacking in the current process rather
than as a separate derivation.
(%self-build-file): New variable.
(build-from-source): New procedure.
(build-and-install): Use it.
* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
'source'. Remove #:tar and #:gzip parameters, as well as 'tar'
invocation. Remove 'scandir' invocation. Wrap body in
'with-directory-excursion'.
* build-aux/build-self.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Ludovic Courtès |
2014-11-08 | vm: Fix 'vm --full-boot' to produce a sufficient disk image....* gnu/system/vm.scm (system-qemu-image/shared-store): Add
#:disk-image-size and #:full-boot? parameters and honor them. Pass
'#:copy-inputs? full-boot?', and change #:inputs argument.
* guix/scripts/system.scm (system-derivation-for-action): Pass
#:disk-image-size to 'system-qemu-image/shared-store'.
* doc/guix.texi (Invoking guix system): Mention use of '--image-size' in
conjunction with '--full-boot'.
| Ludovic Courtès |
2014-11-08 | vm: Support 'guix system vm --full-boot'....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
#:full-boot? parameter and honor it.
* guix/scripts/system.scm (system-derivation-for-action): Likewise.
(perform-action): Likewise.
(show-help): Document '--full-boot'.
(%options): Add '--full-boot'.
(guix-system): Add #:full-boot? argument in call to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
| Ludovic Courtès |
2014-11-07 | lint: Allow synopses that start with an abbreviation....* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it.
* tests/lint.scm ("synopsis: start with abbreviation"): New test.
| Ludovic Courtès |
2014-11-07 | lint: Skip starting-article test for the synopses of GNU packages....* guix/scripts/lint.scm (check-synopsis-style)[check-start-article]:
Change to (const #t) when PACKAGE matches 'gnu-package?'.
| Ludovic Courtès |
2014-11-07 | lint: Tolerate sentences that start with a parenthesis or a quote....* guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as
valid beginnings.
| Ludovic Courtès |
2014-11-07 | lint: Improve check for synopses starting with package name....* guix/scripts/lint.scm (package-name-regexp): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it instead
of 'string-prefix-ci?'.
* tests/lint.scm ("synopsis: start with package name prefix"): New test.
| Ludovic Courtès |
2014-11-05 | import: pypi: Gracefully handle wrong argument counts....* guix/scripts/import/pypi.scm (guix-import-pypi): Use 'leave' to handle
cases where ARGS has zero or two or more elements.
| Ludovic Courtès |
2014-11-05 | import: pypi: Gracefully handle non-existent packages....Fixes <http://bugs.gnu.org/18831>.
Reported by Ian Denhardt <ian@zenhack.net>.
* guix/import/pypi.scm (url-fetch, json-fetch, pypi-fetch): Augment
docstring to mention #f on failure.
(pypi->guix-package): Likewise, and actually return #f on failure.
* guix/scripts/import/pypi.scm (guix-import-pypi): Call 'leave' when
'pypi->guix-package' returns #f.
| Ludovic Courtès |
2014-11-02 | packages: Implement grafts....Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
and suggestions.
* guix/packages.scm (<package>)[graft]: New field.
(patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
(package-source-derivation): Likewise. Do not use (%guile-for-build)
in call to 'patch-and-repack', and we could end up using a grafted
Guile.
(expand-input): Likewise, also for 'package-cross-derivation' call.
(package->bag): Add #:graft? parameter. Honor it. Use 'strip-append'
instead of 'package-full-name'.
(input-graft, input-cross-graft, bag-grafts, package-grafts): New
procedures.
(package-derivation, package-cross-derivation): Add #:graft? parameter
and honor it.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
recursive call on 'graft'.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
package-with-extra-configure-variable, static-package): Likewise.
(gnu-build): Use the ungrafted Guile to avoid full rebuilds.
(gnu-cross-build): Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* tests/packages.scm ("package-derivation, direct graft",
"package-cross-derivation, direct graft", "package-grafts,
indirect grafts", "package-grafts, indirect grafts, cross",
"package-grafts, indirect grafts, propagated inputs",
"package-derivation, indirect grafts"): New tests.
("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
'parameterize'.
* doc/guix.texi (Security Updates): New node.
(Invoking guix build): Document --no-graft.
| Ludovic Courtès |
2014-10-30 | environment: Improve '--help' output....* guix/scripts/environment.scm (show-help): Align --pure and
--search-paths with other long options; add 'newline' call before
'show-bug-report-information' call.
| Ludovic Courtès |
2014-10-29 | offload: Remove mutual exclusion on transfers....Suggested by Mark H. Weaver <mhw@netris.org>
at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00352.html>.
* guix/scripts/offload.scm (transfer-and-offload): Remove uses of
'with-machine-lock'.
| Ludovic Courtès |
2014-10-26 | guix: lint: Make exception for package name starting description....* guix/scripts/lint.scm (check-description-style): Exception for
upper-case rule if the description starts with the package name.
* tests/lint.scm: Test it.
| Eric Bavier |
2014-10-26 | guix: lint: Allow digits at start of synopsis or description....* guix/scripts/lint.scm (start-with-capital-letter?): Rename too...
(properly-starts-sentence?): Rewrite with regex and add digits.
(check-description-style, check-synopsis-style): Use it.
* tests/lint.scm: Add tests.
| Eric Bavier |
2014-10-26 | guix: lint: Check for empty synopses and descriptions....* guix/scripts/lint.scm (check-description-style,
check-synopsis-style): New emptiness checks.
* tests/lint.scm: Test them.
| Eric Bavier |
2014-10-26 | guix: lint: Check for proper end-of-sentence space....* guix/scripts/lint.scm (start-with-capital-letter?): Handle empty
strings.
(check-description-style): New check for end-of-sentence space.
* tests/lint.scm: Test it.
| Eric Bavier |
2014-10-26 | guix: lint: Use if/when consistently....* guix/scripts/lint.scm (check-synopsis-style): Replace single-branch
uses of if with when.
(check-patches): Same
| Eric Bavier |
2014-10-26 | guix: lint: Use string-suffix? and string-prefix? where appropriate....* guix/scripts/lint.scm (check-synopsis): Use string-suffix? and
string-prefix? in place of string-take and string=?.
| Eric Bavier |
2014-10-20 | refresh: Add end-of-line to error message....* guix/scripts/refresh.scm (%options)[select]: Add end-of-line to
error message.
| Eric Bavier |
2014-10-16 | guix lint: add the --checkers option....* guix/scripts/lint.scm: add the "--checkers" option.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/guix-lint.sh: New file
* Makefile.am (SCM_TESTS): Add it.
| Cyril Roelandt |
2014-10-12 | guix package: Add '--switch-generation' option....* guix/scripts/package.scm (switch-to-generation): New procedure.
(switch-to-previous-generation): Use it.
(guix-package): Adjust for '--switch-generation' option.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
| Alex Kost |
2014-10-12 | profiles: Add condition types for profiles and generations....Suggested by Ludovic Courtès.
* guix/profiles.scm (&profile-error, &profile-not-found-error,
&missing-generation-error): New condition types.
* guix/ui.scm (call-with-error-handling): Handle new types.
* guix/scripts/package.scm (roll-back, guix-package): Raise
'&profile-not-found-error' where needed.
| Alex Kost |
2014-10-10 | scripts: Add 'environment' command....* guix/scripts/environment.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi ("Invoking guix environment"): New node.
| David Thompson |
2014-10-10 | ui: Move 'show-manifest-transaction' from (guix profiles)....* guix/profiles.scm: Do not use (guix ui) module.
(right-arrow, manifest-show-transaction): Move and rename to...
* guix/ui.scm (right-arrow, show-manifest-transaction): ... here.
* tests/profiles.scm ("manifest-show-transaction"): Move to...
* tests/ui.scm ("show-manifest-transaction"): ... here.
(guile-1.8.8, guile-2.0.9): New variables.
* emacs/guix-main.scm (process-package-actions): Rename
'manifest-show-transaction' to 'show-manifest-transaction'.
* guix/scripts/package.scm (guix-package): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Alex Kost |
2014-10-09 | Break module cycle involving (guix store) and (guix ui)....Before, there was a cycle along the lines of:
(guix store) -> (guix nar) -> (guix ui) -> (guix store)
This caused problems, as discussed at:
http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00109.html
This patch removes cycles in the (guix ...) modules.
* guix/nar.scm (&nar-error, &nar-read-error, dump, write-contents,
read-contents, %archive-version-1, write-file, restore-file): Move to...
* guix/serialization.scm: ... here.
* guix/store.scm: Remove dependency on (guix nar).
* guix/scripts/hash.scm, guix/scripts/offload.scm,
guix/scripts/substitute-binary.scm, tests/nar.scm, tests/store.scm,
tests/substitute-binary.scm: Adjust accordingly.
| Ludovic Courtès |
2014-10-09 | substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL....* guix/scripts/substitute-binary.scm (%cache-url): Ignore the
'GUIX_BINARY_SUBSTITUTE_URL' environment variable.
* test-env.in: Invoke 'guix-daemon' with '--substitute-urls'.
* tests/substitute-binary.scm: Set '%cache-url' to the value of
'GUIX_BINARY_SUBSTITUTE_URL'.
| Ludovic Courtès |
2014-10-09 | daemon: Add '--substitute-urls' option....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_SUBSTITUTE_URLS): New macro.
(GUIX_OPT_NO_BUILD_HOOK, GUIX_OPT_GC_KEEP_OUTPUTS,
GUIX_OPT_GC_KEEP_DERIVATIONS): Renumber.
(options): Add '--substitute-urls'.
(parse_opt): Honor it.
(main): Add 'settings.set' call for the default "substitute-urls"
value.
* guix/scripts/substitute-binary.scm (daemon-options,
find-daemon-option): New procedures.
(%cache-url): Define based on the "substitute-urls" daemon option.
* doc/guix.texi (Invoking guix-daemon): Document '--substitute-urls'.
(Substitutes): Mention it.
| Ludovic Courtès |
2014-10-08 | guix lint: make sure synopses do not start with the package name....* guix/scripts/lint.scm (check-start-with-package-name): New method.
* tests/lint.scm ("synopsis: start with package name"): New test.
| Cyril Roelandt |
2014-10-08 | guix lint: Make sure a synopsis cannot start with a lower-case article....* guix/scripts/lint.scm (check-start-article): use "string-ci=?" instead of
"string=?".
* tests/lint.scm ("synopsis: starts with 'a'",
"synopsis: starts with 'an'"): New tests.
| Cyril Roelandt |
2014-10-08 | guix lint: check whether descriptions and synopses start with an upper-case l......* guix/scripts/lint.scm (check-description-style,
check-synopsis-start-upper-case): New methods.
* tests/lint.scm ("description: does not start with an upper-case letter",
"synopsis: does not start with an upper-case letter"): New tests.
| Cyril Roelandt |
2014-10-08 | guix lint: Make sure synopses are not too long....* guix/scripts/lint.scm (check-synopsis-length): New procedure.
* tests/lint.scm ("synopsis: too long"): New test.
| Cyril Roelandt |
2014-10-08 | guix lint: make sure check-patches retrieves patch names....* guix/lint (check-patches): Test the output of origin-patches.
| Cyril Roelandt |
2014-10-05 | guix package: Export generation procedures....* guix/scripts/package.scm: Export 'roll-back', 'delete-generation',
'delete-generations'.
(link-to-empty-profile, roll-back): Add 'store' argument.
(delete-generations): New procedure.
(guix-package): Adjust accordingly.
[delete-generation]: Move to the top level. Add 'store' and 'profile'
arguments.
[display-and-delete]: Move to 'delete-generation'.
| Alex Kost |
2014-09-30 | pull: Add dependency on Guile-JSON....Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.
* guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and
%load-compiled-path.
| Ludovic Courtès |
2014-09-29 | import: Add PyPI importer....* guix/snix.scm: Delete.
* guix/import/snix.scm: New file.
* guix/import/pypi.scm: New file.
* guix/import/utils.scm: New file.
* guix/scripts/import/nix.scm: New file.
* guix/scripts/import/pypi.scm: New file.
* tests/pypi.scm: New file.
* tests/snix.scm: Import (guix import snix) module.
* guix/scripts/import.scm (%default-options, %options): Delete.
(%standard-import-options, importers): New variables.
(show-help): List importers.
(guix-import): Factor out Nix-specific logic. Delegate to correct importer
based upon first argument.
* configure.ac (HAVE_GUILE_JSON): New conditional.
* Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'.
(SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.
| David Thompson |
2014-09-24 | guix build: Add -L/--load-path as a common option....* guix/scripts/build.scm (show-build-options-help): Document -L.
(%standard-build-options): Add -L/--load-path.
* tests/guix-package.sh: Test it.
| Ludovic Courtès |
2014-09-22 | guix package: Use 'profile-generations'....* guix/scripts/package.scm (guix-package)[process-actions]: Use
'profile-generations' instead of the equivalent code.
| Alex Kost |
2014-09-20 | offload: Use a total order when sorting available machines....* guix/scripts/offload.scm (machine-less-loaded?, machine-faster?):
Remove.
(machine-power-factor): New procedure.
(machine-less-loaded-or-faster?): Use it.
| Ludovic Courtès |
2014-09-20 | offload: Try another machine when the "best" machine is overloaded....* guix/scripts/offload.scm (choose-build-machine): When BEST is
overloaded, try the other machines.
| Ludovic Courtès |
2014-09-18 | pull: Rewrite using gexps....* guix/scripts/pull.scm (unpack): Remove 'store' parameter. Rewrite
using 'gexp->derivation'.
(what-to-build, indirect-root-added, build-and-install): New
procedures.
(guix-pull): Use it.
| Ludovic Courtès |
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 |