summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* syscalls: 'terminal-columns' ignores non-file ports.Ludovic Courtès2016-04-16
| | | | | | * guix/build/syscalls.scm (terminal-columns): Call 'terminal-window-size' only when PORT is a file port. * tests/syscalls.scm ("terminal-columns non-file port"): New test.
* substitute: Honor the number of columns of the client terminal.Ludovic Courtès2016-04-15
| | | | | | | * guix/store.scm (set-build-options): Add #:terminal-columns parameter and honor it. * guix/scripts/substitute.scm (client-terminal-columns): New procedure. (guix-substitute): Use it to parameterize 'current-terminal-columns'.
* guix download: Honor the number of columns of the terminal.Ludovic Courtès2016-04-15
| | | | | * guix/scripts/download.scm (guix-download): Parameterize 'current-terminal-columns'.
* ui: Use 'terminal-columns'.Ludovic Courtès2016-04-15
| | | | * guix/ui.scm (%text-width): Default to (terminal-columns).
* ui: 'package->recutils' accurately honors the number of columns.Ludovic Courtès2016-04-15
| | | | | * guix/ui.scm (package->recutils)[width*]: New variable. Use it instead of WIDTH.
* syscalls: Add TIOCGWINSZ bindings.Ludovic Courtès2016-04-15
| | | | | | | | * guix/build/syscalls.scm (TIOCGWINSZ): New macro. (<window-size>): New record type. (winsize): New C struct. (winsize-struct): New variable. (terminal-window-size, terminal-columns): New procedures.
* download: Add 'current-terminal-columns' parameter.Ludovic Courtès2016-04-15
| | | | | * guix/build/download.scm (current-terminal-columns): New variable. (progress-proc): Use it instead of the hard-coded "80".
* download: Send an ANSI erase-in-line sequence in addition to CR.Ludovic Courtès2016-04-15
| | | | | | | | Partly fixes <http://bugs.gnu.org/22536>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * guix/build/download.scm (progress-proc): Send an ANSI erase-in-line sequence.
* gnu-maintenance: Move FTP directory info to 'properties' fields.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | | | | | | | * guix/gnu-maintenance.scm (ftp-server/directory): Rewrite to honor PACKAGE's properties. Remove list of quirks. (releases): Add #:server and #:directory parameters. Remove call to 'ftp-server/directory'. (latest-release): Likewise. (latest-release*): Add call to 'ftp-server/directory'. Honor 'upstream-name' property of PACKAGE. * gnu/packages/fonts.scm (font-gnu-freefont-ttf): Add 'properties' field. * gnu/packages/gnupg.scm (libgpg-error, libgcrypt, libassuan): (libksba, gnupg): Likewise. * gnu/packages/gnuzilla.scm (icecat): Likewise. * gnu/packages/package-management.scm (guix-0.10.0): Likewise. * gnu/packages/pretty-print.scm (source-highlight): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. * gnu/packages/telephony.scm (ucommon): Likewise. * gnu/packages/tls.scm (gnutls): Likewise.
* gnu-maintenance: Recognize source tarball with "-src" in their name.Ludovic Courtès2016-04-15
| | | | | * guix/gnu-maintenance.scm (tarball->version): Add special case for tarball names containing "-src".
* upstream: Pass a package object to updaters.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | * guix/upstream.scm (package-update-path): Pass PACKAGE to 'latest-release'. * guix/gnu-maintenance.scm (latest-release*) (latest-gnome-release, latest-xorg-release): Adjust accordingly. * guix/import/cran.scm (latest-cran-release): (latest-bioconductor-release): Likewise. * guix/import/elpa.scm (latest-release): Likewise. * guix/import/gem.scm (latest-release): Likewise. * guix/import/github.scm (latest-release): Likewise. * guix/import/hackage.scm (latest-release): Likewise. * guix/import/pypi.scm (latest-release): Likewise.
* lint: Emit an ANSI erase-in-line sequence.Danny Milosavljevic2016-04-14
| | | | | | | * guix/scripts/lint.scm (run-checkers): Add '\x1b[K' to progress messages and after 'for-each'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* download: Follow HTTP 307 "Temporary Redirection".Alex Kost2016-04-14
| | | | | | | | Fixes <http://bugs.gnu.org/23275>. Reported by Albin Söderqvist <albin@fripost.org>. * guix/build/download.scm (http-fetch): Follow redirections upon 307. This is what 'binaries.openttd.org' does.
* gnu-maintenance: update-package-source: Only update the desired package.宋文武2016-04-13
| | | | | | | Fixes <http://bugs.gnu.org/22693>. Suggested by Andy Wingo. * guix/upstream.scm (update-package-source): Rewrite in terms of 'edit-expression'.
* utils: Add 'location->source-properties'.宋文武2016-04-13
| | | | * guix/utils (location-source->properties): New procedure.
* utils: Add 'edit-expression'.宋文武2016-04-13
| | | | | * guix/utils.scm (edit-expression): New procedure. * tests/utils.scm (edit-expression): New test.
* environment: container: Work around read-only /etc/resolv.conf issue.David Thompson2016-04-07
| | | | | * guix/scripts/environment.scm (launch-environment/container): Mount /etc/resolv.conf as a writable file.
* challenge: Really exit with non-zero upon hash mismatch.Ludovic Courtès2016-04-06
| | | | | | | | | | Reported by John Darrington. * guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit' call when ISSUES is empty. * scripts/guix.in: Add comment about 'exit'. * doc/guix.texi (Invoking guix challenge): Mention the behavior and exit code.
* emacs: Use 'build-and-use-profile' from (guix scripts package).Alex Kost2016-04-04
| | | | | * guix/scripts/package.scm: Export 'build-and-use-profile'. * emacs/guix-main.scm (process-package-actions): Use it.
* graph: Edges are colored based on their source node.Ludovic Courtès2016-04-02
| | | | | | * guix/graph.scm (%colors): New variable. (pop-color): New procedure. (emit-edge): Use it.
* cvs: Disable compression.Ludovic Courtès2016-04-01
| | | | | | Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * guix/build/cvs.scm (cvs-fetch): Use -z0.
* cvs: Allow checkouts when /tmp is a different device.Jan Nieuwenhuizen2016-04-01
| | | | | | | * guix/build/cvs.scm (cvs-fetch): Use 'copy-recursively' instead of 'rename-file'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* profiles: Use the right 'package-name->name+version'.Ludovic Courtès2016-04-01
| | | | | * guix/profiles.scm: Use 'package-name->name+version' from (guix build utils). Fixes 'find-among-store-items' in 'gtk-icon-themes'.
* ant-build-system: Keep jar manifest.Ricardo Wurmus2016-03-31
| | | | | | * guix/build/ant-build-system.scm (default-build.xml): Generate default manifest. (strip-jar-timestamps): Repack jar archive with zip.
* build-system/ant: Add zip.Ricardo Wurmus2016-03-31
| | | | | * guix/build-system/ant.scm (default-zip): New variable. (lower): Add zip to native inputs.
* build-system/r: Support "substitutable?" flag.Ricardo Wurmus2016-03-31
| | | | * guix/build-system/r.scm (r-build): Support the "substitutable?" flag.
* licenses: Add the nmap license.Leo Famulari2016-03-31
| | | | * guix/licenses.scm (nmap): New variable.
* import: Add Hackage updater.Eric Bavier2016-03-30
| | | | | | | | * guix/import/hackage.scm (guix-package->hackage-name, hackage-package?) (latest-release): New procedures. (%hackage-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add it. * doc/guix.texi (Invoking guix refresh): Mention it.
* import: hackage: Silence download output.Eric Bavier2016-03-30
| | | | | * guix/import/hackage.scm (hackage-fetch): Use http-fetch to avoid progress output from url-fetch.
* import: hackage: Factorize url synthesis.Eric Bavier2016-03-30
| | | | | | * guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): New procedures. (hackage-fetch, hackage-module->sexp): Use them.
* ui: Add comment on the translation of "current".Ludovic Courtès2016-03-30
| | | | * guix/ui.scm (display-generation): Add "TRANSLATORS" comment.
* environment: Set a default value for PS1.David Thompson2016-03-30
| | | | | * guix/scripts/environment.scm (launch-environment/container): Set PS1 during container initialization.
* guix system: Warn against missing 'guix pull'.Ludovic Courtès2016-03-28
| | | | | | | | Suggested by Leo Famulari and others. * guix/scripts/system.scm (maybe-suggest-running-guix-pull): New procedure. (perform-action): Call it when ACTION is 'reconfigure.
* store: Prepend mirror.hydra.gnu.org to %DEFAULT-SUBSTITUTE-URLS.Ludovic Courtès2016-03-28
| | | | | | | | | | This allows GuixSD to default to the right list of URLs, with mirror.hydra.gnu.org coming first. Reported by Chris Marusich <cmmarusich@gmail.com>. * guix/store.scm (%default-substitute-urls): Prepend "mirror.hydra.gnu.org."
* environment: Properly handle SIGINT.David Thompson2016-03-27
| | | | | | | | | | | | | Switching to execlp means that the process spawned in a container is PID 1, which obsoleted one of the 'guix environment --container' tests because the init process can't be killed in the usual manner. * guix/scripts/environment.scm (launch-environment/fork): New procedure. (launch-environment): Switch from system* to execlp. Add handler for SIGINT. (guix-environment): Use launch-environment/fork. * tests/guix-environment-container.sh: Replace abnormal exit test with one that works now that the spawned process is PID 1.
* environment: container: Create dummy home directory and /etc/passwd.David Thompson2016-03-26
| | | | | | | | | * guix/scripts/environment.scm (launch-environment/container): Change $HOME to the current user's home directory instead of /homeless-shelter. Create a dummy /etc/passwd with a single entry for the current user. * doc/guix.texi ("invoking guix environment"): Add a note about the dummy home directory and /etc/passwd.
* syscalls: <interface> printer correctly handles lack of sockaddr.Ludovic Courtès2016-03-25
| | | | | | | | Reported by Danny Milosavljevic <dannym@scratchpost.org> in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22612#16>. * guix/build/syscalls.scm (write-interface): Check whether ADDRESS is true.
* guix build: '--with-source' correctly matches versioned file names.Ludovic Courtès2016-03-23
| | | | | | | | * guix/scripts/build.scm: Use the right 'package-name->name+version' procedure. Fixes a regression introduced in 1b846da8c372bee78851439fd9e72b2499115e5a. * tests/scripts-build.scm ("options->transformation, with-source, with version"): New test.
* derivations: Raise an error when a module file is not found.Ludovic Courtès2016-03-23
| | | | | | | | | | | | Suggested by Jookia. * guix/derivations.scm (&file-search-error): New error condition. (search-path*): Raise it when 'search-path' returns #f. * guix/gexp.scm (search-path*): Remove. * guix/ui.scm (call-with-error-handling): Add case for 'file-search-error?'. * tests/derivations.scm ("build-expression->derivation and invalid module name"): New test.
* derivations: Add 'module->source-file-name'.Ludovic Courtès2016-03-23
| | | | | | * guix/derivations.scm (module->source-file-name): New procedure. (%imported-modules): Use it. * guix/gexp.scm (imported-modules): Likewise.
* substitute: Gracefully handle TLS errors.Ludovic Courtès2016-03-23
| | | | | * guix/scripts/substitute.scm (with-networking): Use 'match-lambda*' and add case for 'gnutls-error'.
* import: cran: Accept single URL in addition to single URL.Ricardo Wurmus2016-03-22
| | | | | * guix/import/cran.scm (package->upstream-name): Match single URL in addition to list of URLs.
* build-system/gnu: Add #:disallowed-references.Ludovic Courtès2016-03-20
| | | | | | * guix/build-system/gnu.scm (gnu-build): Add #:disallowed-references and honor it. (gnu-cross-build): Likewise.
* gexp: Add #:disallowed-references.Ludovic Courtès2016-03-20
| | | | | | | | * guix/gexp.scm (gexp->derivation): Add #:disallowed-references and honor it. * tests/gexp.scm ("gexp->derivation #:disallowed-references, allowed") ("gexp->derivation #:disallowed-references"): New tests. * doc/guix.texi (G-Expressions): Adjust accordingly.
* derivations: Add #:disallowed-references.Ludovic Courtès2016-03-20
| | | | | | | | | * guix/derivations.scm (derivation): Add #:disallowed-references. [user+system-env-vars]: Honor it. (build-expression->derivation): Likewise. * tests/derivations.scm ("derivation #:disallowed-references, ok") ("derivation #:disallowed-references, not ok"): New tests. * doc/guix.texi (Derivations): Adjust accordingly.
* import: pypi: Emit 'pypi-uri' only when it yields the right URL.Ludovic Courtès2016-03-19
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/23062>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * guix/import/pypi.scm (make-pypi-sexp): Check whether 'pypi-uri' returns SOURCE-URL and fall back to the full URL otherwise. * tests/pypi.scm ("pypi->guix-package"): Adjust expected URI accordingly. Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
* substitute: Do not leak file descriptors for TLS connections.Ludovic Courtès2016-03-17
| | | | | | | | Partially fixes <http://bugs.gnu.org/20145>. * guix/scripts/substitute.scm (fetch, download-cache-info): (http-multiple-get, fetch-narinfos, progress-report-port): Use 'close-connection' instead of 'close-port'.
* substitute: Cache transient HTTP errors for 10mn.Ludovic Courtès2016-03-17
| | | | | | * guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Cache transient errors for 10mn. (%narinfo-transient-error-ttl): New variable.
* lint: Do not leak file descriptors for TLS connections.Ludovic Courtès2016-03-17
| | | | | | | Partially fixes <http://bugs.gnu.org/20145>. * guix/scripts/lint.scm (probe-uri): Use 'close-connection' instead of 'close-port'.
* download: Add 'close-connection'.Ludovic Courtès2016-03-17
| | | | | | | | | | Partially fixes <http://bugs.gnu.org/20145>. * guix/build/download.scm (add-weak-reference): Remove. (%tls-ports): New variable. (register-tls-record-port): New procedure. (tls-wrap): Use it instead of 'add-weak-reference'. (close-connection): New procedure.