summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* vm: Fix 'vm --full-boot' to produce a sufficient disk image.Ludovic Courtès2014-11-08
| | | | | | | | | | * 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'.
* vm: Support 'guix system vm --full-boot'.Ludovic Courtès2014-11-08
| | | | | | | | | | | * 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.
* lint: Allow synopses that start with an abbreviation.Ludovic Courtès2014-11-07
| | | | | | * 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.
* lint: Skip starting-article test for the synopses of GNU packages.Ludovic Courtès2014-11-07
| | | | | * guix/scripts/lint.scm (check-synopsis-style)[check-start-article]: Change to (const #t) when PACKAGE matches 'gnu-package?'.
* lint: Tolerate sentences that start with a parenthesis or a quote.Ludovic Courtès2014-11-07
| | | | | * guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as valid beginnings.
* lint: Improve check for synopses starting with package name.Ludovic Courtès2014-11-07
| | | | | | | * 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.
* monads: Remove unused 'nargs' parameter from 'lift'.Ludovic Courtès2014-11-05
| | | | * guix/monads.scm (lift): Remove 'nargs' parameter.
* import: pypi: Gracefully handle wrong argument counts.Ludovic Courtès2014-11-05
| | | | | * guix/scripts/import/pypi.scm (guix-import-pypi): Use 'leave' to handle cases where ARGS has zero or two or more elements.
* import: pypi: Gracefully handle non-existent packages.Ludovic Courtès2014-11-05
| | | | | | | | | | | 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.
* store: Invalidate caches once GC has run.Ludovic Courtès2014-11-04
| | | | | | * guix/store.scm (run-gc): Add calls to 'hash-clear!'. * tests/store.scm ("add-text-to-store vs. delete-paths", "add-to-store vs. delete-paths"): New tests.
* packages: 'package-transitive-supported-systems' accounts for indirect deps.Ludovic Courtès2014-11-03
| | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/packages.scm (first-value): New macro. (package-transitive-supported-systems): Rewrite to traverse all the DAG rooted at PACKAGE. * tests/packages.scm ("package-transitive-supported-systems"): Add 'd' and 'e', and test them.
* packages: Implement grafts.Ludovic Courtès2014-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* derivations: Add 'derivation-name'.Ludovic Courtès2014-11-02
| | | | | * guix/derivations.scm (derivation-name): New procedure. * tests/derivations.scm ("derivation-name"): New test.
* download: Append (effective-version) to '%load-path' for GnuTLS.Ludovic Courtès2014-10-30
| | | | | | | * guix/download.scm (url-fetch)[builder]: Append (effective-version) to %load-path, as discussed at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00398.html>. This fixes a regression introduced in b94ae0b.
* environment: Improve '--help' output.Ludovic Courtès2014-10-30
| | | | | | * guix/scripts/environment.scm (show-help): Align --pure and --search-paths with other long options; add 'newline' call before 'show-bug-report-information' call.
* import: snix: Handle license attributes.Ludovic Courtès2014-10-29
| | | | | | * guix/import/snix.scm (snix-derivation->guix-package)[license-variable]: Move to... (license-variable): ... here. Handle license attributes.
* offload: Remove mutual exclusion on transfers.Ludovic Courtès2014-10-29
| | | | | | | | 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'.
* derivations: Fix 'derivation-prerequisites-to-build' when #:local-build?.Ludovic Courtès2014-10-29
| | | | | | * guix/derivations.scm (derivation-prerequisites-to-build)[derivation-substitutable?]: Call 'substitutable-derivation?'. <body>: When 'substitutable-derivation?' returns #f, add DRV to BUILD.
* tests: Move some of the narinfo test tools to (guix tests).Ludovic Courtès2014-10-29
| | | | | | | | * guix/tests.scm (derivation-narinfo, call-with-derivation-narinfo): New procedures. (with-derivation-narinfo): New macro. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes"): Use them.
* derivations: Add 'offloadable-derivation?' and 'substitutable-derivation?'.Ludovic Courtès2014-10-29
| | | | | | * guix/derivations.scm (offloadable-derivation?, substitutable-derivation?): New procedures. * tests/derivations.scm ("offloadable-derivation?"): New test.
* build-system/gnu: Add #:substitutable? parameter.Ludovic Courtès2014-10-28
| | | | | | * guix/build-system/gnu.scm (gnu-build): Add #:substitutable? parameter. Pass #:local-build? to 'build-expression->derivation'. (gnu-cross-build): Likewise.
* licenses: Add 'imlib2'.Alex Kost2014-10-26
| | | | | * guix/licenses.scm (imlib2): New variable. * gnu/packages/image.scm (imlib2): Use it.
* guix: lint: Make exception for package name starting description.Eric Bavier2014-10-26
| | | | | | * 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.
* guix: lint: Allow digits at start of synopsis or description.Eric Bavier2014-10-26
| | | | | | | * 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.
* guix: lint: Check for empty synopses and descriptions.Eric Bavier2014-10-26
| | | | | | * guix/scripts/lint.scm (check-description-style, check-synopsis-style): New emptiness checks. * tests/lint.scm: Test them.
* guix: lint: Check for proper end-of-sentence space.Eric Bavier2014-10-26
| | | | | | | * 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.
* guix: lint: Use if/when consistently.Eric Bavier2014-10-26
| | | | | | * guix/scripts/lint.scm (check-synopsis-style): Replace single-branch uses of if with when. (check-patches): Same
* guix: lint: Use string-suffix? and string-prefix? where appropriate.Eric Bavier2014-10-26
| | | | | * guix/scripts/lint.scm (check-synopsis): Use string-suffix? and string-prefix? in place of string-take and string=?.
* guix import pypi: Fix a typo in a docstring.Cyril Roelandt2014-10-22
| | | | * guix/import/pypi.scm (snake-case): Fix documentation.
* guix import pypi: do not add "python-" to a package name if it's already there.Cyril Roelandt2014-10-22
| | | | | * guix/import/pypi.scm (make-pypi-sexp): test whether the package name starts with "python-" before modifying it.
* guix import pypi: add the Apache License 2.0Cyril Roelandt2014-10-22
| | | | * guix/import/pypi.scm (string->license): add ASL2.0.
* refresh: Add end-of-line to error message.Eric Bavier2014-10-20
| | | | | * guix/scripts/refresh.scm (%options)[select]: Add end-of-line to error message.
* gnu: Add 'version-prefix' and 'version-major+minor'; use them.Ian Denhardt2014-10-20
| | | | | | | | | | | | | | | | | | The procedure version-prefix truncates a version string to a certain number of components. version-major+minor is a special case of this, which extracts the "major.minor" part of the string. Previously this was handled by an expression common to several packages. * guix/utils.scm (version-prefix, version-major+minor): New procedures * gnu/packages/backup.scm (duplicity): Use version-major+minor. * gnu/packages/cmake.scm (cmake): Likewise. * gnu/packages/gnome.scm (libbonobo, libbonoboui): Likewise. * gnu/packages/gnutls.scm (gnutls): Likewise. * gnu/packages/mail.scm (gmime): Likewise. * gnu/packages/mpd.scm (mpd): Likewise. * gnu/packages/mpi.scm (openmpi): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* download: Add "Accept: */*" to the headers.Ludovic Courtès2014-10-19
| | | | | | | Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
* packages: Add 'package-transitive-supported-systems'.Ludovic Courtès2014-10-17
| | | | | | * guix/packages.scm (package-transitive-supported-systems): New procedure. * tests/packages.scm ("package-transitive-supported-systems"): New test. * build-aux/hydra/gnu-system.scm (package->job): Use it.
* derivations: 'graft-derivation' correctly handles multiple-output sources.Ludovic Courtès2014-10-17
| | | | | * guix/derivations.scm (graft-derivation): Add DRV as input for each one of OUTPUT-NAMES.
* packages: Improve the package-to-derivation cache.Ludovic Courtès2014-10-17
| | | | | | * guix/packages.scm (cache): Preserve the former values associated with PACKAGE. (cached): Bind SYSTEM in 'let', to prevent double evaluation.
* derivations: Add #:system parameter to 'graft-derivation'.Ludovic Courtès2014-10-17
| | | | * guix/derivations.scm (graft-derivation): Add #:system parameter.
* derivations: Introduce 'graft' record type.Ludovic Courtès2014-10-17
| | | | | | | | * guix/derivations.scm (<graft>): New record type. (graft-derivation): Rename 'replacements' to 'grafts', and expect it to be a list of <graft> records. Adjust accordingly. * tests/derivations.scm ("graft-derivation"): Use 'graft' instead of pairs in argument to 'graft-derivation'.
* records: Improve the docstring of 'define-record-type*'.Ludovic Courtès2014-10-17
| | | | | * guix/records.scm (define-record-type*): Agument the docstring, give examples.
* download: Allow use of substitutes.Ludovic Courtès2014-10-16
| | | | | | | | See <https://bugs.gnu.org/18747> for the original report. * guix/download.scm (url-fetch): Comment out #:local-build? argument. * guix/git-download.scm (git-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise.
* guix lint: add the --checkers option.Cyril Roelandt2014-10-16
| | | | | | | * 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.
* utils: Micro-optimize 'bytevector->base16-string'.Ludovic Courtès2014-10-13
| | | | | | | | This reduces run time of (package-derivation s emacs) by ~1.5%. * guix/utils.scm (bytevector->base16-string): Traverse BV from the end so as to use 'string-concatenate' instead of 'string-concatenate-reverse'.
* derivations: Micro-optimize 'imported-modules'.Ludovic Courtès2014-10-13
| | | | | | | This reduces run time of (package-derivation s emacs) by ~5%. * guix/derivations.scm (search-path*): New procedure. (imported-modules): Use it instead of 'search-path'.
* derivations: Memoize 'derivation-path->base16-hash'.Ludovic Courtès2014-10-13
| | | | | | | This reduces run time of (package-derivation s emacs) by ~10%. * guix/derivations.scm (derivation-path->base16-hash): New procedure. (derivation-hash): Use it.
* derivations: Add #:guile parameter to 'graft-derivation'.Ludovic Courtès2014-10-12
| | | | | * guix/derivations.scm (graft-derivation): Add #:guile parameter; pass it to 'build-expression->derivation'.
* guix package: Add '--switch-generation' option.Alex Kost2014-10-12
| | | | | | | | * 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.
* profiles: Add 'relative-generation'.Alex Kost2014-10-12
| | | | | * guix/profiles.scm: (relative-generation): New procedure. (previous-generation-number): Use it.
* profiles: Add condition types for profiles and generations.Alex Kost2014-10-12
| | | | | | | | | | 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.
* scripts: Add 'environment' command.David Thompson2014-10-10
| | | | | | * guix/scripts/environment.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi ("Invoking guix environment"): New node.