Age | Commit message (Expand) | Author |
2016-06-13 | utils: 'with-atomic-file-output' closes the port upon exception....Previously it could have left the file descriptor open.
* guix/utils.scm (with-atomic-file-output): Call 'close-port' in handler.
| Ludovic Courtès |
2016-06-13 | syscalls: Use 'syscall->procedure' everywhere....* guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces):
(free-ifaddrs): Use 'syscall->procedure'.
| Ludovic Courtès |
2016-06-13 | utils: 'with-atomic-file-output' calls 'fdatasync'....Suggested by Danny Milosavljevic <dannym@scratchpost.org>
at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00456.html>.
* guix/build/syscalls.scm (fdatasync): New procedure.
* guix/utils.scm (with-atomic-file-output): Use it. Use 'close-port'
instead of 'close'.
| Ludovic Courtès |
2016-06-12 | serialization: Add #:select? parameter to 'write-file'....* guix/serialization.scm (write-file): Add #:select? parameter and honor it.
* tests/nar.scm ("write-file #:select? + restore-file"): New test.
| Ludovic Courtès |
2016-06-12 | profiles: Make sure hook derivations fail upon error....Reported at
<https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>.
* guix/profiles.scm (info-dir-file)[build]: Add explicit call to
'exit'.
* guix/profiles.scm (ghc-package-cache-file)[build]: Likewise.
* guix/profiles.scm (xdg-desktop-database)[build]: Likewise.
* guix/profiles.scm (xdg-mime-database)[build]: Likewise.
| Ludovic Courtès |
2016-06-11 | profiles: manifest-lookup-package: Correctly handle package entries....* guix/profiles.scm (manifest-lookup-package): Consider the package entry
in addition to its 'package-transitive-inputs'.
| 宋文武 |
2016-06-11 | profiles: xdg-mime-database: Union the "share/mime/packages" directory....* guix/profiles.scm (xdg-mime-database): Call 'union-build' for the
"share/mime/packages" directory of inputs.
| 宋文武 |
2016-06-09 | publish: Add '--ttl'....* guix/scripts/publish.scm (show-help, %options): Add --ttl.
(render-narinfo): Add #:ttl and honor it.
(make-request-handler): Add #:narinfo-ttl and honor it.
(run-publish-server): Likewise.
(guix-publish): Honor --ttl, pass it to 'run-publish-server'.
| Ludovic Courtès |
2016-06-09 | ui: 'string->duration' supports hours and seconds....* guix/ui.scm (string->duration): Add seconds and hours.
* tests/ui.scm ("duration, 1 second"): New test.
| Ludovic Courtès |
2016-06-08 | publish: Encore URIs that appear in narinfos....Fixes <http://bugs.gnu.org/21888>.
Reported by iyzsong@member.fsf.org (宋文武).
* guix/scripts/publish.scm (narinfo-string): Use
'encode-and-join-uri-path' instead of 'string-append' to compute URL.
* tests/publish.scm ("/*.narinfo with properly encoded '+' sign"):
("/nar/ with properly encoded '+' sign"): New tests.
| Ludovic Courtès |
2016-06-08 | gnu-maintenance: Replace 'find-packages' with 'find-package' (singular)....Fixes <http://bugs.gnu.org/23718>.
Reported by Efraim Flashner <efraim@flashner.co.il>.
* guix/gnu-maintenance.scm (find-packages): Remove.
(find-package): New procedure.
* guix/import/gnu.scm (gnu->guix-package): Use 'find-package' instead of
'find-packages' and adjust accordingly.
| Ludovic Courtès |
2016-06-06 | bournish: Allow compilation of multiple expressions....* guix/build/bournish.scm (%bournish-language): Add a joiner to SCHEME.
Compile only to Scheme.
* tests/bournish.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès |
2016-06-06 | bournish: Handle EOF in the reader....* guix/build/bournish.scm (read-bournish): Add case for EOF.
| Ludovic Courtès |
2016-06-05 | profiles: 'profile-derivation' now honors #:system....Fixes <http://bugs.gnu.org/23682>.
Reported by Ander GM <anthk@openmailbox.org>.
* guix/profiles.scm (profile-derivation): Pass #:system to
'gexp->derivation'.
* tests/guix-environment.sh: Add 'guix environment -s' test.
| Ludovic Courtès |
2016-05-31 | import: github: Tiny cosmetic change....* guix/import/github.scm (find-extension): Use a one-argument lambda.
| Ludovic Courtès |
2016-05-31 | import github: Add to extension list....* guix/import/github.scm (find-extension): Add '.tgz' extension.
| Efraim Flashner |
2016-05-31 | offload: Use (guix build syscalls)....This is a followup to 4e0ea3eb288c2143b44bf324c64047762c72d3b3.
* guix/scripts/offload.scm: Use (guix build syscalls).
| Ludovic Courtès |
2016-05-31 | download: Update CPAN mirrors....* guix/download.scm (mirrors)[cpan]: Add to mirror list.
| Efraim Flashner |
2016-05-30 | build: emacs: Handle sources that are a single elisp file....* guix/build/emacs-build-system.scm (gnu:unpack)
(store-file->elisp-source-file, unpack): New procedures.
(%standard-phases): Use the new unpack procedure.
| David Thompson |
2016-05-30 | download: Update Sourceforge mirrors....* guix/download.scm (mirrors)[sourceforge]: Update mirror list.
| Efraim Flashner |
2016-05-28 | cve: Use a more compact format for the list of package/versions....On a warm cache, "guix lint -c cve vorbis-tools" goes down
from 6.5s to 2.4s.
* guix/cve.scm (cpe->package-name): Change to return two values instead
of a pair.
(cpe->product-alist): New procedure.
(%parse-vulnerability-feed): Use it instead of 'filter-map'.
(fetch-vulnerabilities): Bump sexp format version to 1.
(vulnerabilities->lookup-proc): Adjust accordingly. When #:version is
omitted, return a list of vulnerabilities instead of a list of
version/vulnerability pairs.
* tests/cve.scm (%expected-vulnerabilities)
("vulnerabilities->lookup-proc): Adjust accordingly.
| Ludovic Courtès |
2016-05-27 | guix package: Inherit the transformed version number....Previously, 'guix package -i emacs --with-source=./emacs-42.tar.gz'
would fail to use "42" as the version number in the manifest entry.
Reported by piyo on #guix.
* guix/scripts/package.scm (process-actions)[transform-entry]: Inherit
the version number from the result of TRANSFORM when it's a package.
* tests/guix-package.sh: Test it.
| Ludovic Courtès |
2016-05-27 | download: Default to a 10s connection establishment timeout....* guix/build/download.scm (ftp-fetch): Add #:timeout and pass it to
'ftp-open'.
(http-fetch): Add #:timeout and pass it to 'open-connection-for-uri' and
in recursive calls.
(url-fetch): Add #:timeout and pass it to 'http-fetch' and 'ftp-fetch'.
| Ludovic Courtès |
2016-05-27 | download: Use URI objects for content-addressed mirrors....This fixes a bug whereby 'http-fetch' would be passed a string instead
of a URI object.
* guix/build/download.scm (url-fetch): Rename 'content-addressed-urls'
to 'content-addressed-uris', and call 'string->uri'.
| Ludovic Courtès |
2016-05-26 | cve: Include the 3 previous years of vulnerabilities....* guix/cve.scm (fetch-vulnerabilities): Add 'format' call.
(current-vulnerabilities): Include the 3 previous years.
| Ludovic Courtès |
2016-05-26 | substitute: Internationalize the "Downloading" message....* guix/scripts/substitute.scm (process-substitution): I18n "Downloading"
message.
| Ludovic Courtès |
2016-05-25 | grafts: Create only one grafted variant of each derivation....Currently, with several grafts applicable to Inkscape, this makes:
guix gc -R $(guix build inkscape -d) | wc -l
go from 2376 to 2266 (4.6%).
* guix/grafts.scm (cumulative-grafts): Pass 'graft-derivation/shallow'
the subset of GRAFTS that applies to DRV.
| Ludovic Courtès |
2016-05-25 | guix: ruby-build-system: Extract gemspec during 'extract-gemspec'....* guix/build/ruby-build-system.scm (build): Move extraction from here ...
(extract-gemspec): ... to here. New variable.
(first-gemspec): New variable.
(%standard-phases): Add 'extract-gemspec' phase.
| Ben Woodcroft |
2016-05-24 | graft: Fail when one of the threads raises an exception....Fixes <http://bugs.gnu.org/23581>.
* guix/build/graft.scm (exit-on-exception): New procedure.
(rewrite-directory): Use it to wrap REWRITE-LEAF.
| Ludovic Courtès |
2016-05-24 | size: Pass 'requisites' a list of items....* guix/scripts/size.scm (substitutable-requisites): Change 'item' to
'items' and adjust.
(requisites*): Likewise.
(mappend-map): Remove.
(store-profile): Adjust accordingly.
| Ludovic Courtès |
2016-05-24 | store: 'requisites' now takes a list of store items....* guix/store.scm (fold-path): Change 'path' to 'paths' and adjust body
accordingly.
(requisites): Likewise.
* guix/scripts/environment.scm (inputs->requisites): Adjust
user accordingly.
* guix/scripts/size.scm (requisites*): Likewise.
* guix/scripts/gc.scm (guix-gc): Likewise.
* tests/store.scm ("requisites"): Likewise.
| Ludovic Courtès |
2016-05-24 | size: Accept several arguments....* guix/scripts/size.scm (display-profile): Display WHOLE at then end.
(guix-size): Accept several FILES.
* doc/guix.texi (Invoking guix size): Add example with several items.
| Ludovic Courtès |
2016-05-24 | size: 'store-profile' takes a list of store items....* guix/scripts/size.scm (mappend-map): New procedure.
(store-profile): Change 'item' to 'items' and adjust code accordingly.
(guix-size): Update caller.
* tests/size.scm ("store-profile"): Likewise.
| Ludovic Courtès |
2016-05-24 | ui: Let users report translation bugs....* guix/ui.scm (show-bug-report-information): Add a comment for
translators.
| Mathieu Lirzin |
2016-05-24 | build-system/emacs: Use 'emacs-minimal' by default....* guix/build-system/emacs.scm (default-emacs): Use 'emacs-minimal'.
* gnu/packages/emacs.scm (emacs-auctex): Use 'emacs'.
| Alex Kost |
2016-05-24 | graph: Add 'node-reachable-count'....* guix/graph.scm (node-reachable-count): New procedure.
* tests/graph.scm ("node-reachable-count"): New test.
| Ludovic Courtès |
2016-05-24 | graph: Expose 'traverse/depth-first'....* guix/graph.scm (traverse/depth-first): New procedure, based on code
formerly in 'node-transitive-edges'.
(node-transitive-edges): Rewrite in terms of it.
| Ludovic Courtès |
2016-05-24 | refresh: Make 'list-dependents' a monadic procedure....* guix/scripts/refresh.scm (list-dependents): Remove use of 'with-store'
and 'run-with-store'.
(guix-refresh): Wrap body in with-store/run-with-store.
| Ludovic Courtès |
2016-05-23 | union: Compare inode numbers in 'file=?'....* guix/build/union.scm (file=?): Compare the inode of ST1 and ST2.
| Ludovic Courtès |
2016-05-23 | cve: Remove now unnecessary HTTP caching....* guix/cve.scm (call-with-cve-port): Use 'http-fetch' instead of
'http-fetch/cached'.
| Ludovic Courtès |
2016-05-23 | cve: Keep a summarized sexp in cache instead of the full XML....This avoids ~20s of XML parsing when running 'guix lint -c cve'.
* guix/cve.scm (vulnerability->sexp, sexp->vulnerability)
(fetch-vulnerabilities): New procedures.
(current-vulnerabilities): Use 'fetch-vulnerabilities'.
| Ludovic Courtès |
2016-05-21 | grafts: Rename files whose name matches a graft....Fixes <http://bugs.gnu.org/23132>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/graft.scm (rename-matching-files): New procedure.
(rewrite-directory): Use it.
* tests/grafts.scm ("graft-derivation, renaming"): New test.
| Ludovic Courtès |
2016-05-21 | grafts: Preserve empty directories when grafting....* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for
'directory.
Pass #:directories? #t to 'find-files'.
| Ludovic Courtès |
2016-05-21 | substitute: Gracefully handle invalid store file names....Before, something like:
echo have /gnu/foo | ./test-env guix substitute --query
would lead to an ugly backtrace.
* guix/scripts/substitute.scm (narinfo-cache-file): Call 'leave' when
'store-hash-part' returns #f.
| Ludovic Courtès |
2016-05-21 | graph: Allow store file names for 'derivation' and 'references' graphs....* guix/scripts/graph.scm (%derivation-node-type)[convert]: Add
'derivation-path?' and catch-all clauses.
(%reference-node-type)[convert]: Add 'store-path?' and catch-all
clauses.
(assert-package, nodes-from-package): New procedures.
(%package-node-type, %bag-node-type,%bag-with-origins-node-type)
(%bag-emerged-node-type): Add 'convert' field
(guix-graph): Rename 'packages' to 'items' and
allow 'store-path?' arguments.
* guix/graph.scm (<node-type>)[convert]: Adjust comment.
* doc/guix.texi (Invoking guix graph): Document it.
| Ludovic Courtès |
2016-05-21 | derivations: 'derivation' sorts items in the resulting object....* guix/derivations.scm (derivation-input<?): New procedure.
(write-derivation)[coalesce-duplicate-inputs]: Remove.
Remove calls to 'sort'.
(coalesce-duplicate-inputs): New procedure.
(derivation-hash): Sort INPUTS and use 'coalesce-duplicate-inputs'.
(derivation)[input->derivation-input]
[coalesce-duplicate-inputs]: New procedures.
Sort OUTPUTS, INPUTS, and ENV-VARS.
* tests/derivations.scm ("read-derivation vs. derivation"): New test.
| Ludovic Courtès |
2016-05-21 | graph: Use absolute file name canonicalization....* guix/scripts/graph.scm (guix-graph): Wrap in 'with-fluids'.
| Ludovic Courtès |
2016-05-20 | ant-build-system: Add unpack phase....* guix/build/ant-build-system.scm (unpack): New procedure.
(%standard-phases): Use it.
| Ricardo Wurmus |
2016-05-17 | lint: Honor 'cpe-name' and 'cpe-version' package properties....* guix/scripts/lint.scm (package-name->cpe-name): Remove.
(package-vulnerabilities): Honor 'cpe-name' and 'cpe-version'
properties.
* gnu/packages/grub.scm (grub)[properties]: New field.
* gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and
'cpe-version'.
* doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
| Ludovic Courtès |
2016-05-17 | store: Clarify 'query-path-hash' docstring....* guix/store.scm (query-path-hash): Clarify docstring.
| Ludovic Courtès |