summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* http-client: 'http-client/cached' uses 'If-Modified-Since'.Ludovic Courtès2017-09-19
| | | | | | | | * guix/http-client.scm (http-fetch/cached)[update-cache]: Add 'cache-port' parameter. Check its mtime and compute 'if-modified-since' header accordingly. Guard 'http-get-error?' and honor 304. Adjust callers of 'update-cache'. * guix/gnu-maintenance.scm (ftp.gnu.org-files): Set #:ttl to 15m.
* utils: 'current-source-directory' gracefully deals with lack of location info.Ludovic Courtès2017-09-19
| | | | | * guix/utils.scm (current-source-directory): Adjust for when 'syntax-source' returns #f.
* substitute: Close the download port after substitution finished.宋文武2017-09-18
| | | | | * guix/scripts/substitute.scm (progress-substitution): Call 'close-port' after 'restore-file'.
* build-system: Add 'meson-build-system'.Peter Mikkelsen2017-09-16
| | | | | | | | | | * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and 'guix/build/meson-build-system.scm'. * guix/build-system/meson.scm: New file. * guix/build/meson-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'meson-build-system'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix system: Add 'search' command.Ludovic Courtès2017-09-16
| | | | | | | | | | | | | | * guix/scripts/system.scm (resolve-subcommand): New procedure. (process-command): Handle 'search'. (guix-system): Likewise. (show-help): Augment. * guix/scripts/system/search.scm: New file. * po/guix/POTFILES.in: Add it. * Makefile.am (MODULES): Add it. * guix/ui.scm (%text-width): Export. * doc/guix.texi (Invoking guix system): Document it. (Service Types and Services): Mention 'guix system search'. * tests/guix-system.sh: Test it.
* ui: Generalize relevance computation.Ludovic Courtès2017-09-16
| | | | | | | * guix/ui.scm (relevance, package-relevance): New procedures. (%package-metrics): New variable. * guix/scripts/package.scm (find-packages-by-description)[score] [package-score]: Remove. Use 'package-relevance' instead.
* guix download: Honor mirrors when using '-o'.Ludovic Courtès2017-09-14
| | | | | | | Previously "guix download -o x mirror://gnu/…" would fail. * guix/scripts/download.scm (download-to-file): Pass #:mirrors to 'url-fetch'.
* import: cpan: Replace '(package-license perl) with 'perl-license.Christopher Baines2017-09-12
| | | | | | | | The perl-license definition is intended to avoid circular dependencies, so use this as a default when importing packages from CPAN. * guix/import/cpan.scm (string->license): Replace '(package-license perl) with 'perl-license.
* store: 'run-with-store' has a #:target parameter.Ludovic Courtès2017-09-12
| | | | * guix/store.scm (run-with-store): Add #:target and honor it.
* guix system: Pretty-print device UUIDs.Ludovic Courtès2017-09-12
| | | | | * guix/scripts/system.scm (display-system-generation): Check if ROOT-DEVICE is a UUID and pretty-print it if it is.
* download: Adjust main ftp.gnu.org mirror.Ludovic Courtès2017-09-11
| | | | | | * guix/download.scm (%mirrors): Add missing "/gnu" in first mirror, although that mirror would work even without it. Use https instead of http.
* gnu-maintenance: Return all the latest tarballs, not just one.Ludovic Courtès2017-09-11
| | | | | | * guix/gnu-maintenance.scm (latest-gnu-release): Return a list of matching tarballs instead of just the first one. This gives us .tar.gz, .tar.xz, etc.
* gnu-maintenance: Correctly compare versions.Ludovic Courtès2017-09-11
| | | | | | * guix/gnu-maintenance.scm (latest-gnu-release): Add calls to 'sans-extension'. This fixes version comparison, which could be fooled with the ".tar.gz" extension.
* substitute: Download from unauthorized sources that provide the right content.Ludovic Courtès2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows substitutes to be downloaded from unauthorized servers, as long as they advertise the same hash and references as one of the authorized servers. * guix/scripts/substitute.scm (assert-valid-narinfo): Remove. (valid-narinfo?): Add #:verbose?. Handle each case of 'signature-case'. (equivalent-narinfo?): New procedure. (lookup-narinfos/diverse): Add 'authorized?' parameter and honor it. [select-hit]: New procedure. (lookup-narinfo): Add 'authorized?' parameter and pass it. (process-query): Adjust callers accordingly. (process-substitution): Remove call to 'assert-valid-narinfo'. Check whether 'lookup-narinfo' returns true and call 'leave' if not. * tests/substitute.scm (%main-substitute-directory) (%alternate-substitute-directory): New variables. (call-with-narinfo): Make 'narinfo-directory' a parameter. Call 'mkdir-p' to create it. Change unwind handler to check whether CACHE-DIRECTORY exists before deleting it. (with-narinfo*): New macro. ("substitute, no signature") ("substitute, invalid hash") ("substitute, unauthorized key"): Change expected error message to "no valid substitute". ("substitute, unauthorized narinfo comes first") ("substitute, unsigned narinfo comes first") ("substitute, first narinfo is unsigned and has wrong hash") ("substitute, first narinfo is unsigned and has wrong refs") ("substitute, unsigned narinfo comes first") ("substitute, two invalid narinfos"): New tests. * doc/guix.texi (Substitutes): Explain the new behavior.
* substitute: Make substitute URLs a SRFI-39 parameter.Ludovic Courtès2017-09-11
| | | | | | | | * guix/scripts/substitute.scm (%cache-urls): Rename to... (%default-substitute-urls): ... this. (substitute-urls): New variable. (guix-substitute): Use it instead of %CACHE-URLS. * tests/substitute.scm: Likewise.
* size: Default to '--sort=self'.Ludovic Courtès2017-09-07
| | | | | | * guix/scripts/size.scm (%default-options): Change default value for 'profile<?. * doc/guix.texi (Invoking guix size): Adjust accordingly.
* Handle the same HTTP redirects everywhere.Tobias Geerinckx-Rice2017-09-05
| | | | | | | * guix/build/download.scm (http-fetch): Complete the hard-coded list of HTTP redirection status codes. * guix/http-client.scm (http-fetch): Likewise. * guix/scripts/lint.scm (probe-uri): Likewise.
* guix: Fix Guile current-processor-count deprecation warnings.Mathieu Othacehe2017-09-05
| | | | | | | | | When current-processor-count is used without (ice-9 threads) being used, Guile complains with the following warning: Import (ice-9 threads) to have access to `current-processor-count'. * guix/store.scm: Use (ice-9 threads).
* gnu-maintenance: GNU updater no longer relies on FTP access.Ludovic Courtès2017-09-03
| | | | | | | | | | | Partly fixes <https://bugs.gnu.org/28159>. Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/gnu-maintenance.scm (%gnu-file-list-uri): New variable. (ftp.gnu.org-files, latest-gnu-release): New procedures. (%gnu-updater)[pred]: Change to GNU-HOSTED?. [latest]: Change to LATEST-GNU-RELEASE. (%gnu-ftp-updater): New variable.
* memoization: (mlambda () ...) allows for inner 'define'.Ludovic Courtès2017-09-03
| | | | | | | Previously (mlambda () (define foo 2) bar) would trigger a syntax error. * guix/memoization.scm (%mlambda): In the zero-argument case, move BODY... to a lambda to allow for inner 'define' and such.
* build: Fix helpful output for emacs-build-system install phase.Christopher Baines2017-09-03
| | | | | | | | Detecting when no files were installed was broken when switching to use cond. Test with (not (null? ...)) to fix this. * guix/build/emacs-build-system.scm (install): Fix detecting when no files were installed.
* build: emacs-build-system: Make the install phase more helpful.Christopher Baines2017-09-01
| | | | | | | | | | | | | Modify the install phase to detect when nothing has been installed, and error if this happens. This is preferable to continuing, and allowing the next phase to fail. Also, when nothing can be found to be installed, print out each file that was considered, along with the regular expressions that were used to include and exclude it. * gnu/build/emacs-build-system.scm (install-file?): Add additional error checking and logging.
* scripts: Remove 'max-silent-time' from the default options.Maxim Cournoyer2017-09-01
| | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/27157>. Having a finite default `max-silent-time' value for scripts such as 'guix environment' could lead to timeouts when building subtitutes; this was undesirable. This change also fixes client behavior to match the documentation, which is that by default the daemon's settings are honored. * guix/scripts/archive.scm (%default-options): Remove max-silent-time entry. * guix/scripts/copy.scm (%default-options): Likewise. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. * guix/scripts/system.scm (%default-options): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Merge branch 'core-updates'Marius Bakke2017-08-26
|\
| * download: Remove a SourceForge mirror that never returns 404.Mark H Weaver2017-08-25
| | | | | | | | | | | | | | * guix/download.scm (%mirrors)[sourceforge]: Remove nbtelecom.dl.sourceforge.net, which never returns 404 responses. This causes download failures due to hash mismatch, effectively preventing secondary source URLs from being queried.
| * packages: Use Guile 2.0 for grafting.Ludovic Courtès2017-08-24
| | | | | | | | | | | | | | | | | | Works around <https://bugs.gnu.org/28211>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/packages.scm (guile-2.0): New procedure. (package-derivation, package-cross-derivation): Use it when computing the #:guile argument to 'graft-derivation'.
| * Merge branch 'master' into core-updatesMarius Bakke2017-08-21
| |\
| * \ Merge branch 'master' into core-updatesMark H Weaver2017-08-09
| |\ \
| * | | profiles: Only check file contents if the file exists.Ricardo Wurmus2017-08-09
| | | | | | | | | | | | | | | | | | | | * guix/profiles.scm (fonts-dir-file): Check that files exist before using "empty-file?".
| * | | Merge branch 'master' into core-updatesMark H Weaver2017-08-06
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesMarius Bakke2017-08-01
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2017-07-28
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-07-23
| |\ \ \ \ \ \
| * | | | | | | syscalls: Delay resolution of "scm_set_automatic_finalization_enabled".Ludovic Courtès2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!) [guile-2.2]: Wrap in 'delay'.
| * | | | | | | Merge branch 'master' into core-updatesLeo Famulari2017-07-10
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLudovic Courtès2017-06-30
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-06-29
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2017-06-26
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2017-06-20
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2017-06-18
| |\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2.Ludovic Courtès2017-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/27303>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define.
| * | | | | | | | | | | | | Merge branch 'master' into core-updatesMarius Bakke2017-06-11
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: * gnu/packages/tls.scm (gnutls): Incorporated 3.5.13 graft (88e2511e217f2).
| * \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2017-06-10
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-06-07
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge commit includes a fix for CVE-2017-6512 in Perl 5.26.0.
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-06-04
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2017-06-03
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/image.scm (incorporated libtiff graft)
| * | | | | | | | | | | | | | | | | | utils: Add helper for invoking programs.Danny Milosavljevic2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| * | | | | | | | | | | | | | | | | | build-system/gnu: 'compress-documentation' phase handles double symlinks.Maxim Cournoyer2017-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compress-documentation phase was breaking recursive symbolic links used for manuals, which was made visible by the `find-files' call in the recently added `manual-database' profile hook. See <http://bugs.gnu.org/26771>. * guix/build/gnu-build-system.scm (compress-documentation) [points-to-symbolic-link?]: New procedure. [maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out symbolic links that shouldn't be retargetted, and re-order the calls to `retarget-symlink' and `documentation-compressor'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| * | | | | | | | | | | | | | | | | | build-system/cmake: Add support for cross compilation.Ricardo Wurmus2017-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/26897>. * guix/build-system/gnu.scm: Export standard-cross-packages. * guix/build-system/cmake.scm (cmake-cross-build): New procedure. (lower): Add support for cross-builds. * guix/build/cmake-build-system.scm (configure): Handle "target" argument.
| * | | | | | | | | | | | | | | | | | Merge branch 'master' into core-updatesMark H Weaver2017-05-27
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \