summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2014-10-29import: snix: Handle license attributes.Ludovic Courtès
* guix/import/snix.scm (snix-derivation->guix-package)[license-variable]: Move to... (license-variable): ... here. Handle license attributes.
2014-10-29offload: Remove mutual exclusion on transfers.Ludovic Courtès
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'.
2014-10-29derivations: Fix 'derivation-prerequisites-to-build' when #:local-build?.Ludovic Courtès
* guix/derivations.scm (derivation-prerequisites-to-build)[derivation-substitutable?]: Call 'substitutable-derivation?'. <body>: When 'substitutable-derivation?' returns #f, add DRV to BUILD.
2014-10-29tests: Move some of the narinfo test tools to (guix tests).Ludovic Courtès
* 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.
2014-10-29derivations: Add 'offloadable-derivation?' and 'substitutable-derivation?'.Ludovic Courtès
* guix/derivations.scm (offloadable-derivation?, substitutable-derivation?): New procedures. * tests/derivations.scm ("offloadable-derivation?"): New test.
2014-10-28build-system/gnu: Add #:substitutable? parameter.Ludovic Courtès
* guix/build-system/gnu.scm (gnu-build): Add #:substitutable? parameter. Pass #:local-build? to 'build-expression->derivation'. (gnu-cross-build): Likewise.
2014-10-26licenses: Add 'imlib2'.Alex Kost
* guix/licenses.scm (imlib2): New variable. * gnu/packages/image.scm (imlib2): Use it.
2014-10-26guix: lint: Make exception for package name starting description.Eric Bavier
* 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.
2014-10-26guix: lint: Allow digits at start of synopsis or description.Eric Bavier
* 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.
2014-10-26guix: lint: Check for empty synopses and descriptions.Eric Bavier
* guix/scripts/lint.scm (check-description-style, check-synopsis-style): New emptiness checks. * tests/lint.scm: Test them.
2014-10-26guix: lint: Check for proper end-of-sentence space.Eric Bavier
* 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.
2014-10-26guix: lint: Use if/when consistently.Eric Bavier
* guix/scripts/lint.scm (check-synopsis-style): Replace single-branch uses of if with when. (check-patches): Same
2014-10-26guix: lint: Use string-suffix? and string-prefix? where appropriate.Eric Bavier
* guix/scripts/lint.scm (check-synopsis): Use string-suffix? and string-prefix? in place of string-take and string=?.
2014-10-22guix import pypi: Fix a typo in a docstring.Cyril Roelandt
* guix/import/pypi.scm (snake-case): Fix documentation.
2014-10-22guix import pypi: do not add "python-" to a package name if it's already there.Cyril Roelandt
* guix/import/pypi.scm (make-pypi-sexp): test whether the package name starts with "python-" before modifying it.
2014-10-22guix import pypi: add the Apache License 2.0Cyril Roelandt
* guix/import/pypi.scm (string->license): add ASL2.0.
2014-10-20refresh: Add end-of-line to error message.Eric Bavier
* guix/scripts/refresh.scm (%options)[select]: Add end-of-line to error message.
2014-10-20gnu: Add 'version-prefix' and 'version-major+minor'; use them.Ian Denhardt
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>
2014-10-19download: Add "Accept: */*" to the headers.Ludovic Courtès
Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
2014-10-17packages: Add 'package-transitive-supported-systems'.Ludovic Courtès
* 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.
2014-10-17derivations: 'graft-derivation' correctly handles multiple-output sources.Ludovic Courtès
* guix/derivations.scm (graft-derivation): Add DRV as input for each one of OUTPUT-NAMES.
2014-10-17packages: Improve the package-to-derivation cache.Ludovic Courtès
* guix/packages.scm (cache): Preserve the former values associated with PACKAGE. (cached): Bind SYSTEM in 'let', to prevent double evaluation.
2014-10-17derivations: Add #:system parameter to 'graft-derivation'.Ludovic Courtès
* guix/derivations.scm (graft-derivation): Add #:system parameter.
2014-10-17derivations: Introduce 'graft' record type.Ludovic Courtès
* 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'.
2014-10-17records: Improve the docstring of 'define-record-type*'.Ludovic Courtès
* guix/records.scm (define-record-type*): Agument the docstring, give examples.
2014-10-16download: Allow use of substitutes.Ludovic Courtès
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.
2014-10-16guix lint: add the --checkers option.Cyril Roelandt
* 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.
2014-10-13utils: Micro-optimize 'bytevector->base16-string'.Ludovic Courtès
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'.
2014-10-13derivations: Micro-optimize 'imported-modules'.Ludovic Courtès
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'.
2014-10-13derivations: Memoize 'derivation-path->base16-hash'.Ludovic Courtès
This reduces run time of (package-derivation s emacs) by ~10%. * guix/derivations.scm (derivation-path->base16-hash): New procedure. (derivation-hash): Use it.
2014-10-12derivations: Add #:guile parameter to 'graft-derivation'.Ludovic Courtès
* guix/derivations.scm (graft-derivation): Add #:guile parameter; pass it to 'build-expression->derivation'.
2014-10-12guix package: Add '--switch-generation' option.Alex Kost
* 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.
2014-10-12profiles: Add 'relative-generation'.Alex Kost
* guix/profiles.scm: (relative-generation): New procedure. (previous-generation-number): Use it.
2014-10-12profiles: Add condition types for profiles and generations.Alex Kost
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.
2014-10-10scripts: Add 'environment' command.David Thompson
* guix/scripts/environment.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi ("Invoking guix environment"): New node.
2014-10-10ui: Move 'show-manifest-transaction' from (guix profiles).Alex Kost
* 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>
2014-10-09ui: Make sure we use the right domain for &message translation.Ludovic Courtès
* guix/ui.scm (call-with-error-handling): Add %GETTEXT-DOMAIN as a second argument to 'gettext'.
2014-10-09Break module cycle involving (guix store) and (guix ui).Ludovic Courtès
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.
2014-10-09substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL.Ludovic Courtès
* 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'.
2014-10-09daemon: Add '--substitute-urls' option.Ludovic Courtès
* 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.
2014-10-08monads: Add 'mbegin'.Ludovic Courtès
* guix/monads.scm (mbegin): New macro. * tests/monads.scm ("mbegin"): New test. * doc/guix.texi (The Store Monad): Document it.
2014-10-08packages: Gracefully print packages whose 'location' is #f.Ludovic Courtès
* guix/packages.scm (<package> printer): Check whether LOC is #f. * tests/packages.scm ("printer with location", "printer without location"): New tests.
2014-10-08gnu: Add the 'glib-or-gtk' build system.Federico Beffa
* guix/build-system/glib-or-gtk.scm, guix/build/glib-or-gtk-build-system.scm: New files. * Makefile.am (MODULES): Add them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-08derivations: Add 'graft-derivation'.Ludovic Courtès
* guix/derivations.scm (graft-derivation): New procedure. * guix/build/graft.scm: New file. * Makefile.am (MODULES): Add it. * tests/derivations.scm ("graft-derivation"): New test.
2014-10-08guix lint: make sure synopses do not start with the package name.Cyril Roelandt
* guix/scripts/lint.scm (check-start-with-package-name): New method. * tests/lint.scm ("synopsis: start with package name"): New test.
2014-10-08guix lint: Make sure a synopsis cannot start with a lower-case article.Cyril Roelandt
* 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.
2014-10-08guix lint: check whether descriptions and synopses start with an upper-case ↵Cyril Roelandt
letter. * 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.
2014-10-08guix lint: Make sure synopses are not too long.Cyril Roelandt
* guix/scripts/lint.scm (check-synopsis-length): New procedure. * tests/lint.scm ("synopsis: too long"): New test.
2014-10-08guix lint: make sure check-patches retrieves patch names.Cyril Roelandt
* guix/lint (check-patches): Test the output of origin-patches.
2014-10-06hydra: Honor 'package-supported-systems'.Ludovic Courtès
* guix/packages.scm (%supported-systems): New variable. (<package>)[platforms]: Rename to... [supported-systems]: ... this. Change default to %SUPPORTED-SYSTEMS. * build-aux/hydra/gnu-system.scm (job-name, package->job): New procedures, formerly in 'hydra-jobs'. Honor 'package-supported-systems'. (hydra-jobs): Use them.