summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* ui: Remove the empty string from '%load-extensions'.Ludovic Courtès2017-06-15
| | | | * guix/ui.scm (run-guix): Set %LOAD-EXTENSIONS.
* packages: Patches can be any lowerable object.Ludovic Courtès2017-06-15
| | | | | * guix/packages.scm (patch-and-repack)[instantiate-patch]: Replace 'origin?' with 'struct?'.
* guix: Add texlive importer.Ricardo Wurmus2017-06-15
| | | | | | | | | | * guix/import/texlive.scm: New file. * guix/scripts/import/texlive.scm: New file. * Makefile.am (MODULES): Add them. * tests/texlive.scm: New file. * Makefile.am (SCM_TESTS): Add it. * guix/scripts/import.scm (importers): Add texlive importer. * doc/guix.texi (Invoking guix import): Document it.
* build-system: Add 'texlive-build-system'.Ricardo Wurmus2017-06-15
| | | | | | | | | * 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.
* licenses: Add common TeX and LaTeX licenses.Ricardo Wurmus2017-06-15
| | | | | | * 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.
* guix: Add download-svn-to-store.Ricardo Wurmus2017-06-15
| | | | * guix/svn-download.scm (download-svn-to-store): New procedure.
* import: pypi: Always use pypi.io URL with downcased package name.Danny Milosavljevic2017-06-15
| | | | | * guix/import/pypi.scm (make-pypi-sexp): Always use pypi.io URL with downcased package name.
* guix package: '--search' sorts by relevance.Ludovic Courtès2017-06-13
| | | | | | | | | | | | * 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.
* ui: 'package->recutils' takes #:extra-fields.Ludovic Courtès2017-06-13
| | | | * guix/ui.scm (package->recutils): Add #:extra-fields and honor it.
* derivations: Introduce 'read-derivation-from-file'.Ludovic Courtès2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* store: Speed up 'add-to-store'.Ludovic Courtès2017-06-12
| | | | * guix/store.scm (add-to-store): Remove 'lstat' call.
* bootloader: Rename boot-name to bootloader-name.Mathieu Othacehe2017-06-10
| | | | | | * gnu/system (<boot-parameters>)[boot-name]: Rename field to... [bootloader-name]: ... this. Adjust users. * gnu/scripts/system.scm: Adjust accordingly.
* guix: git: Add new module.Mathieu Othacehe2017-06-09
| | | | | | * guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available.
* build-system: emacs: Factorize include/exclude default arguments.Maxim Cournoyer2017-06-08
| | | | | | | | | | | | | | | | | | 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>
* import: cpan: Update CPAN importer to use MetaCPAN v1 API.James Richardson2017-06-07
| | | | | | | | * 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>
* ssh: Improve error reporting when 'send-files' fails.Ludovic Courtès2017-06-04
| | | | | | | | | | 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.
* scripts: refresh: Add -m manifest option.Mathieu Othacehe2017-06-04
| | | | | | | | | * 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.
* licenses: Add CC-BY 4.0.Marius Bakke2017-06-03
| | | | * guix/licenses.scm (cc-by4.0): New variable.
* substitute: Do not display the installed size.Ludovic Courtès2017-06-02
| | | | | * guix/scripts/substitute.scm (process-substitution): Do not show the installed size in the "Downloading" message.
* ui: 'show-what-to-build' warns when we don't have enough disk space.Ludovic Courtès2017-06-02
| | | | | | * guix/ui.scm (check-available-space): New procedure. (show-what-to-build): Compute 'installed-size' and call 'check-available-space'.
* syscalls: Provide 'free-disk-space'.Ludovic Courtès2017-06-02
| | | | | | * guix/build/syscalls.scm (free-disk-space): New procedure. * guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of 'statfs'.
* ui: 'show-what-to-build' displays how much will be downloaded.Ludovic Courtès2017-06-02
| | | | | | * guix/ui.scm (show-what-to-build)[download-size] [display-download-size?]: New variables. Add cases for when DISPLAY-DOWNLOAD-SIZE? is true.
* derivations: 'derivation-prerequisites-to-build' returns <substitutable>.Ludovic Courtès2017-06-02
| | | | | | | | | | | | | | | | * 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.
* derivations: 'substitution-oracle' returns a <substitutable>.Ludovic Courtès2017-06-02
| | | | | | | | | * 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'.
* build: font: Support font collection files.Alex Griffin2017-05-31
| | | | | | | * guix/build/font-build-system.scm (install): Support TrueType Collection (TTC) and OpenType Collection (OTC) files. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* git-download: Fix 'git-predicate' to use absolute paths.Christopher Baines2017-05-30
| | | | | | | | | | | | 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>
* download: Work around GnuTLS bug with UTF-8 certificate file names.Ludovic Courtès2017-05-30
| | | | | | | | | | 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!'.
* scripts: Set thread names.Ludovic Courtès2017-05-28
| | | | | | | | | | | | | 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.
* syscalls: Add 'thread-name' and 'set-thread-name'.Ludovic Courtès2017-05-28
| | | | | | | * 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.
* build-system: Add 'font-build-system'.Arun Isaac2017-05-28
| | | | | | | | * 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'.
* build-system: gnu: Fix cross-gcc call.Ricardo Wurmus2017-05-25
| | | | | | | This is a follow-up to 7b3318e34f4e2743254a88b908859901db960e9a. * guix/build-system/gnu.scm (standard-cross-packages): Use keyword arguments in cross-gcc call.
* pull: Catch '&missing-dependency-error' raised by 'source-module-closure'.Ludovic Courtès2017-05-25
| | | | | | | | | 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.
* modules: Raise an error when a dependency could not be found.Ludovic Courtès2017-05-25
| | | | | | * 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.
* base64: Turn into a regular Guile module.Ludovic Courtès2017-05-25
| | | | * guix/base64.scm: Replace 'library' form with 'define-module'.
* publish: Do not bake the same item several times.Ludovic Courtès2017-05-24
| | | | | | | | | | 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).
* guix package: Swallow EPIPE upon 'guix package --list-generations'.Ludovic Courtès2017-05-23
| | | | | | | | 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'.
* packages: Add aarch64-linux to %supported-systems.Efraim Flashner2017-05-23
| | | | | * guix/packages.scm (%supported-systems): Add aarch64-linux. (%hydra-supported-systems): Remove aarch64-linux.
* build-system: emacs: Install only a subset of files.Arun Isaac2017-05-23
| | | | | | | * 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.
* build: emacs: Fix `store-file->elisp-source-file'.Arun Isaac2017-05-23
| | | | | | | | 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.
* guix: lint: Slightly simplify `check-source-file-name'.Arun Isaac2017-05-23
| | | | | * guix/scripts/lint.scm (check-source-file-name): Implement file name matching with regular expression.
* gnu: lint: Fix typo.Arun Isaac2017-05-23
| | | | | * guix/scripts/lint.scm (check-source-file-name): Fix wrong return value in docstring.
* Merge branch 'version-0.13.0'Marius Bakke2017-05-22
|\
| * guix system: Don't warn about old distros for "guix system init".Ludovic Courtès2017-05-21
| | | | | | | | | | * guix/scripts/system.scm (process-action): Don't call 'warn-about-old-distro' when ACTION is 'init' or 'build'.
| * guix system: Increase image size for 'guix system vm'.Ludovic Courtès2017-05-21
| | | | | | | | | | | | | | This is a followup to 9a1bfe764859365b6726f168da95b88a2d22403b. * guix/scripts/system.scm (system-derivation-for-action): Add 40MiB to the default size for 'vm'.
| * pack: Use 'guile2.0-json' when building with Guile 2.0.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | 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.
| * modules: Add more source-less modules.Ludovic Courtès2017-05-20
| | | | | | | | | | * guix/modules.scm (%source-less-modules): New variable. (source-module-dependencies): Use it.
| * publish: Fix narinfo rendering for already-compressed items.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | 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.
| * union: Gracefully handle dangling symlinks in the input.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * profiles: Add elapsed time to manual-database hook to output message.Maxim Cournoyer2017-05-20
| | | | | | | | | | | | | | * guix/profiles.scm (manual-database): Add elapsed time to manual-database hook to output message. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | download: Prune the ImageMagick mirror list.Leo Famulari2017-05-20
| | | | | | | | | | | | | | These sites' TLS certificates are invalid. * guix/download.scm (%mirrors) <imagemagick>: Remove mirrors-{au,ru,uk}.go-parts.com.