summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2016-05-26substitute: Internationalize the "Downloading" message.Ludovic Courtès
* guix/scripts/substitute.scm (process-substitution): I18n "Downloading" message.
2016-05-25grafts: Create only one grafted variant of each derivation.Ludovic Courtès
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.
2016-05-25guix: ruby-build-system: Extract gemspec during 'extract-gemspec'.Ben Woodcroft
* 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.
2016-05-24graft: Fail when one of the threads raises an exception.Ludovic Courtès
Fixes <http://bugs.gnu.org/23581>. * guix/build/graft.scm (exit-on-exception): New procedure. (rewrite-directory): Use it to wrap REWRITE-LEAF.
2016-05-24size: Pass 'requisites' a list of items.Ludovic Courtès
* guix/scripts/size.scm (substitutable-requisites): Change 'item' to 'items' and adjust. (requisites*): Likewise. (mappend-map): Remove. (store-profile): Adjust accordingly.
2016-05-24store: 'requisites' now takes a list of store items.Ludovic Courtès
* 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.
2016-05-24size: Accept several arguments.Ludovic Courtès
* 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.
2016-05-24size: 'store-profile' takes a list of store items.Ludovic Courtès
* 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.
2016-05-24ui: Let users report translation bugs.Mathieu Lirzin
* guix/ui.scm (show-bug-report-information): Add a comment for translators.
2016-05-24build-system/emacs: Use 'emacs-minimal' by default.Alex Kost
* guix/build-system/emacs.scm (default-emacs): Use 'emacs-minimal'. * gnu/packages/emacs.scm (emacs-auctex): Use 'emacs'.
2016-05-24graph: Add 'node-reachable-count'.Ludovic Courtès
* guix/graph.scm (node-reachable-count): New procedure. * tests/graph.scm ("node-reachable-count"): New test.
2016-05-24graph: Expose 'traverse/depth-first'.Ludovic Courtès
* guix/graph.scm (traverse/depth-first): New procedure, based on code formerly in 'node-transitive-edges'. (node-transitive-edges): Rewrite in terms of it.
2016-05-24refresh: Make 'list-dependents' a monadic procedure.Ludovic Courtès
* 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.
2016-05-23union: Compare inode numbers in 'file=?'.Ludovic Courtès
* guix/build/union.scm (file=?): Compare the inode of ST1 and ST2.
2016-05-23cve: Remove now unnecessary HTTP caching.Ludovic Courtès
* guix/cve.scm (call-with-cve-port): Use 'http-fetch' instead of 'http-fetch/cached'.
2016-05-23cve: Keep a summarized sexp in cache instead of the full XML.Ludovic Courtès
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'.
2016-05-21grafts: Rename files whose name matches a graft.Ludovic Courtès
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.
2016-05-21grafts: Preserve empty directories when grafting.Ludovic Courtès
* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for 'directory. Pass #:directories? #t to 'find-files'.
2016-05-21substitute: Gracefully handle invalid store file names.Ludovic Courtès
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.
2016-05-21graph: Allow store file names for 'derivation' and 'references' graphs.Ludovic Courtès
* 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.
2016-05-21derivations: 'derivation' sorts items in the resulting object.Ludovic Courtès
* 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.
2016-05-21graph: Use absolute file name canonicalization.Ludovic Courtès
* guix/scripts/graph.scm (guix-graph): Wrap in 'with-fluids'.
2016-05-20ant-build-system: Add unpack phase.Ricardo Wurmus
* guix/build/ant-build-system.scm (unpack): New procedure. (%standard-phases): Use it.
2016-05-17lint: Honor 'cpe-name' and 'cpe-version' package properties.Ludovic Courtès
* 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'.
2016-05-17store: Clarify 'query-path-hash' docstring.Ludovic Courtès
* guix/store.scm (query-path-hash): Clarify docstring.
2016-05-17import: Gracefully report import failures.Ludovic Courtès
Previously, something like 'guix import gnu which' would spit out a backtrace if, say, the 'which' tarball could not be authenticated. * guix/upstream.scm (download-tarball): Mention failure modes in docstring. * guix/import/gnu.scm (gnu-package->sexp): Return #f when 'download-tarball' returns #f. * guix/scripts/import.scm (guix-import): Call 'leave' when IMPORTER does not return a (package ...) sexp.
2016-05-17import: Exit with non-zero when an unknown importer is asked.Ludovic Courtès
* guix/scripts/import.scm (guix-import): Use 'leave' instead of 'format' when IMPORTER is unknown.
2016-05-16import cran: latest-bioconductor-release: Wrap Bioconductor URL in list.Ricardo Wurmus
* guix/import/cran.scm (latest-bioconductor-release): Wrap Bioconductor URL in list in the "urls" field of the "upstream-source" value.
2016-05-16import cran: Use URL for Bioconductor 3.3.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-svn-url): Update to release URL for version 3.3.
2016-05-16build: Accept dates with space-padded hour field.Ricardo Wurmus
* guix/build/download.scm: Replace "parse-rfc-822-date" from the (web http) module.
2016-05-16download: Update debian mirrors.Efraim Flashner
* guix/download.scm (mirrors)[debian]: Add Debian's archive to the Debian mirror list.
2016-05-14download: Support content-addressed mirrors.Ludovic Courtès
* guix/download.scm (%content-addressed-mirrors) (%content-addressed-mirror-file): New variables. * guix/download.scm (url-fetch)[builder]: Define 'value-from-environment. Pass #:hashes and #:content-addressed-mirrors to 'url-fetch'. Define "guix download hashes" environment variable. * guix/build/download.scm (url-fetch): Add #:content-addressed-mirrors and #:hashes. [content-addressed-urls]: New variable. Use it.
2016-05-14guix build: Catch 'getaddrinfo-error' for '--log-file'.Ludovic Courtès
* guix/scripts/build.scm (log-url)[valid-url?]: Catch 'getaddrinfo-error'.
2016-05-14guix build: Do not show what to build when '-d' is used.Ludovic Courtès
* guix/scripts/build.scm (guix-build): Don't call 'show-what-to-build' when OPTS contains 'derivations-only?'.
2016-05-11Merge branch 'master' into gnome-updatesMark H Weaver
2016-05-09guix: utils: Re-export 'memoize'.Alex Kost
Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/utils.scm: Re-export 'memoize' to avoid a potential breakage of emacs interface. See <http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00146.html> for details.
2016-05-08Merge branch 'master' into gnome-updates宋文武
2016-05-06syscalls: Use 'define-c-struct' for 'fcntl-flock'.Ludovic Courtès
* guix/build/syscalls.scm (%struct-flock): Use 'define-c-struct'. (fcntl-flock): Use 'write-flock!' and 'make-bytevector' instead of 'make-c-struct'.
2016-05-06utils: Move 'fcntl-flock' to (guix build syscalls).Ludovic Courtès
* guix/utils.scm (%struct-flock, F_SETLKW, F_SETLK, F_xxLCK) (fcntl-flock): Move to... * guix/build/syscalls.scm: ... here. New variables. * guix/nar.scm: Adjust imports accordingly. * tests/utils.scm ("fcntl-flock wait", "fcntl-flock non-blocking"): Move to... * tests/syscalls.scm: ... here. New tests. (temp-file): New variable.
2016-05-04utils: Move combinators to (guix combinators).Ludovic Courtès
* guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
2016-05-04utils: Remove 'split'.Ludovic Courtès
This procedure was redundant with SRFI-1's 'break'. * guix/utils.scm (split): Remove. * tests/utils.scm ("split, element is in list") ("split, element is not in list"): Remove.
2016-05-04environment: Use 'break' instead of 'split'.Ludovic Courtès
* guix/scripts/environment.scm (parse-args): Use 'break' instead of 'split'.
2016-05-04services: herd: Move UI handling to 'guix system'.Ludovic Courtès
This makes (gnu services herd) independent of (guix ui). * gnu/services/herd.scm (&shepherd-error, &service-not-found-error) (&action-not-found-error, &action-exception-error) (&unknown-shepherd-error): New error condition types. (report-action-error): Remove. (raise-shepherd-error): New procedure. (display-message): Do not use 'info' and '_'. (invoke-action): Use 'raise-shepherd-error' instead of 'report-action-error'. Do not use 'warning'. (current-services): Do not use 'warning'. * guix/scripts/system.scm (with-shepherd-error-handling): New macro. (report-shepherd-error, call-with-service-upgrade-info): New procedures. (upgrade-shepherd-services): Use it.
2016-05-04Merge branch 'master' into gnome-updatesMark H Weaver
2016-05-03syscalls: Wrap TCSA* constants in 'tcsetattr-action' macro.Ludovic Courtès
* guix/build/syscalls.scm (tcsetattr-action): New macro. (TCSANOW, TCSADRAIN, TCSAFLUSH): Remove. (tcsetattr): Adjust docstring accordingly. * tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
2016-05-02profiles: Factor out 'manifest-lookup-package'.宋文武
* guix/profiles.scm (manifest-lookup-package): New procedure. (gtk-icon-themes, xdg-desktop-database, xdg-mime-database): Use it.
2016-05-02profiles: Add xdg-mime-database hook.宋文武
* guix/profiles.scm (xdg-mime-database): New function. (%default-profile-hooks): Add it.
2016-05-02profiles: Add xdg-desktop-database hook.宋文武
* guix/profiles.scm (xdg-desktop-database): New function. (%default-profile-hooks): Add it.
2016-05-02syscalls: Add 'tcgetattr' and 'tcsetattr' bindings.Ludovic Courtès
* guix/build/syscalls.scm (bits->symbols-body, define-bits) (local-flags): New macros. (TCSANOW, TCSADRAIN, TCSAFLUSH): New variables. (<termios>): New record type. (%termios): New C structure. (tcgetattr, tcsetattr): New procedures. * tests/syscalls.scm ("tcgetattr ENOTTY", "tcgetattr") ("tcsetattr"): New tests.
2016-05-02syscalls: Implement arrays in 'define-c-struct' and use it.Ludovic Courtès
* guix/build/syscalls.scm (sizeof*, alignof*, write-type, read-type): Add support for (array ...) forms. * guix/build/syscalls.scm (<file-system>)[spare0, spare1]: Remove. [spare]: New field. * guix/build/syscalls.scm (%statfs)[identifier]: Change to (array int 2). [spare0, spare1]: Remove. [spare]: New field.