summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-06-15build-system: Add 'texlive-build-system'.Ricardo Wurmus
* guix/build-system/texlive.scm: New file. * guix/build/texlive-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document it. * gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables. (texlife-ref): Remove procedure.
2017-06-15licenses: Add common TeX and LaTeX licenses.Ricardo Wurmus
* guix/licenses.scm (knuth, lppl, lppl1.0+, lppl1.2, lppl1.2+, lppl1.3, lppl1.3+, lppl1.3a, lppl1.3a+, lppl1.3b, lppl1.3b+, lppl1.3c, lppl1.3c+): New variables.
2017-06-15guix: Add download-svn-to-store.Ricardo Wurmus
* guix/svn-download.scm (download-svn-to-store): New procedure.
2017-06-15import: pypi: Always use pypi.io URL with downcased package name.Danny Milosavljevic
* guix/import/pypi.scm (make-pypi-sexp): Always use pypi.io URL with downcased package name.
2017-06-13guix package: '--search' sorts by relevance.Ludovic Courtès
* guix/scripts/package.scm (find-packages-by-description): Rewrite to compute a score based on the number of regexps matched and the number of matches for each regexp. Sort according to this score and return it as a second value. (process-query) <'search>: Capture the two return values of 'find-packages-by-description'. Pass #:extra-fields to 'package->recutils'. * doc/guix.texi (Invoking guix package): Mention relevance, give an example.
2017-06-13ui: 'package->recutils' takes #:extra-fields.Ludovic Courtès
* guix/ui.scm (package->recutils): Add #:extra-fields and honor it.
2017-06-12derivations: Introduce 'read-derivation-from-file'.Ludovic Courtès
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'.
2017-06-12store: Speed up 'add-to-store'.Ludovic Courtès
* guix/store.scm (add-to-store): Remove 'lstat' call.
2017-06-11build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2.Ludovic Courtès
Fixes <http://bugs.gnu.org/27303>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define.
2017-06-11Merge branch 'master' into core-updatesMarius Bakke
Conflicts: * gnu/packages/tls.scm (gnutls): Incorporated 3.5.13 graft (88e2511e217f2).
2017-06-10bootloader: Rename boot-name to bootloader-name.Mathieu Othacehe
* gnu/system (<boot-parameters>)[boot-name]: Rename field to... [bootloader-name]: ... this. Adjust users. * gnu/scripts/system.scm: Adjust accordingly.
2017-06-10Merge branch 'master' into core-updatesMarius Bakke
2017-06-09guix: git: Add new module.Mathieu Othacehe
* guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available.
2017-06-08build-system: emacs: Factorize include/exclude default arguments.Maxim Cournoyer
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>
2017-06-07Merge branch 'master' into core-updatesLeo Famulari
This merge commit includes a fix for CVE-2017-6512 in Perl 5.26.0.
2017-06-07import: cpan: Update CPAN importer to use MetaCPAN v1 API.James Richardson
* 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>
2017-06-04ssh: Improve error reporting when 'send-files' fails.Ludovic Courtès
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.
2017-06-04Merge branch 'master' into core-updatesLeo Famulari
2017-06-04scripts: refresh: Add -m manifest option.Mathieu Othacehe
* 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.
2017-06-03Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/image.scm (incorporated libtiff graft)
2017-06-03licenses: Add CC-BY 4.0.Marius Bakke
* guix/licenses.scm (cc-by4.0): New variable.
2017-06-02substitute: Do not display the installed size.Ludovic Courtès
* guix/scripts/substitute.scm (process-substitution): Do not show the installed size in the "Downloading" message.
2017-06-02ui: 'show-what-to-build' warns when we don't have enough disk space.Ludovic Courtès
* guix/ui.scm (check-available-space): New procedure. (show-what-to-build): Compute 'installed-size' and call 'check-available-space'.
2017-06-02syscalls: Provide 'free-disk-space'.Ludovic Courtès
* guix/build/syscalls.scm (free-disk-space): New procedure. * guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of 'statfs'.
2017-06-02ui: 'show-what-to-build' displays how much will be downloaded.Ludovic Courtès
* guix/ui.scm (show-what-to-build)[download-size] [display-download-size?]: New variables. Add cases for when DISPLAY-DOWNLOAD-SIZE? is true.
2017-06-02derivations: 'derivation-prerequisites-to-build' returns <substitutable>.Ludovic Courtès
* 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.
2017-06-02derivations: 'substitution-oracle' returns a <substitutable>.Ludovic Courtès
* 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'.
2017-06-01utils: Add helper for invoking programs.Danny Milosavljevic
* guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-05-31build: font: Support font collection files.Alex Griffin
* guix/build/font-build-system.scm (install): Support TrueType Collection (TTC) and OpenType Collection (OTC) files. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-05-30build-system/gnu: 'compress-documentation' phase handles double symlinks.Maxim Cournoyer
The compress-documentation phase was breaking recursive symbolic links used for manuals, which was made visible by the `find-files' call in the recently added `manual-database' profile hook. See <http://bugs.gnu.org/26771>. * guix/build/gnu-build-system.scm (compress-documentation) [points-to-symbolic-link?]: New procedure. [maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out symbolic links that shouldn't be retargetted, and re-order the calls to `retarget-symlink' and `documentation-compressor'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-05-30git-download: Fix 'git-predicate' to use absolute paths.Christopher Baines
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>
2017-05-30build-system/cmake: Add support for cross compilation.Ricardo Wurmus
Fixes <https://bugs.gnu.org/26897>. * guix/build-system/gnu.scm: Export standard-cross-packages. * guix/build-system/cmake.scm (cmake-cross-build): New procedure. (lower): Add support for cross-builds. * guix/build/cmake-build-system.scm (configure): Handle "target" argument.
2017-05-30download: Work around GnuTLS bug with UTF-8 certificate file names.Ludovic Courtès
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!'.
2017-05-28scripts: Set thread names.Ludovic Courtès
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.
2017-05-28syscalls: Add 'thread-name' and 'set-thread-name'.Ludovic Courtès
* 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.
2017-05-28build-system: Add 'font-build-system'.Arun Isaac
* 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'.
2017-05-27Merge branch 'master' into core-updatesMark H Weaver
2017-05-26utils: Re-export 'delete'.Sergei Trofimovich
* guix/build/utils.scm: Reexport 'delete' binding. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-05-25build-system: gnu: Fix cross-gcc call.Ricardo Wurmus
This is a follow-up to 7b3318e34f4e2743254a88b908859901db960e9a. * guix/build-system/gnu.scm (standard-cross-packages): Use keyword arguments in cross-gcc call.
2017-05-25pull: Catch '&missing-dependency-error' raised by 'source-module-closure'.Ludovic Courtès
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.
2017-05-25modules: Raise an error when a dependency could not be found.Ludovic Courtès
* 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.
2017-05-25base64: Turn into a regular Guile module.Ludovic Courtès
* guix/base64.scm: Replace 'library' form with 'define-module'.
2017-05-24Merge branch 'master' into core-updatesLeo Famulari
2017-05-24Merge branch 'master' into core-updatesRicardo Wurmus
2017-05-24publish: Do not bake the same item several times.Ludovic Courtès
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).
2017-05-23guix package: Swallow EPIPE upon 'guix package --list-generations'.Ludovic Courtès
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'.
2017-05-23packages: Add aarch64-linux to %supported-systems.Efraim Flashner
* guix/packages.scm (%supported-systems): Add aarch64-linux. (%hydra-supported-systems): Remove aarch64-linux.
2017-05-23build-system: emacs: Install only a subset of files.Arun Isaac
* 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.
2017-05-23build: emacs: Fix `store-file->elisp-source-file'.Arun Isaac
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.
2017-05-23guix: lint: Slightly simplify `check-source-file-name'.Arun Isaac
* guix/scripts/lint.scm (check-source-file-name): Implement file name matching with regular expression.