summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-11-21Revert "Add (guix self) and use it when pulling."Ludovic Courtès
This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61. 'guix pull' would fail because (guix self) needs 'scheme-files' from (guix discovery), which was not exported until now.
2017-11-21Add (guix self) and use it when pulling.Ludovic Courtès
This mitigates <https://bugs.gnu.org/27284>. * guix/self.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/build-self.scm (libgcrypt, zlib, gzip, bzip2, xz) (false-if-wrong-guile, package-for-current-guile, guile-json) (guile-ssh, guile-git, guile-bytestructures): Remove. (build): Rewrite to simply delegate to 'compiled-guix'. * gnu/packages.scm (%distro-root-directory): Rewrite to try different directories. * guix/discovery.scm (guix): Export 'scheme-files'. * guix/scripts/pull.scm (build-and-install): Split into... (install-latest): ... this. New procedure. And... (build-and-install): ... this, which now takes a monadic value argument. (indirect-root-added): Remove. (guix-pull): Call 'add-indirect-root'. Call 'build-from-source' and pass the result to 'build-and-install'.
2017-11-21git: Do not add '.git' to the store.Ludovic Courtès
This makes 'latest-repository-commit' significantly more efficient and reduces disk usage in the store. * guix/git.scm (copy-to-store)[dot-git?]: New procedure. Pass it as the #:select? argument to 'add-to-store'.
2017-11-21pull: Trim import list.Ludovic Courtès
* guix/scripts/pull.scm: Remove useless imports.
2017-11-21gexp: 'directory-union' has a #:quiet? parameter.Ludovic Courtès
* guix/gexp.scm (directory-union): Add #:quiet? and honor it.
2017-11-21union: Parametrize the symlink procedure .Ludovic Courtès
* guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter.
2017-11-20compile: Put an upper bound on the number of workers.Ludovic Courtès
* guix/build/compile.scm (compile-files): Don't use more than 8 workers.
2017-11-20Add semicolon in commands that set GUIX_PROFILE.Ludovic Courtès
Fixes <https://bugs.gnu.org/28223>. Reported by Rosebud Uplink <Uplink.Introversion@outlook.com>. * doc/guix.texi (Binary Installation): Add missing semicolon after 'GUIX_PROFILE=' line. (Invoking guix package): Likewise. * gnu/system.scm (operating-system-etc-service)[profile]: Likewise. * guix/build/profiles.scm (build-etc/profile): Likewise.
2017-11-19zlib: Fix race condition when closing gzip ports.Ludovic Courtès
Fixes <https://bugs.gnu.org/29335>. * guix/zlib.scm (close-procedure): Remove. (make-gzip-input-port): Do (dup (fileno port)) to get a file descriptor for 'gzdopen'. Close PORT before returning. Use 'gzclose' as the 'close' procedure of the returned port. (make-gzip-output-port): Likewise.
2017-11-19ssh: Use (guix i18n).Ludovic Courtès
* guix/ssh.scm: Use (guix i18n) instead of (guix ui).
2017-11-18licenses: Add cddl1.1.Julien Lepiller
* guix/licenses.scm (cddl1.1): New variable.
2017-11-18build-system: texlive: Only make a union of directories.Ricardo Wurmus
* guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded.
2017-11-17build-system/go: Don't let Go executables refer to the Go compiler.Leo Famulari
* guix/build/go-build-system.scm (remove-store-reference, remove-go-references): New procedures. (%standard-phases): Add 'remove-go-references' phase. * guix/build-system/go.scm (go-build): Add allow-go-reference? key.
2017-11-17workers: Display backtrace in pre-unwind handler.Ludovic Courtès
* guix/workers.scm (worker-thunk): Add (const #f) as the 'catch' handler, and move previous handler as pre-unwind handler. Protect against 'make-stack' returning #f.
2017-11-17workers: 'pool-idle?' returns true only if the workers are idle.Ludovic Courtès
Fixes <https://bugs.gnu.org/28779>. Reported by Eric Bavier <bavier@cray.com>. * guix/workers.scm (<pool>)[busy]: New field. (worker-thunk): Add #:idle and #:busy and use them. (make-pool): Pass #:busy and #:idle to 'worker-thunk'. Pass a 'busy' value to '%make-pool'. * guix/workers.scm (pool-idle?): Check whether 'pool-busy' returns zero and adjust docstring.
2017-11-16ui: Add source file name to the package search metrics.Ludovic Courtès
* guix/ui.scm (%package-metrics): Include 'package-location'. Increase score of the other fields.
2017-11-16cve: Use 'http-fetch/cached' instead of having custom caching.Ludovic Courtès
That way CVE fetching benefits from 'If-Modified-Since' handling. * guix/http-client.scm (http-fetch/cached): Add #:write-cache and #:cache-miss parameters and honor them. * guix/cve.scm (%current-year-ttl, %past-year-ttl): Reduce. (call-with-cve-port): Remove. (write-cache): New procedure. (fetch-vulnerabilities): Rewrite in terms of 'http-fetch/cached'.
2017-11-16download: Improve efficiency of 'write-request' over TLS.Ludovic Courtès
This is another instance of <https://bugs.gnu.org/22966>. The Microsoft-IIS/7.5 server at static.nvd.nist.gov would sometimes hang when receiving our requests byte by byte. * guix/build/download.scm (tls-wrap) [!guile-2.0]: Add 'setvbuf' call.
2017-11-14download: Pass the timeout to 'ftp-retr'.Ludovic Courtès
This ensures the timeout applies when connecting to the port returned by PASV. * guix/ftp-client.scm (ftp-list): Add #:timeout parameter. Use 'connect*' instead of 'connect' and pass TIMEOUT. (ftp-retr): Likewise. * guix/build/download.scm (ftp-fetch): Pass TIMEOUT to 'ftp-retr'.
2017-11-14grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.Leo Famulari
* guix/build/graft.scm (mkdir-p*): Annotate.
2017-11-12download: Use HTTPS for the first ImageMagick mirror.Leo Famulari
* guix/download.scm (%mirrors)[imagemagick]: Use HTTPS for <sunsite.icm.edu.pl>.
2017-11-12download: Try FTP servers last.Leo Famulari
* guix/download.scm (%mirrors)[savannah, kernel.org, apache, xorg, imagemagick]: Re-arrange so that FTP is last.
2017-11-11git: Check whether 'clone-init-options' is defined.Ludovic Courtès
This is a followup to 195f0d05c3f64e17e84b2683a7045a14ec578d61. * guix/git.scm (clone*): Check whether 'clone-init-options' is defined before using it.
2017-11-11download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès
Reported by Mark H Weaver <mhw@netris.org> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00190.html>. * guix/build/download.scm (guile-2.2) [write-request-line]: Backport Guile commit 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143.
2017-11-10download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès
Reported by Konrad Hinsen <konrad.hinsen@fastmail.net> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>. * guix/build/download.scm (write-request-line) [guile-2.2]: New procedure.
2017-11-10git: Work around wrong default argument of 'clone'.Ludovic Courtès
Fixes <https://bugs.gnu.org/29238>. Reported by Benjamin Andresen <benny@in-ulm.de>. * guix/git.scm (clone*): Pass second argument to 'clone'.
2017-11-09ui: Add an 'unbound-variable' exception printer.Ludovic Courtès
* guix/ui.scm (print-unbound-variable-error): New variable. Use it as the 'unbound-variable' printer.
2017-11-09ui: Provide hints for unbound-variable errors.Ludovic Courtès
* guix/ui.scm (known-variable-definition): New procedure. (report-load-error): Handle 'unbound-variable'.
2017-11-09ui: Add 'display-hint'.Ludovic Courtès
* guix/ui.scm (known-variable-definition): New procedure. (report-load-error): Use it.
2017-11-08ui: Define and honor '&error-location' and '&fix-hint' conditions.Ludovic Courtès
* guix/utils.scm (&error-location, &fix-hint): New condition types. * guix/ui.scm (report-load-error): Handle them. (call-with-error-handling): Honor '&error-location'.
2017-11-08ui: Introduce (guix i18n).Ludovic Courtès
* guix/ui.scm (G_, N_, _P, %gettext-domain, %package-text-domain): Move to... * guix/i18n.scm: ... here. New file.
2017-11-07guix: Add archive support for bioconductor-uri.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Also return the archive URL. * guix/import/cran.scm (latest-bioconductor-release, fetch-description): Adjust because bioconductor-uri now returns a list.
2017-11-07import: cran: Use Bioconductor 3.6 helpers.Ricardo Wurmus
* guix/import/cran.scm (bioconductor-mirror-url): Remove procedure. (fetch-description): Extract DESCRIPTION file from tarball for Bioconductor packages. (latest-bioconductor-release): Use latest-bioconductor-package-version.
2017-11-07import: cran: Add support for Bioconductor 3.6.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version, %bioconductor-packages-list-url): New variables. (bioconductor-packages-list, latest-bioconductor-package-version): New procedures.
2017-11-07import: utils: Add string helpers.Ricardo Wurmus
* guix/import/utils.scm (read-lines, chunk-lines): New procedures.
2017-11-07refresh: Account for hidden packages.Ludovic Courtès
Suggested by Marius Bakke <mbakke@fastmail.com> in <https://bugs.gnu.org/29177>. * guix/scripts/refresh.scm (all-packages): Pass #:select? to 'fold-packages'.
2017-11-07compile: Fix VPATH builds.Ludovic Courtès
Fixes <https://bugs.gnu.org/29091>. Reported by Eric Bavier <bavier@cray.com>. * guix/build/compile.scm (relative-file): New procedure. (load-files): Use it before calling 'file-name->module-name'. (compile-files): Likewise before calling 'scm->go'. * guix/build/pull.scm (build-guix): Remove 'with-directory-excursion' and file name hack from ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8. Pass OUT to 'all-scheme-files'.
2017-11-07Fix ambiguous imports.Ludovic Courtès
* gnu/packages/ocaml.scm: Hide 'zip' from (srfi srfi-1). * guix/git.scm: Select 'mkdir-p' from (guix build utils).
2017-11-05guix: records: Add match-record.nee
* guix/records.scm: New syntax-rule. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-11-01download: Refresh the cpan.org mirror list.Tobias Geerinckx-Rice
* guix/download.scm (%mirrors)[cpan]: Update the list of CPAN mirrors (of which several are dead) with a more-or-less geographically diverse selection.
2017-10-30Revert "import: cpan: Use HTTPS for home pages."Tobias Geerinckx-Rice
This reverts commit 29f7bf59d5d4d4b848eaedc6766bb4e02cae20d3: HTTPS support at search.cpan.org is unreliable, at best. Don't rely on it.
2017-10-29import: cpan: Use HTTPS for home pages.Tobias Geerinckx-Rice
* guix/import/cpan.scm (cpan-home): Use HTTPS. * tests/cpan.scm ("cpan->guix-package"): Expect it.
2017-10-29import: cpan: Actually use CPAN-HOME.Tobias Geerinckx-Rice
* guix/import/cpan.scm (cpan-module->sexp): Use the CPAN-HOME procedure.
2017-10-29import: cpan: Add trailing "/" to CPAN-HOME.Tobias Geerinckx-Rice
Prevent regression after commit e4bc1727302b0e1e255ea5cf4e2ccf33cafe7296. * guix/import/cpan.scm (cpan-home): Add trailing "/".
2017-10-28import: cpan: Add trailing "/" on home-page.Eric Bavier
This appeases 'guix lint', which otherwise complains about permanent redirects. * guix/import/cpan.scm (cpan-module->sexp): Add trailing "/" on home-page. * tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.
2017-10-28import: cpan: Propagate imported dependencies.Eric Bavier
This is most often the need for perl module dependencies. * guix/import/cpan.scm (cpan-module->sexp): 'inputs -> 'propagated-inputs. * tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.
2017-10-28graph: Remove mention of Graphviz from the summary line.Ludovic Courtès
* guix/scripts/graph.scm (show-help): Remove mention of Graphviz from the summary line.
2017-10-28import: elpa: Do not abort when failing to download the archive.Ludovic Courtès
* guix/import/elpa.scm (elpa-fetch-archive): Use 'http-fetch/cached' directly instead of 'call-with-downloaded-file'. This ensures we don't just abort when networking access is lacking, which is required to allow 'guix refresh -c refresh' to proceed.
2017-10-28import: github: Gracefully handle multiple-URL origins.Ludovic Courtès
* guix/import/github.scm (latest-release)[origin-github-uri]: New procedure. Use it.
2017-10-28lint: 'refresh' gracefully handles lack of networking access.Ludovic Courtès
* guix/scripts/lint.scm (check-for-updates): Wrap 'package-latest-release*' call in 'with-networking-fail-safe'.