Age | Commit message (Expand) | Author |
2017-06-12 | derivations: Introduce 'read-derivation-from-file'....This avoids the open/fstat/close syscalls upon a cache hit that we had
with the previous idiom:
(call-with-input-file file read-derivation)
where caching happened in 'read-derivation' itself.
* guix/derivations.scm (%read-derivation): Rename to...
(read-derivation): ... this.
(read-derivation-from-file): New procedure.
(derivation-prerequisites, substitution-oracle)
(derivation-prerequisites-to-build):
(derivation-path->output-path, derivation-path->output-paths):
(derivation-path->base16-hash, map-derivation): Use
'read-derivation-from-file' instead of (call-with-input-file …
read-derivation).
* guix/grafts.scm (item->deriver): Likewise.
* guix/scripts/build.scm (log-url, options->things-to-build): Likewise.
* guix/scripts/graph.scm (file->derivation): Remove.
(derivation-dependencies, %derivation-node-type): Use
'read-derivation-from-file' instead.
* guix/scripts/offload.scm (guix-offload): Likewise.
* guix/scripts/perform-download.scm (guix-perform-download): Likewise.
* guix/scripts/publish.scm (load-derivation): Remove.
(narinfo-string): Use 'read-derivation-from-file'.
| Ludovic Courtès |
2017-06-12 | store: Speed up 'add-to-store'....* guix/store.scm (add-to-store): Remove 'lstat' call.
| Ludovic Courtès |
2017-06-10 | bootloader: Rename boot-name to bootloader-name....* gnu/system (<boot-parameters>)[boot-name]: Rename field to...
[bootloader-name]: ... this. Adjust users.
* gnu/scripts/system.scm: Adjust accordingly.
| Mathieu Othacehe |
2017-06-09 | guix: git: Add new module....* guix/git.scm: New file.
* configure.ac: Check for (guile git).
* Makefile.am: Build guix/git.scm if (guile git) is available.
| Mathieu Othacehe |
2017-06-08 | build-system: emacs: Factorize include/exclude default arguments....The `install' phase of the emacs-build-system contained default arguments
duplicated from the host side `emacs-build' procedure. This change factorizes
them so that:
1. They are not duplicated.
2. They can be reused and extended easily when defining emacs packages.
* guix/build/emacs-build-system.scm (%default-include, %default-exclude): New
variables.
(install): Use %default-include and %default-exclude as default arguments.
* guix/build-system/emacs.scm: Use and re-export %default-include,
%default-exclude from (guix build emacs-build-system).
(emacs-build): Use %default-include and %default-exclude as default arguments.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Maxim Cournoyer |
2017-06-07 | import: cpan: Update CPAN importer to use MetaCPAN v1 API....* guix/import/cpan.scm (module->dist-name, cpan-fetch): Use metacpan.org
URLs.
* tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| James Richardson |
2017-06-04 | ssh: Improve error reporting when 'send-files' fails....Fixes <http://bugs.gnu.org/26972>.
* guix/ssh.scm (store-import-channel)[import]: Add 'consume-input'
procedure. Wrap body in 'catch' and 'guard'. Use 'open-remote-pipe'
with OPEN_BOTH instead of 'open-remote-output-pipe'.
(send-files): After the 'channel-send-eof' call, do (read port).
Interpret the result sexp and raise an error condition if needed.
| Ludovic Courtès |
2017-06-04 | scripts: refresh: Add -m manifest option....* guix/scripts/refresh.scm (%options): Add -m option,
(show-help): document it,
(packages-from-manifest): new procedure,
(guix-refresh): use packages from manifest if specified, otherwise
keep the previous behaviour.
* doc/guix.texi (Invoking guix refresh): document new option.
| Mathieu Othacehe |
2017-06-03 | licenses: Add CC-BY 4.0....* guix/licenses.scm (cc-by4.0): New variable.
| Marius Bakke |
2017-06-02 | substitute: Do not display the installed size....* guix/scripts/substitute.scm (process-substitution): Do not show the
installed size in the "Downloading" message.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' warns when we don't have enough disk space....* guix/ui.scm (check-available-space): New procedure.
(show-what-to-build): Compute 'installed-size' and call
'check-available-space'.
| Ludovic Courtès |
2017-06-02 | syscalls: Provide 'free-disk-space'....* guix/build/syscalls.scm (free-disk-space): New procedure.
* guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of
'statfs'.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' displays how much will be downloaded....* guix/ui.scm (show-what-to-build)[download-size]
[display-download-size?]: New variables.
Add cases for when DISPLAY-DOWNLOAD-SIZE? is true.
| Ludovic Courtès |
2017-06-02 | derivations: 'derivation-prerequisites-to-build' returns <substitutable>....* guix/derivations.scm (derivation-prerequisites-to-build): Rename
#:substitutable? to #:substitutable-info.
[derivation-substitutable?]: Rename to...
[derivation-substitutable-info]: ... this. Return a list of <substitutable>.
Second return value is now a list of <substitutable> instead of a list
of strings.
* guix/ui.scm (show-what-to-build)[substitutable?]: Rename to...
[substitutable-info]: ... this.
Adjust to new 'derivation-prerequisites-to-build' return value type.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): Adjust.
("derivation-prerequisites-to-build and substitutes, local build"):
Likewise.
| Ludovic Courtès |
2017-06-02 | derivations: 'substitution-oracle' returns a <substitutable>....* guix/derivations.scm (substitution-oracle): Use
'substitution-path-info' instead of 'substitution-paths'. Turn SUBST
into a vhash from path to <substitutable>. Change the returned
procedure to provide a <substitutable> instead of a Boolean.
* tests/derivations.scm ("substitution-oracle and #:substitute? #f"):
Mock 'substitutable-path-info' instead of 'substitutable-paths'.
| Ludovic Courtès |
2017-05-31 | build: font: Support font collection files....* guix/build/font-build-system.scm (install): Support TrueType
Collection (TTC) and OpenType Collection (OTC) files.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Alex Griffin |
2017-05-30 | git-download: Fix 'git-predicate' to use absolute paths....git ls-files will return paths relative to the repository directory. This
commit prepends the repository directory to those paths when calling lstat,
such that 'git-predicate' works if the current working directory is not the
repository directory.
* guix/git-download.scm (git-predicate): Prepend repository directory to the
file path when calling lstat.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Christopher Baines |
2017-05-30 | download: Work around GnuTLS bug with UTF-8 certificate file names....Reported by Mark H Weaver <mhw@netris.org>
at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26948#17>.
* guix/build/download.scm (set-certificate-credentials-x509-trust-file!*):
New procedure.
(make-credendials-with-ca-trust-files): Use it instead of
'set-certificate-credentials-x509-trust-file!'.
| Ludovic Courtès |
2017-05-28 | scripts: Set thread names....This allows 'guix publish' threads as well as 'guix substitute' and
'guix offload' processes to be properly labeled in 'top', 'pstree', etc.
* guix/workers.scm (worker-thunk): Add #:thread-name parameter and honor it.
(make-pool): Likewise.
* guix/scripts/publish.scm (http-write): Add calls to 'set-thread-name'
in bodies of 'call-with-new-thread'.
(guix-publish): Call 'set-thread-name'. Pass #:thread-name to 'make-pool'.
* guix/scripts/offload.scm (guix-offload): Call 'set-thread-name'.
* guix/scripts/substitute.scm (guix-substitute): Likewise.
| Ludovic Courtès |
2017-05-28 | syscalls: Add 'thread-name' and 'set-thread-name'....* guix/build/syscalls.scm (PR_SET_NAME, PR_GET_NAME)
(%max-thread-name-length): New variables.
(%prctl, set-thread-name, thread-name): New procedures.
* tests/syscalls.scm ("set-thread-name"): New test.
| Ludovic Courtès |
2017-05-28 | build-system: Add 'font-build-system'....* Makefile.am (MODULES): Add 'guix/build-system/font.scm' and
'guix/build/font-build-system.scm'.
* guix/build-system/font.scm: New file.
* guix/build/font-build-system.scm: New file.
* doc/guix.texi (Build Systems): Add 'font-build-system'.
| Arun Isaac |
2017-05-25 | build-system: gnu: Fix cross-gcc call....This is a follow-up to 7b3318e34f4e2743254a88b908859901db960e9a.
* guix/build-system/gnu.scm (standard-cross-packages): Use keyword arguments
in cross-gcc call.
| Ricardo Wurmus |
2017-05-25 | pull: Catch '&missing-dependency-error' raised by 'source-module-closure'....Fixes <http://bugs.gnu.org/26987>.
Reported by Mathieu Othacehe <m.othacehe@gmail.com>.
* guix/build/pull.scm (depends-on-guile-ssh?): Remove.
(has-all-its-dependencies?): New procedure.
(build-guix): Use it to filter source files.
| Ludovic Courtès |
2017-05-25 | modules: Raise an error when a dependency could not be found....* guix/modules.scm (&missing-dependency-error): New error condition.
(source-module-dependencies): Raise it when 'search-path' returns #f.
* tests/modules.scm ("&missing-dependency-error"): New test.
| Ludovic Courtès |
2017-05-25 | base64: Turn into a regular Guile module....* guix/base64.scm: Replace 'library' form with 'define-module'.
| Ludovic Courtès |
2017-05-24 | publish: Do not bake the same item several times....Before this patch, there was a possibility that we'd queue several
baking tasks for the same item. The first one would bake the item but
subsequent tasks wouldn't check whether the item had been baked in the
meantime and would re-bake it.
* guix/scripts/publish.scm (render-narinfo/cached): Don't call
'bake-narinfo+nar' when (file-exists? cached).
| Ludovic Courtès |
2017-05-23 | guix package: Swallow EPIPE upon 'guix package --list-generations'....Fixes <http://bugs.gnu.org/27017>.
Reported by Alex Vong <alexvong1995@gmail.com>.
* guix/scripts/package.scm (process-query) <'list-generations>: Wrap
body in 'leave-on-EPIPE'.
| Ludovic Courtès |
2017-05-23 | packages: Add aarch64-linux to %supported-systems....* guix/packages.scm (%supported-systems): Add aarch64-linux.
(%hydra-supported-systems): Remove aarch64-linux.
| Efraim Flashner |
2017-05-23 | build-system: emacs: Install only a subset of files....* guix/build/emacs-build-system.scm (install): Install files matching
#:include while excluding files matching #:exclude.
* guix/build-system/emacs.scm (emacs-build): Add keyword arguments #:include
and #:exclude.
| Arun Isaac |
2017-05-23 | build: emacs: Fix `store-file->elisp-source-file'....This prevents a ".el.el" extension for source files with no version number in
their file name.
* guix/build/emacs-build-system.scm (store-file->elisp-source-file): Remove
".el" extension from file name before splitting to name and version.
| Arun Isaac |
2017-05-23 | guix: lint: Slightly simplify `check-source-file-name'....* guix/scripts/lint.scm (check-source-file-name): Implement file name matching
with regular expression.
| Arun Isaac |
2017-05-23 | gnu: lint: Fix typo....* guix/scripts/lint.scm (check-source-file-name): Fix wrong return value in
docstring.
| Arun Isaac |
2017-05-22 | Merge branch 'version-0.13.0' | Marius Bakke |
2017-05-21 | guix system: Don't warn about old distros for "guix system init"....* guix/scripts/system.scm (process-action): Don't call
'warn-about-old-distro' when ACTION is 'init' or 'build'.
| Ludovic Courtès |
2017-05-21 | guix system: Increase image size for 'guix system vm'....This is a followup to 9a1bfe764859365b6726f168da95b88a2d22403b.
* guix/scripts/system.scm (system-derivation-for-action): Add 40MiB to
the default size for 'vm'.
| Ludovic Courtès |
2017-05-20 | download: Prune the ImageMagick mirror list....These sites' TLS certificates are invalid.
* guix/download.scm (%mirrors) <imagemagick>: Remove
mirrors-{au,ru,uk}.go-parts.com.
| Leo Famulari |
2017-05-20 | pack: Use 'guile2.0-json' when building with Guile 2.0....Fixes <http://bugs.gnu.org/27005>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
Fixes a regression introduced in commit
2252f087d4bd450ab41a71379320467887edfc0f.
* guix/scripts/pack.scm (docker-image)[json]: New variable.
[build]: Use it.
| Ludovic Courtès |
2017-05-20 | pack: Use 'guile2.0-json' when building with Guile 2.0....Fixes <http://bugs.gnu.org/27005>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
Fixes a regression introduced in commit
2252f087d4bd450ab41a71379320467887edfc0f.
* guix/scripts/pack.scm (docker-image)[json]: New variable.
[build]: Use it.
| Ludovic Courtès |
2017-05-20 | modules: Add more source-less modules....* guix/modules.scm (%source-less-modules): New variable.
(source-module-dependencies): Use it.
| Ludovic Courtès |
2017-05-20 | publish: Fix narinfo rendering for already-compressed items....Fixes <http://bugs.gnu.org/26975>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd
argument to 'stat' and properly handle #f.
* tests/publish.scm (wait-for-file): New procedure.
("with cache"): Remove 'wait-for-file' procedure.
("with cache, uncompressed"): New test.
| Ludovic Courtès |
2017-05-20 | union: Gracefully handle dangling symlinks in the input....Fixes <http://bugs.gnu.org/26949>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
| Ludovic Courtès |
2017-05-20 | profiles: Add elapsed time to manual-database hook to output message....* guix/profiles.scm (manual-database): Add elapsed time to manual-database
hook to output message.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-05-19 | modules: Add more source-less modules....* guix/modules.scm (%source-less-modules): New variable.
(source-module-dependencies): Use it.
| Ludovic Courtès |
2017-05-18 | publish: Fix narinfo rendering for already-compressed items....Fixes <http://bugs.gnu.org/26975>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd
argument to 'stat' and properly handle #f.
* tests/publish.scm (wait-for-file): New procedure.
("with cache"): Remove 'wait-for-file' procedure.
("with cache, uncompressed"): New test.
| Ludovic Courtès |
2017-05-18 | lint: inputs-should-be-native: Add "cmake"....Suggested by Nicolas Goaziou <mail@nicolasgoaziou.fr>.
* guix/scripts/lint.scm (check-inputs-should-be-native)[input-names]:
Add "cmake".
| Ludovic Courtès |
2017-05-18 | union: Gracefully handle dangling symlinks in the input....Fixes <http://bugs.gnu.org/26949>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
| Ludovic Courtès |
2017-05-16 | profiles: Add elapsed time to manual-database hook to output message....* guix/profiles.scm (manual-database): Add elapsed time to manual-database
hook to output message.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-05-16 | import cran: Check if pkg-config is needed....* guix/import/cran.scm (needs-pkg-config?): New procedure.
(description->package): Use it.
| Ricardo Wurmus |
2017-05-16 | import cran: Refactor "needs-zlib?"....* guix/import/cran.scm (tarball-files-match-pattern?): New procedure.
(needs-zlib?): Implement in terms of "tarball-files-match-pattern?".
| Ricardo Wurmus |
2017-05-16 | import cran: Export package predicates....* guix/import/cran.scm (cran-package?, bioconductor-package?,
bioconductor-data-package?, bioconductor-experiment-package?): Export
procedures.
| Ricardo Wurmus |