Age | Commit message (Expand) | Author |
2017-10-17 | guix: substitute: Report the last progress in the child process....Fixes <https://bugs.gnu.org/28756>.
* guix/utils.scm (filtered-port): Close the 'input' port for the current
process, and close it upon exit in the child process.
* guix/scripts/substitute.scm (progress-substitution): Display "\n\n" after
the reporter has finished.
| 宋文武 |
2017-10-15 | emacs-build-system: Change how patch-el-files substitutes commands....Previously the regex would match from /bin/ to a closing quote. However, this
is greedy, so will match up until the last ". This causes problems when there
are several quotes on the same line, for example:
org-effectiveness.el:
196: (call-process "/bin/bash" nil t nil "-c" strplot)
Therefore, change . to \S so that it doesn't include whitespace
characters. Changing to a lazy quantifier would be an option, if that were
supported.
* guix/build/emacs-build-system.scm (patch-el-files): Change the regular
expression used.
| Christopher Baines |
2017-10-15 | emacs-build-system: Handle missing programs when patching....Previously the string-append here would error, which isn't useful as it
doesn't tell you which command couldn't be found. To make the error
actionable, catch it earlier, and explicitly error.
* guix/build/emacs-build-system.scm (patch-el-files): Handle (which cmd)
returning #f.
| Christopher Baines |
2017-10-12 | build: Add the Go build system....* guix/build-system/go.scm,
guix/build/go-build-system.scm: New files.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document the go-build-system.
| Leo Famulari |
2017-10-12 | lint: 'home-page' checker reports permanent redirects....* guix/scripts/lint.scm (probe-uri): Add special case for HTTP 301.
(validate-uri): Likewise.
* tests/lint.scm ("home-page: 301, invalid")
("home-page: 301 -> 200", "home-page: 301 -> 404")
("source: 301 -> 200", "source: 301 -> 404"): New tests.
| Ludovic Courtès |
2017-10-12 | tests: Support multiple HTTP server instances....* guix/tests/http.scm (%http-server-socket): Turn into...
(open-http-server-socket): ... this procedure.
(http-server-can-listen?): New procedure.
(http-write, %http-server-lock, %http-server-ready)
(http-open, stub-http-server): Move to 'call-with-http-server' body.
(call-with-http-server): Add #:headers parameter.
(with-http-server): Add an additional pattern with headers.
* tests/derivations.scm: Use (http-server-can-listen?) instead
of (force %http-server-socket).
* tests/lint.scm: Likewise.
| Ludovic Courtès |
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 |