summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2016-04-14download: Follow HTTP 307 "Temporary Redirection"....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. Alex Kost
2016-04-13gnu-maintenance: update-package-source: Only update the desired package....Fixes <http://bugs.gnu.org/22693>. Suggested by Andy Wingo. * guix/upstream.scm (update-package-source): Rewrite in terms of 'edit-expression'. 宋文武
2016-04-13utils: Add 'location->source-properties'....* guix/utils (location-source->properties): New procedure. 宋文武
2016-04-13utils: Add 'edit-expression'....* guix/utils.scm (edit-expression): New procedure. * tests/utils.scm (edit-expression): New test. 宋文武
2016-04-07environment: container: Work around read-only /etc/resolv.conf issue....* guix/scripts/environment.scm (launch-environment/container): Mount /etc/resolv.conf as a writable file. David Thompson
2016-04-06challenge: Really exit with non-zero upon hash mismatch....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. Ludovic Courtès
2016-04-04emacs: Use 'build-and-use-profile' from (guix scripts package)....* guix/scripts/package.scm: Export 'build-and-use-profile'. * emacs/guix-main.scm (process-package-actions): Use it. Alex Kost
2016-04-02graph: Edges are colored based on their source node....* guix/graph.scm (%colors): New variable. (pop-color): New procedure. (emit-edge): Use it. Ludovic Courtès
2016-04-01cvs: Disable compression....Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * guix/build/cvs.scm (cvs-fetch): Use -z0. Ludovic Courtès
2016-04-01cvs: Allow checkouts when /tmp is a different device....* guix/build/cvs.scm (cvs-fetch): Use 'copy-recursively' instead of 'rename-file'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen
2016-04-01profiles: Use the right 'package-name->name+version'....* guix/profiles.scm: Use 'package-name->name+version' from (guix build utils). Fixes 'find-among-store-items' in 'gtk-icon-themes'. Ludovic Courtès
2016-03-31ant-build-system: Keep jar manifest....* guix/build/ant-build-system.scm (default-build.xml): Generate default manifest. (strip-jar-timestamps): Repack jar archive with zip. Ricardo Wurmus
2016-03-31build-system/ant: Add zip....* guix/build-system/ant.scm (default-zip): New variable. (lower): Add zip to native inputs. Ricardo Wurmus
2016-03-31build-system/r: Support "substitutable?" flag....* guix/build-system/r.scm (r-build): Support the "substitutable?" flag. Ricardo Wurmus
2016-03-31licenses: Add the nmap license....* guix/licenses.scm (nmap): New variable. Leo Famulari
2016-03-30import: Add Hackage updater....* 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. Eric Bavier
2016-03-30import: hackage: Silence download output....* guix/import/hackage.scm (hackage-fetch): Use http-fetch to avoid progress output from url-fetch. Eric Bavier
2016-03-30import: hackage: Factorize url synthesis....* guix/import/hackage.scm (hackage-source-url, hackage-cabal-url): New procedures. (hackage-fetch, hackage-module->sexp): Use them. Eric Bavier
2016-03-30ui: Add comment on the translation of "current"....* guix/ui.scm (display-generation): Add "TRANSLATORS" comment. Ludovic Courtès
2016-03-30environment: Set a default value for PS1....* guix/scripts/environment.scm (launch-environment/container): Set PS1 during container initialization. David Thompson
2016-03-28guix system: Warn against missing 'guix pull'....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. Ludovic Courtès
2016-03-28store: Prepend mirror.hydra.gnu.org to %DEFAULT-SUBSTITUTE-URLS....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." Ludovic Courtès
2016-03-27environment: Properly handle SIGINT....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. David Thompson
2016-03-26environment: container: Create dummy home directory and /etc/passwd....* 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. David Thompson
2016-03-25syscalls: <interface> printer correctly handles lack of sockaddr....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. Ludovic Courtès
2016-03-23guix build: '--with-source' correctly matches versioned file names....* 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. Ludovic Courtès
2016-03-23derivations: Raise an error when a module file is not found....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. Ludovic Courtès
2016-03-23derivations: Add 'module->source-file-name'....* guix/derivations.scm (module->source-file-name): New procedure. (%imported-modules): Use it. * guix/gexp.scm (imported-modules): Likewise. Ludovic Courtès
2016-03-23substitute: Gracefully handle TLS errors....* guix/scripts/substitute.scm (with-networking): Use 'match-lambda*' and add case for 'gnutls-error'. Ludovic Courtès
2016-03-22import: cran: Accept single URL in addition to single URL....* guix/import/cran.scm (package->upstream-name): Match single URL in addition to list of URLs. Ricardo Wurmus
2016-03-20build-system/gnu: Add #:disallowed-references....* guix/build-system/gnu.scm (gnu-build): Add #:disallowed-references and honor it. (gnu-cross-build): Likewise. Ludovic Courtès
2016-03-20gexp: Add #:disallowed-references....* 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. Ludovic Courtès
2016-03-20derivations: Add #:disallowed-references....* 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. Ludovic Courtès
2016-03-19import: pypi: Emit 'pypi-uri' only when it yields the right URL....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> Ludovic Courtès
2016-03-17substitute: Do not leak file descriptors for TLS connections....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'. Ludovic Courtès
2016-03-17substitute: Cache transient HTTP errors for 10mn....* guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Cache transient errors for 10mn. (%narinfo-transient-error-ttl): New variable. Ludovic Courtès
2016-03-17lint: Do not leak file descriptors for TLS connections....Partially fixes <http://bugs.gnu.org/20145>. * guix/scripts/lint.scm (probe-uri): Use 'close-connection' instead of 'close-port'. Ludovic Courtès
2016-03-17download: Add 'close-connection'....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. Ludovic Courtès
2016-03-17substitute: Update progress for responses different from 200/404....* guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Add missing call to 'update-progress!'. Ludovic Courtès
2016-03-17licenses: Add Apache Software License 1.1....* guix/licenses.scm (asl1.1): New variables. Signed-off-by: Leo Famulari <leo@famulari.name> Roel Janssen
2016-03-16substitute: Honor client-provided empty URL list....Before that, 'guix build --substitute-urls=""' would lead to using the daemon's own URL list instead of the empty list. The 'or*' hack, which is to blame, had become unnecessary since commit fb4bf72be3fbc23bca35ba4b842b7e1517ef0e3a. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/substitute.scm (or*): Remove. (%cache-urls): Use 'or' instead of 'or*'. * tests/store.scm ("substitute query, alternating URLs"): Add test with empty URL list. * doc/guix.texi (Common Build Options): Mention the empty string. Ludovic Courtès
2016-03-16substitute: Honor the 'max-age' of 'Cache-Control' headers....This allows substitute servers to tell 'guix substitute' how long they can cache narinfo lookups. * guix/scripts/substitute.scm (cache-narinfo!): Add 'ttl' parameter. [cache-entry]: Honor it. (fetch-narinfos)[handle-narinfo-response]: Check the 'Cache-Control' header of RESPONSE and pass its 'max-age' value to 'cache-narinfo!'. Ludovic Courtès
2016-03-16substitute: Make room for a 'ttl' field in cached entries....* guix/scripts/substitute.scm (cached-narinfo): Expect 'narinfo' sexp version 2 with a 'ttl' field. (cache-narinfo!)[cache-entry]: Produce 'narinfo' sexp version 2 with a 'ttl' field. (remove-expired-cached-narinfos)[expired?]: Read 'narinfo' sexp version 2. Ludovic Courtès
2016-03-16build: Default to "https://mirror.hydra.gnu.org/" for substitutes....* config-daemon.ac: Check for (gnutls) and define 'GUIX_SUBSTITUTE_URLS'. * nix/nix-daemon/guix-daemon.cc (main): Use GUIX_SUBSTITUTE_URLS. * guix/store.scm (%default-substitute-urls): Use 'https' when (gnutls) is available. * doc/guix.texi (Binary Installation): Mention mirrors (Invoking guix-daemon): Mention mirror.hydra.gnu.org. (Substitutes): Mention mirrors. (Invoking guix archive): Show https URLs. Ludovic Courtès
2016-03-16http-client: No 'setvbuf' for non-file ports....* guix/http-client.scm (http-fetch): Do not call 'setvbuf' on non-file ports. Ludovic Courtès
2016-03-14grafts: Update the narinfo cache before building a derivation....* guix/grafts.scm (references-oracle)[references*]: Add call to 'substitution-oracle'. Ludovic Courtès
2016-03-14substitute: Keep the initial connection alive....The connection used to fetch /nix-cache-info is now reused for the subsequent narinfo requests. * guix/scripts/substitute.scm (download-cache-info)[download]: Remove. [uri, read-cache-info]: New variables. Rewrite in terms of 'http-fetch' instead of 'fetch'. Return an open port in addition to a <cache-info>. * guix/scripts/substitute.scm (http-multiple-get): Add #:port parameter and honor it. (fetch-narinfos)[do-fetch]: Add 'port' parameter. Adjust to new 'download-cache-info' and 'do-fetch' signatures. Ludovic Courtès
2016-03-14http-client: Add #:keep-alive? parameter....* guix/http-client.scm (http-fetch): Add #:keep-alive? parameter and pass it to 'http-get' or 'http-get*'. Ludovic Courtès
2016-03-14substitute: Remove dead code....This parameter became unused with the switch to HTTP pipelining in commit d3a652037ef879f9279bc056c43d15ba7afcbb25. * guix/scripts/substitute.scm (fetch): Remove #:quiet-404? and adjust accordingly. Ludovic Courtès
2016-03-14store: 'references/substitutes' caches its results....* guix/store.scm (%reference-cache): New variable. (references/substitutes): Use it. Ludovic Courtès