Age | Commit message (Expand) | Author |
2017-10-12 | offload: Reduce the number of calls to 'machine-load'....Previously we would call 'machine-load' once per machine, which was very
costly when there were many machines. Now we arrange to call it only
once on average (when all the machines have the same 'speed' value).
* guix/scripts/offload.scm (random-seed, shuffle): New procedures.
(choose-build-machine)[machines+slots+loads]: Rename to...
[machines+slots]: ... this. Remove load from the tuples therein.
[undecorate]: Adjust accordingly.
[machine-less-loaded-or-faster?]: Remove.
[machine-faster?]: New procedure.
Sort MACHINES+SLOTS according to 'machine-faster?'. Call
'machine-load?' as the last thing.
| Ludovic Courtès |
2017-10-12 | substitute: Close the progress port after substitute finished....Fixes <https://bugs.gnu.org/28756>.
* guix/scripts/substitute.scm (progress-substitution):
Call '(close-port progress)'.
| 宋文武 |
2017-10-11 | zlib: Fix memory leak due to revealed ports not being GC'd....Fixes <https://bugs.gnu.org/28784>.
This mostly reverts 81a0f1cdf12e7bcc34c1203f034a323fa8f52cf5, which
introduced a regression: revealed ports are *never* GC'd (contrary to
what Guile's manual suggests).
In addition to the revert, 'close-procedure' now explicitly swallows
EBADF errors when 'close-port' is called.
* guix/zlib.scm (close-procedure): New procedure.
(make-gzip-input-port)[gzfile]: Use 'fileno' instead of 'port->fdes'.
Use 'close-procedure' instead of 'gzclose'.
(make-gzip-output-port): Likewise.
* tests/zlib.scm ("compression/decompression pipe"): Use 'port-closed?'
to determine whether PARENT has been closed.
| Ludovic Courtès |
2017-10-10 | import: cpan: Load (gnu packages perl) lazily....* guix/import/cpan.scm: Remove dependency on (gnu packages perl).
(perl-package): New procedure.
(%corelist, core-module?): Use it instead of referring to 'perl'.
| Ludovic Courtès |
2017-10-10 | import: pypi: Remove unneeded import....* guix/import/pypi.scm: Remove unneeded import.
| Ludovic Courtès |
2017-10-10 | ui: Improve reporting of missing closing parentheses....Suggested by Ricardo Wurmus.
Works around <https://bugs.gnu.org/28295>.
* guix/ui.scm (report-load-error): Add case for 'read-error'.
* tests/guix-system.sh: Test missing-closing-paren errors.
| Ludovic Courtès |
2017-10-10 | guix: mirrors: Add kde archive mirror....* guix/download.scm (%mirrors)[kde]: Add kde-attic mirror.
| Efraim Flashner |
2017-10-09 | syscalls: clone: Define syscall-id for aarch64....* guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines.
| Eric Bavier |
2017-10-09 | lint: Remove extra newline....* guix/scripts/lint.scm (check-for-updates): Remove trailing "~%".
| Ludovic Courtès |
2017-10-09 | guix: lint: Add checker for new upstream versions....* guix/scripts/lint.scm (check-for-updates): New procedure.
(%checkers): Add it.
* guix/scripts/refresh.scm (importer-modules, %updaters): Move
from here ...
* guix/upstream.scm: ... to here.
| Efraim Flashner |
2017-10-07 | pull: Add GUIX_PULL_URL environment variable....* guix/scripts/pull.scm (%repository-url): Add GUIX_PULL_URL environment
variable.
* doc/guix.texi (Invoking guix pull): Mention GUIX_PULL_URL.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Oleg Pykhalov |
2017-10-07 | pull: Honor 'parallel-job-count'....* guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor
'parallel-job-count'.
| Ludovic Courtès |
2017-10-07 | store: Add missing import....* guix/store.scm: Use (ice-9 format).
| Ludovic Courtès |
2017-10-07 | guix package: '--upgrade' no longer reverses package order....Reported by Oleg Pykhalov <go.wigust@gmail.com>
at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00000.html>.
* guix/scripts/package.scm (options->installable)[upgraded]: Use
'fold-right' instead of 'fold'.
| Ludovic Courtès |
2017-10-05 | publish: Cache uncompressed nars as well....Fixes <https://bugs.gnu.org/28664>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/scripts/publish.scm (bake-narinfo+nar): When COMPRESSION is
'none, write NAR instead of doing nothing.
(make-request-handler): Use 'render-nar/cached' for /nar URLs with no
compression.
* tests/publish.scm ("with cache", "with cache, uncompressed"): Adjust
expected result accordingly.
| Ludovic Courtès |
2017-10-05 | guix system: Error out when passed a wrong file system UUID/label....* guix/scripts/system.scm (check-file-system-availability): New
procedure.
(perform-action): Use it.
| Ludovic Courtès |
2017-10-03 | guix: ant-build-system: Add #:test-include and #:test-exclude arguments....* guix/build-system/ant.scm: Add #:test-include and #:test-exclude
arguments.
* guix/build/ant-build-system.scm: Generate test list from arguments.
* doc/guix.texi (Build Systems): Document it.
| Julien Lepiller |
2017-10-03 | guix: ant-build-system: Add main-class support....* guix/build-system/ant.scm: New #:main-class argument
* guix/build/ant-build-system.scm: Generate a manifest file with
additional properties.
* doc/guix.texi (Build Systems): Document it.
| Julien Lepiller |
2017-09-28 | guix: Revert accidentally committed changes....This is a follow-up to commit fb1db385476bc4548d3eadea93b5dd6a346839f2.
* guix/scripts/build.scm (lazy-util): Remove procedure.
(options->things-to-build): Remove special case for files with ".json"
extension.
| Ricardo Wurmus |
2017-09-28 | import: Add JSON importer....* doc/guix.texi (Invoking guix import): Document it.
* guix/scripts/import/json.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/import.scm (importers): Add json importer.
| Ricardo Wurmus |
2017-09-28 | import: Add generic data to package converter....* guix/import/utils.scm (build-system-modules, lookup-build-system-by-name,
specs->package-lists, source-spec->object, alist->package): New procedures.
* tests/import-utils.scm: Add tests for alist->package.
| Ricardo Wurmus |
2017-09-28 | import: Add package->code....* guix/import/print.scm: New file.
* tests/print.scm: New file.
* Makefile.am (SCM_TESTS): Add new test file.
(MODULES): Add print.scm.
| Ricardo Wurmus |
2017-09-26 | build-system: meson: Fix typo in variable name....* guix/build-system/meson.scm (lower): fix typo in glib-or-gtk?.
| Mohammed Sadiq |
2017-09-26 | http-client: Reset cache TTL upon 304 "Not Modified" responses....* guix/http-client.scm (http-fetch/cached)[update-cache]: Add call to
'utime' in the 304 case.
| Ludovic Courtès |
2017-09-26 | upstream: Add new GNOME updater....Partly fixes <https://bugs.gnu.org/28159>.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.
* guix/import/gnome.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/gnu-maintenance.scm (latest-gnome-release)
(%gnome-updater): Remove.
| Ludovic Courtès |
2017-09-26 | upstream: Add 'url-prefix-predicate'....* guix/gnu-maintenance.scm (url-prefix-predicate): Move to...
* guix/upstream.scm (url-prefix-predicate): ... here.
| Ludovic Courtès |
2017-09-22 | licenses: Add CC-Sampling+ 1.0....* guix/licenses.scm (cc-sampling-plus-1.0): New variable.
Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
| Arun Isaac |
2017-09-20 | download: Don't report the progress too fast....* guix/utils.scm (<progress-reporter>): New record type.
(call-with-progress-reporter): New procedure.
* guix/build/download.scm (dump-port*, rate-limited, progress-reporter/file):
New procedures.
(ftp-fetch, http-fetch): Use 'dump-port*'.
(progress-proc): Remove procedure.
* guix/scripts/substitute.scm (progress-report-port): Rewrite in terms of
<progress-reporter>.
(process-substitution): Adjust accordingly.
| 宋文武 |
2017-09-19 | cve: Disable position recording while reading the CVE list....* guix/cve.scm (fetch-vulnerabilities)[read*]: New procedure.
Use it in lieu of 'read'.
| Ludovic Courtès |
2017-09-19 | http-client: 'http-client/cached' uses 'If-Modified-Since'....* 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.
| Ludovic Courtès |
2017-09-19 | utils: 'current-source-directory' gracefully deals with lack of location info....* guix/utils.scm (current-source-directory): Adjust for when
'syntax-source' returns #f.
| Ludovic Courtès |
2017-09-18 | substitute: Close the download port after substitution finished....* guix/scripts/substitute.scm (progress-substitution): Call 'close-port'
after 'restore-file'.
| 宋文武 |
2017-09-16 | build-system: Add 'meson-build-system'....* 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>
| Peter Mikkelsen |
2017-09-16 | guix system: Add 'search' command....* 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.
| Ludovic Courtès |
2017-09-16 | ui: Generalize relevance computation....* 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.
| Ludovic Courtès |
2017-09-14 | guix download: Honor mirrors when using '-o'....Previously "guix download -o x mirror://gnu/…" would fail.
* guix/scripts/download.scm (download-to-file): Pass #:mirrors to
'url-fetch'.
| Ludovic Courtès |
2017-09-12 | import: cpan: Replace '(package-license perl) with 'perl-license....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.
| Christopher Baines |
2017-09-12 | store: 'run-with-store' has a #:target parameter....* guix/store.scm (run-with-store): Add #:target and honor it.
| Ludovic Courtès |
2017-09-12 | guix system: Pretty-print device UUIDs....* guix/scripts/system.scm (display-system-generation): Check if
ROOT-DEVICE is a UUID and pretty-print it if it is.
| Ludovic Courtès |
2017-09-11 | download: Adjust main ftp.gnu.org mirror....* guix/download.scm (%mirrors): Add missing "/gnu" in first mirror,
although that mirror would work even without it. Use https instead of
http.
| Ludovic Courtès |
2017-09-11 | gnu-maintenance: Return all the latest tarballs, not just one....* 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.
| Ludovic Courtès |
2017-09-11 | gnu-maintenance: Correctly compare versions....* 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.
| Ludovic Courtès |
2017-09-11 | substitute: Download from unauthorized sources that provide the right content....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.
| Ludovic Courtès |
2017-09-11 | substitute: Make substitute URLs a SRFI-39 parameter....* 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.
| Ludovic Courtès |
2017-09-07 | size: Default to '--sort=self'....* guix/scripts/size.scm (%default-options): Change default value for
'profile<?.
* doc/guix.texi (Invoking guix size): Adjust accordingly.
| Ludovic Courtès |
2017-09-05 | Handle the same HTTP redirects everywhere....* 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.
| Tobias Geerinckx-Rice |
2017-09-05 | guix: Fix Guile current-processor-count deprecation warnings....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).
| Mathieu Othacehe |
2017-09-03 | gnu-maintenance: GNU updater no longer relies on FTP access....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.
| Ludovic Courtès |
2017-09-03 | memoization: (mlambda () ...) allows for inner 'define'....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.
| Ludovic Courtès |
2017-09-03 | build: Fix helpful output for emacs-build-system install phase....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.
| Christopher Baines |