Age | Commit message (Expand) | Author |
2016-04-01 | cvs: 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-01 | profiles: 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-31 | ant-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-31 | build-system/ant: Add zip....* guix/build-system/ant.scm (default-zip): New variable.
(lower): Add zip to native inputs.
| Ricardo Wurmus |
2016-03-31 | build-system/r: Support "substitutable?" flag....* guix/build-system/r.scm (r-build): Support the "substitutable?" flag.
| Ricardo Wurmus |
2016-03-31 | licenses: Add the nmap license....* guix/licenses.scm (nmap): New variable.
| Leo Famulari |
2016-03-30 | import: 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-30 | import: hackage: Silence download output....* guix/import/hackage.scm (hackage-fetch): Use http-fetch to avoid
progress output from url-fetch.
| Eric Bavier |
2016-03-30 | import: 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-30 | ui: Add comment on the translation of "current"....* guix/ui.scm (display-generation): Add "TRANSLATORS" comment.
| Ludovic Courtès |
2016-03-30 | environment: Set a default value for PS1....* guix/scripts/environment.scm (launch-environment/container): Set PS1
during container initialization.
| David Thompson |
2016-03-28 | guix 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-28 | store: 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-27 | environment: 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-26 | environment: 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-25 | syscalls: <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-23 | guix 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-23 | derivations: 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-23 | derivations: 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-23 | substitute: Gracefully handle TLS errors....* guix/scripts/substitute.scm (with-networking): Use 'match-lambda*' and
add case for 'gnutls-error'.
| Ludovic Courtès |
2016-03-22 | import: 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-20 | build-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-20 | gexp: 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-20 | derivations: 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-19 | import: 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-17 | substitute: 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-17 | substitute: 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-17 | lint: 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-17 | download: 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-17 | substitute: 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-17 | licenses: 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-16 | substitute: 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-16 | substitute: 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-16 | substitute: 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-16 | build: 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-16 | http-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-14 | grafts: Update the narinfo cache before building a derivation....* guix/grafts.scm (references-oracle)[references*]: Add call to
'substitution-oracle'.
| Ludovic Courtès |
2016-03-14 | substitute: 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-14 | http-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-14 | substitute: 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-14 | store: 'references/substitutes' caches its results....* guix/store.scm (%reference-cache): New variable.
(references/substitutes): Use it.
| Ludovic Courtès |
2016-03-14 | size: Disable grafts....* guix/scripts/size.scm (guix-size): Parametrize '%graft?'.
| Ludovic Courtès |
2016-03-14 | build: Add Ant build system....* guix/build-system/ant.scm: New file.
* guix/build/ant-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ant-build-system.
| Ricardo Wurmus |
2016-03-11 | cve: Read entire CVE databases for the current year and the past year....The "Modified" database that we were reading is much smaller, but it
only shows CVEs modified over the past week.
* guix/cve.scm (%now, %current-year, %past-year): New variables.
(yearly-feed-uri): New procedure.
(%cve-feed-uri, %ttl): Remove.
(%current-year-ttl, %past-year-ttl): New variables.
(call-with-cve-port): Add 'uri' and 'ttl' parameters and honor them.
Add 'setvbuf' call.
(current-vulnerabilities)[read-vulnerabilities]: New procedure.
Read from both %LAST-YEAR and %CURRENT-YEAR.
| Ludovic Courtès |
2016-03-11 | cve: Make CPE patch level part of the version string....* guix/cve.scm (%cpe-package-rx): Adjust to account for :PATCH-LEVEL.
(cpe->package-name): Likewise.
| Ludovic Courtès |
2016-03-10 | substitute: Optimize HTTP pipelining over TLS....* guix/scripts/substitute.scm (http-multiple-get): Write the requests
to a bytevector output port before sending them.
| Ludovic Courtès |
2016-03-10 | substitute: Add HTTPS support....Fixes <http://bugs.gnu.org/22937>.
Reported by Chris Marusich <cmmarusich@gmail.com>.
* guix/scripts/substitute.scm (fetch): Add 'https' alongside 'http'.
Use 'open-connection-for-uri' instead of 'open-socket-for-uri'. Call
'setvbuf' only when PORT matches 'file-port?'.
(http-multiple-get): Likewise. Change 'base-url' parameter to
'base-uri'.
(fetch-narinfos)[do-fetch]: Add 'https' case alongside 'http'. Pass URI
instead of URL to 'http-multiple-get'.
* doc/guix.texi (Requirements): Move GnuTLS one level higher and mention
HTTPS substitutes.
(Substitutes): Mention HTTPS and recommend it. Explain why servers
are not authenticated. Add "On Trusting Binaries" subsection.
| Ludovic Courtès |
2016-03-09 | substitute: Error out on unsupported URL schemes....Reported in <http://bugs.gnu.org/22937>
by Chris Marusich <cmmarusich@gmail.com>.
* guix/scripts/substitute.scm (fetch): Add 'else' case and call 'leave'.
| Ludovic Courtès |
2016-03-09 | ui: Do not call 'port-filename' on closed file ports....* guix/ui.scm (call-with-error-handling)[port-filename*]: New
procedure.
Use it in the 'nar-error?' case.
| Ludovic Courtès |
2016-03-09 | upstream: Fix 'signature-urls' coalescing....Previously, the resulting 'signature-urls' would contain N times the
same URL.
* guix/upstream.scm (coalesce-sources): Fix TWO in 'signature-urls'.
* tests/upstream.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
| Ludovic Courtès |