summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* http-client: Monkey-patch 'make-chunked-input-port' on Guile <= 2.0.11.Ludovic Courtès2015-03-03
| | | | | | | | | | Fixes <http://bugs.gnu.org/19976>. * guix/http-client.scm (when-guile<=2.0.5): Rename to... (when-guile<=2.0.5-or-otherwise-broken): ... this. (%web-http): New variable. Monkey-patch 'make-chunked-input-port' when %WEB-HTTP defines 'read-chunk-body'.
* http-client: Update backport of chunked encoding support to Guile 2.0.5.Ludovic Courtès2015-03-03
| | | | | | | * guix/http-client.scm (read-chunk, read-chunk-body) [when-guile<=2.0.5]: Remove. (make-chunked-input-port) [when-guile<=2.0.5]: Update to Guile commit 00d3ecf2.
* profiles: Produce a single-file CA certificate bundle.Mark H Weaver2015-03-03
| | | | | | | | * guix/profiles.scm (ca-certificate-bundle): New procedure. (profile-derivation): Add 'ca-certificate-bundle?' keyword argument. If true (the default), add the result of 'ca-certificate-bundle' to 'inputs'. Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
* build: ruby: Install executables in /bin.David Thompson2015-03-02
| | | | | * guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem command.
* build: ruby: Add gitify phase.David Thompson2015-03-02
| | | | | | * guix/build-system/ruby.scm (lower): Add git as implicit input. * guix/build/ruby-build-system.scm (gitify): New procedure. (%standard-phases): Add gitify phase.
* ui: Add missing copyright line.Ludovic Courtès2015-02-26
| | | | * guix/ui.scm: Add copyright line for Deck (aka. nebuli).
* ui: Honor --no-* options passed via $GUIX_BUILD_OPTIONS.Ludovic Courtès2015-02-26
| | | | | | | | | | Reported by Alex Kost <alezost@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>. * guix/ui.scm (parse-command-line)[parse-options-from]: Add 'seeds' parameter. Thread the result of the first 'parse-options-from' call to the second.
* ui: Factorize command-line + env. var. option parsing.Ludovic Courtès2015-02-26
| | | | | | | | | | | | | | * guix/ui.scm (%default-argument-handler, parse-command-line): New procedures. (environment-build-options): Make private. * guix/scripts/archive.scm (guix-archive)[parse-options, parse-options-from]: Remove. Use 'parse-command-line' instead. * guix/scripts/build.scm (guix-build): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * tests/ui.scm (with-environment-variable): New macro. ("parse-command-line"): New test.
* download: Cope with Guile 2.0.6 or earlier.Mark H Weaver2015-02-24
| | | | | | * guix/build/download.scm: Do not attempt to support relative URIs in "Location" headers if 'declare-relative-uri-header!' is not present. This is the case for Guile 2.0.6 or earlier.
* guix system: Honor '--no-grub'.Ludovic Courtès2015-02-24
| | | | | | | | Reported by Alex Kost <alezost@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00564.html>. * guix/scripts/system.scm (%options) <no-grub>: Use 'alist-cons' instead of 'alist-delete'.
* licenses: Add IPA Font License.Andreas Enge2015-02-24
| | | | * guix/licenses.scm (ipa): New variable.
* tests: Skip tests that would fail due to the shebang length.Ludovic Courtès2015-02-24
| | | | | | | | | | | | Reported by Daniel Kochmański <dkochmanski@hellsgate.pl>. Fixes <http://bugs.gnu.org/19888>. * guix/tests.scm (shebang-too-long?): New procedure. * tests/builders.scm ("gnu-build"): Conditionalize on not (shebang-too-long?). * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh (shebang_not_too_long): New function. Use it to determine whether to build 'gnu-make-boot0'.
* tests: Factorize the network reachability test.Ludovic Courtès2015-02-24
| | | | | | | | | | | * guix/tests.scm (network-reachable?): New procedure. * tests/builders.scm (network-reachable?): Remove. Replace references to it with calls to the new 'network-reachable?' procedure. * tests/derivations.scm (%coreutils): Use 'network-reachable?' instead of 'getaddrinfo'. * tests/packages.scm: Likewise. * tests/union.scm: Likewise.
* import: cpan: Change %corelist into a promise.Mark H Weaver2015-02-20
| | | | | | | | Fixes compilation failures in 'guix pull'. * guix/import/cpan.scm (%corelist): Change it to a promise by wrapping it with 'delay'. (cpan-module->sexp): Adapt uses of %corelist by wrapping with 'force'.
* download: Handle HTTP redirects to relative URI references.Mark H Weaver2015-02-19
| | | | | | | | | | | Fixes <http://bugs.gnu.org/19840>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http "Location" header to accept relative URIs. (resolve-uri-reference): New exported procedure. (http-fetch): Use 'resolve-uri-reference' to resolve redirections. * guix/http-client.scm (http-fetch): Use 'resolve-uri-reference'
* import: cpan: Use cpan mirror url.Eric Bavier2015-02-18
| | | | | * guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror url.
* import: cpan: Sort inputs.Eric Bavier2015-02-18
| | | | | * guix/import/cpan.scm (cpan-module->sexp)[convert-inputs]: Sort returned list of inputs.
* import: cpan: Adjust licenses.Eric Bavier2015-02-18
| | | | | * guix/import/cpan.scm (string->license): Add artistic2.0. Use '(package-license perl) for "perl_5" as is our convention.
* import: cpan: Use corelist to filter dependencies.Eric Bavier2015-02-18
| | | | | | | | * guix/import/cpan.scm (%corelist): New variable. (module->dist-name, core-module?): New procedures. (cpan-module->sexp)[convert-inputs]: Use them. Include "test" dependencies in converted inputs. * doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering.
* guix: licenses: Add Artistic 2.0 license.Eric Bavier2015-02-18
| | | | * guix/licenses.scm (artistic2.0): New variable.
* build-system/perl: Use Build.PL for builds if present.Eric Bavier2015-02-18
| | | | | | | | | | * guix/build/perl-build-system.scm (configure): Use Build.PL if present. (build, check, install): New procedures. (%standard-phases): Replace build, check, and install phases. * guix/build-system/perl (perl-build): Add make-maker? and module-build-flags arguments. * doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp. Build.PL and new arguments.
* gnu: Add R.Ricardo Wurmus2015-02-16
| | | | | | * gnu/packages/statistics.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it * guix/download.scm (%mirrors): Add CRAN mirrors.
* gexp: Add #:graft? parameter to 'gexp->derivation'.Ludovic Courtès2015-02-13
| | | | | | | * guix/gexp.scm (gexp->derivation): Add #:graft? parameter and honor it. * tests/gexp.scm ("gexp->derivation vs. grafts"): New test. * doc/guix.texi (G-Expressions): Update 'gexp->derivation' documentation.
* packages: Add 'set-grafting' procedure.Ludovic Courtès2015-02-13
| | | | * guix/packages.scm (set-grafting): New procedure.
* tests: Add missing import.Ludovic Courtès2015-02-13
| | | | * guix/tests.scm: Add missing import, needed by 'dummy-package'.
* gexp: Implement 'imported-modules' & co. using 'gexp->derivation'.Ludovic Courtès2015-02-13
| | | | | | | | | | | | | * guix/derivations.scm (imported-files): Keep private. (%imported-modules, %compiled-modules, build-expression->derivation): Mark as deprecated. (imported-modules, compiled-modules): Remove. * guix/gexp.scm (%mkdir-p-definition): New variable. (imported-files, search-path*, imported-modules, compiled-modules): New procedures. * tests/derivations.scm ("imported-files"): Remove. * tests/gexp.scm ("imported-files", "gexp->derivation #:modules"): New tests.
* store: Add optional 'references' parameter to 'text-file'.Ludovic Courtès2015-02-12
| | | | | | * guix/store.scm (text-file): Add optional 'references' parameter. Pass it to 'add-text-to-store'. * doc/guix.texi (The Store Monad): Adjust accordingly.
* gexp: Add #:allowed-references parameter to 'gexp->derivation'.Ludovic Courtès2015-02-11
| | | | | | | | * guix/gexp.scm (lower-references): New procedure. (gexp->derivation): Add #:allowed-references and honor it. * tests/gexp.scm ("gexp->derivation #:allowed-references", "gexp->derivation #:allowed-references, disallowed"): New tests. * doc/guix.texi (G-Expressions): Update 'gexp->derivation' doc.
* derivations: Make the "grafting..." message directly visible.Ludovic Courtès2015-02-11
| | | | | * guix/derivations.scm (graft-derivation)[build]: Add call to 'force-output'.
* lint: handle FTP URIs.Cyril Roelandt2015-02-10
| | | | * guix/scripts/lint.scm (probe-uri): handle FTP URIs.
* profiles: Report "pseudo-upgrades" as upgrades, not downgrades.Ludovic Courtès2015-02-09
| | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr> at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19764#19>. * guix/profiles.scm (manifest-transaction-effects): Use 'version>=?' instead of 'version>?'. * tests/profiles.scm ("manifest-transaction-effects and pseudo-upgrades"): New test.
* utils: Add 'version>=?'.Ludovic Courtès2015-02-09
| | | | | * guix/utils.scm (version>?): Clarify docstring. (version>=?): New procedure.
* build: Add 'waf-build-system'.Ricardo Wurmus2015-02-08
| | | | | | | * guix/build-system/waf.scm, guix/build/waf-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document waf-build-system.
* profiles: Distinguish downgrades from upgrades.Ludovic Courtès2015-02-08
| | | | | | | | | | Fixes <http://bugs.gnu.org/19764>. * guix/profiles.scm (manifest-transaction-effects): Return downgraded packages as a fourth value. * guix/ui.scm (show-manifest-transaction): Adjust accordingly. * tests/profiles.scm ("manifest-transaction-effects and downgrades"): New test.
* ui: Properly report '&nar-error' conditions.Ludovic Courtès2015-02-08
| | | | | | This is a followup to 46b8aad. * guix/ui.scm (call-with-error-handling): Add 'nar-error?' case.
* serialization: Check for EOF and incomplete input conditions.Ludovic Courtès2015-02-07
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/19756>. Reported by <sleep_walker@suse.cz>. * guix/serialization.scm (currently-restored-file): New variable. (get-bytevector-n*): New procedure. (read-int, read-long-long, read-string, read-latin1-string, read-contents): Use it instead of 'get-bytevector-n'. (restore-file): Parameterize 'currently-restored-file' and set it. * tests/nar.scm ("restore-file with incomplete input"): New test.
* guix package: Make custom profiles actual indirect roots.Ludovic Courtès2015-02-06
| | | | | | | | | | | | | Before that, any profile generation built when '-p' is used would effectively become a permanent GC root because the symlink in /var/guix/gcroots/auto would point directly to /gnu/store/...-profile. * guix/scripts/package.scm (maybe-register-gc-root): Rename to... (register-gc-root): ... this. Remove conditional, and replace call to 'canonicalize-path' with (string-append (getcwd) "/" ...). (guix-package): Call 'register-gc-root' only if PROFILE is different from %CURRENT-PROFILE. * tests/guix-package.sh: Add test case.
* pull: Always install the ~/.config/guix/latest symlink.Ludovic Courtès2015-02-06
| | | | | | | | | | Before that, if two users on the same machine ran 'guix pull', the second one would have the "Guix already up to date" message and their ~/.config/guix/latest link would be left unchanged---effectively preventing them from updating. * guix/scripts/pull.scm (build-and-install): Install the 'latest' symlink regardless of whether TO-DO? is true or false.
* offload: Better report failure to create the GC root directory.Ludovic Courtès2015-02-05
| | | | | | | | Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/scripts/offload.scm (register-gc-root)[script]: Replace 'false-if-exception' with a finer-grain 'system-error handler. Provide the name of MACHINE in 'leave' error message.
* offload: Warn about SSH client issues.Ludovic Courtès2015-02-05
| | | | | | | | Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/scripts/offload.scm (remote-pipe): Remove unneeded 'catch'. (machine-load): Check the exit value upon (close-pipe pipe). Call 'warning' when it is non-zero.
* Add support for 'cvs-fetch' method in origins.Mark H Weaver2015-02-04
| | | | | * guix/cvs-download.scm, guix/build/cvs.scm: New files. * Makefile.am (MODULES): Add them.
* Remove outdated comment from svn-fetch.Mark H Weaver2015-02-04
| | | | * guix/svn-download.scm (svn-fetch): Remove outdated comment.
* guix: environment: Consider all package outputs.David Thompson2015-02-03
| | | | | | * guix/scripts/environment.scm (for-each-search-path): Iterate over all derivation output paths. (packages->transitive-inputs): Process inputs that specify an output, too.
* store: Remove 'build-derivations'.Ludovic Courtès2015-02-02
| | | | | | | * guix/store.scm (build-derivations): Remove. * guix/derivations.scm (build-derivations): Write in terms of 'build-things'. * doc/guix.texi (Invoking guix build): Adjust text accordingly.
* store: Add 'build-things'.Ludovic Courtès2015-02-02
| | | | | | | | | | * guix/store.scm (operation-id): Rename 'build-derivations' to 'build-things', as per Nix commit 1aba0bf0. (build-derivations): Rename to... (build-things): ... this. Keep 'build-derivations' as an alias. (build): New procedure. * tests/store.scm ("build-things with output path", "substitute + build-things with output path"): New tests.
* tests: Add 'with-derivation-substitute' and use it.Ludovic Courtès2015-02-02
| | | | | | | | | * guix/tests.scm (%substitute-directory): New variable. (call-with-derivation-narinfo): Use it. (call-with-derivation-substitute): New procedure. (with-derivation-substitute): New macro. * tests/store.scm ("substitute"): Use 'with-derivation-substitute'. ("substitute, corrupt output hash"): Likewise.
* tests: Further factorize substitute mocks.Ludovic Courtès2015-02-02
| | | | | | | | | | | | | * guix/tests.scm (derivation-narinfo): Turn 'nar' into a keyword parameter. Add #:sha256 parameter, and honor it. (call-with-derivation-narinfo): Add #:sha256 and pass it to 'derivation-narinfo'. (with-derivation-narinfo): Extend with support for (sha256 => value). * tests/store.scm ("substitute query"): Use 'with-derivation-narinfo'. ("substitute"): Likewise. ("substitute, corrupt output hash"): Likewise. ("substitute --fallback"): Likewise. * tests/derivations.scm: Remove Emacs local variable.
* ui: Update copyright year in '--version' output.Ludovic Courtès2015-01-28
| | | | * guix/ui.scm (show-version-and-exit): Increment copyright year.
* lint: Fix argument parsing when several packages are specified.Ludovic Courtès2015-01-28
| | | | | | | | * guix/scripts/lint.scm (%options) <--checkers>: Remove 'arg-handler' parameter, and return a single value. (guix-lint)[parse-options]: Remove 'arg-handler' parameter from handlers. Remove second seed to 'args-fold*'. * tests/guix-lint.sh: Add test.
* substitute-binary: Let the user know when the cache is being updated.Ludovic Courtès2015-01-26
| | | | | * guix/scripts/substitute-binary.scm (open-cache*): New macro. (guix-substitute-binary): Use it instead of (delay (open-cache ...)).