aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updatesMark H Weaver2017-06-20
|\
| * store: Buffer RPC writes.Ludovic Courtès2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a command like: guix build python2-numpy -n this reduces the number of 'write' syscalls from 9.5K to 2.0K. * guix/store.scm (<nix-server>)[buffer, flush]: New fields. (open-connection): Adjust accordingly. Call 'buffering-output-port' to compute the two new fields. (write-buffered-output, buffering-output-port): New procedures. (operation): Write to (nix-server-output-port server). Call 'write-buffered-output'.
| * build-system/texlive: Update to texlive-2017.1, revision 44591.Ricardo Wurmus2017-06-19
| | | | | | | | | | * guix/build-system/texlive.scm (%texlive-tag): Change to texlive-2017.1. (%texlive-revision): Change to 44591.
* | Merge branch 'master' into core-updatesMark H Weaver2017-06-18
|\|
| * discovery: 'scheme-files' returns '() for a non-accessible directory.Ludovic Courtès2017-06-18
| | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced in d27cc3bfaafe6b5b0831e88afb1c46311d382a0b. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/discovery.scm (scheme-files): Catch 'scandir*' system errors. Return '() and optionally raise a warning upon 'system-error'. * tests/discovery.scm ("scheme-modules, non-existent directory"): New test.
| * syscalls: 'opendir*' error message shows the file name.Ludovic Courtès2017-06-18
| | | | | | | | | | * guix/build/syscalls.scm (opendir*): Add NAME to the 'system-error' message.
| * store: Add an RPC counter.Ludovic Courtès2017-06-16
| | | | | | | | | | | | | | | | * guix/store.scm (%rpc-calls): New variable. (show-rpc-profile, record-operation): New procedures. (operation): Add call to 'record-operation'. * guix/ui.scm (run-guix-command): Wrap COMMAND-MAIN in 'dynamic-wind'. Run EXIT-HOOK.
| * discovery: Rewrite 'scheme-files' using 'scandir*'.Ludovic Courtès2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | On a command like: guix environment --ad-hoc coreutils -- true this reduces the number of 'stat' calls from 14.1K to 9.7K on my setup (previously each getdents(2) call would be followed by one stat(2) call per entry). * guix/discovery.scm (scheme-files): Rewrite using 'scandir*'.
| * syscalls: Add 'scandir*'.Ludovic Courtès2017-06-16
| | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (%struct-dirent-header): New C struct. (string->pointer/utf-8, pointer->string/utf-8): New procedures. (opendir*, closedir*, readdir*, scandir*): New procedures. * tests/syscalls.scm ("scandir*, ENOENT") ("scandir*, ASCII file names", "scandir*, UTF-8 file names") ("scandir*, properties): New tests.
| * 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.
* | build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2.Ludovic Courtès2017-06-11
| | | | | | | | | | | | | | 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-06-11
|\| | | | | | | | | Conflicts: * gnu/packages/tls.scm (gnutls): Incorporated 3.5.13 graft (88e2511e217f2).
| * 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-06-10
|\|
| * 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>
* | Merge branch 'master' into core-updatesLeo Famulari2017-06-07
|\| | | | | | | This merge commit includes a fix for CVE-2017-6512 in Perl 5.26.0.
| * 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.
* | Merge branch 'master' into core-updatesLeo Famulari2017-06-04
|\|
| * 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-06-03
|\| | | | | | | | | | | Conflicts: gnu/packages/image.scm (incorporated libtiff graft)
| * 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'.
* | utils: Add helper for invoking programs.Danny Milosavljevic2017-06-01
| | | | | | | | | | | | * guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* | build-system/gnu: 'compress-documentation' phase handles double symlinks.Maxim Cournoyer2017-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | build-system/cmake: Add support for cross compilation.Ricardo Wurmus2017-05-30
| | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into core-updatesMark H Weaver2017-05-27
|\|
| * 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.