summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-12-01progress: Factorize erase-in-line.Ludovic Courtès
* guix/progress.scm (erase-in-line): New procedure. (progress-reporter/file): Use it.
2017-12-01utils: Add target-arm32? procedure.Mathieu Othacehe
* guix/utils.scm (target-arm32?): New exported procedure.
2017-11-30ui: Present 'use-modules' hints with a question mark.Ludovic Courtès
Suggested by myglc2 <myglc2@gmail.com>. * guix/ui.scm (report-load-error): Write "Did you forget" rather than "Try adding."
2017-11-30build-system: Add scons-build-system.Arun Isaac
* guix/build-system/scons.scm: New file. * guix/build/scons-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add scons-build-system.
2017-11-29gexp: Default to 'guile-2.2' for 'program-file'.Ludovic Courtès
Previously things returned by 'program-file', such as %MODPROBE-WRAPPER in (gnu services), would refer to 'guile-final'. This would introduce 'guile-final' in the system closure, which is otherwise absent. By referring to 'guile-2.2' we remove that extra Guile. * guix/gexp.scm (default-guile): Refer to GUILE-2.2 instead of GUILE-FINAL.
2017-11-29gexp: 'compiled-modules' disables deprecation warnings by default.Ludovic Courtès
This avoids repeated deprecation messages, particularly while running 'guix system build' or similar. * guix/gexp.scm (gexp->derivation): Add #:deprecation-warnings. Pass it to 'compiled-modules'. (compiled-modules): Add #:deprecation-warnings and honor it. * doc/guix.texi (G-Expressions): Update 'gexp->derivation' documentation. * guix/packages.scm (patch-and-repack): Pass #:deprecation-warnings #t.
2017-11-28lint: Adjust file-name length test for out-of-tree file names.Ludovic Courtès
* guix/scripts/lint.scm (check-patch-file-names): Adjust file-name-length calculation.
2017-11-28lint: 'patch-file-names' checks for file name length.Ludovic Courtès
Reported at <https://bugs.gnu.org/27943> by Danny Milosavljevic <dannym@scratchpost.org>. * guix/scripts/lint.scm (%distro-directory): New variable. (check-patch-file-names): Add check for the file name length. * tests/lint.scm ("patches: file name too long"): New test.
2017-11-28ui: Avoid "pkg:out" syntax when reporting collisions.Ludovic Courtès
* guix/ui.scm (call-with-error-handling)[manifest-entry-output*]: New procedure. Use it when reporting collisions.
2017-11-24gnu-maintenance: Relax recursion cutoff in 'latest-ftp-release'.Ludovic Courtès
Fixes <https://bugs.gnu.org/25020>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/gnu-maintenance.scm (latest-ftp-release)[contains-digit?]: Remove. Relax test as to whether to recurse into subdirectories.
2017-11-24ui: 'known-variable-definition' protects against module cycles.Ludovic Courtès
Fixes <https://bugs.gnu.org/29358>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/ui.scm (known-variable-definition): Add 'visited' set to guard against cycles on 2.0.
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>