Age | Commit message (Collapse) | Author |
|
Previously, code using directly (guix build download) was still affected
by <http://bugs.gnu.org/15368>. This includes source derivations, the
'guix download' command, and (guix gnu-maintenance).
'guix substitute' was unaffected since it used (guix http-client), which
already had the fix.
* guix/http-client.scm (open-socket-for-uri): Remove.
(http-fetch): Remove #:buffered? argument to 'open-socket-for-uri';
use 'setvbuf' instead.
* guix/scripts/substitute.scm (fetch): Likewise.
* guix/build/download.scm (open-socket-for-uri): New procedure, taken
from guix/http-client.scm, but without the #:buffered? parameter.
|
|
* guix/search-paths.scm (search-path-definition): New procedure.
* guix/scripts/environment.scm (for-each-search-path): Rename to...
(evaluate-input-search-paths): ... this. Remove 'proc' and 'pure?'
parameters, and return directly the list of search-path/value pairs.
(create-environment): Use 'for-each' and 'evaluate-input-search-paths'
instead of 'for-each-search-path'.
(show-search-paths): Use 'for-each', 'search-path-definition', and
'evaluate-search-paths' instead of 'for-each-search-path'.
|
|
This allows 'guix environment' to correctly handle non-directory
and/or pattern search-path specifications, such as that for
'XML_CATALOG_FILES'.
* guix/scripts/environment.scm (for-each-search-path): Use
'evaluate-search-paths' instead of 'search-path-as-list' & co.
|
|
* guix/search-paths.scm ($PATH): New variable.
* guix/scripts/environment.scm (for-each-search-path): Use it.
|
|
* guix/search-paths.scm (evaluate-search-paths): Change 'directory' to
'directories', and adjust 'search-path-as-list' accordingly.
* guix/scripts/package.scm (search-path-environment-variables): Adjust
call accordingly.
|
|
* guix/scripts/environment.scm: Use (guix search-paths). Fixes a
regression introduced in e89431b.
|
|
* guix/search-paths.scm (evaluate-search-paths): Return
specification/value pairs instead of variable/value pairs.
* guix/scripts/package.scm (search-path-environment-variables): Adjust
accordingly. Pass #:separator to 'environment-variable-definition'.
|
|
* guix/search-paths.scm (environment-variable-definition): New variable.
* guix/scripts/package.scm (search-path-environment-variables): Use it.
|
|
* guix/scripts/package.scm (with-null-error-port,
evaluate-search-paths): Move to...
* guix/search-paths.scm: ... here.
* guix/utils.scm (string-tokenize*): Move to...
* guix/search-paths.scm: ... here.
* tests/utils.scm ("string-tokenize*"): Adjust accordingly.
|
|
* guix/packages.scm (<search-path-specification>,
search-path-specification->sexp, sexp->search-path-specification):
Move to...
* guix/search-paths.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/cmake.scm, guix/build-system/glib-or-gtk.scm,
guix/build-system/gnu.scm, guix/build-system/haskell.scm,
guix/build-system/perl.scm, guix/build-system/python.scm,
guix/build-system/ruby.scm, guix/build-system/waf.scm,
guix/profiles.scm, guix/scripts/package.scm: Use it.
|
|
* guix/scripts/substitute.scm (%narinfo-ttl): Increase to 36h.
|
|
* guix/scripts/build.scm (show-help)[--sources]: Make indentation
consistent with other long options.
|
|
* guix/scripts/package.scm (evaluate-search-paths): New procedure, with
most of the code formerly in 'search-path-environment-variables'.
(search-path-environment-variables): Use it.
|
|
* guix/scripts/package.scm (user-friendly-profile): New procedure.
(search-path-environment-variables): Remove 'profile' local variable.
(display-search-paths): Explicitly call 'user-friendly-profile' for
the argument to 'search-path-environment-variables'.
(guix-package)[process-query]: Likewise.
|
|
* guix/scripts/build.scm (%options, options->derivations): Add --sources
option.
* doc/guix.texi (Invoking guix build): Document --sources option.
* tests/guix-build.sh: Add tests.
|
|
Discussed in <http://bugs.gnu.org/20255>.
* guix/packages.scm (sexp->search-path-specification): New variable.
* guix/profiles.scm (<manifest-entry>)[search-paths]: New field.
(package->manifest-entry): Initialize it.
(manifest->gexp): Match it. Wrap #$deps in (propagated-inputs ...).
Emit (search-paths ...). Increment version.
(find-package): New procedure.
(sexp->manifest)[infer-search-paths]: New procedure.
Use it to initialize the 'search-paths' field for versions 0 and 1.
Add case for version 2.
* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
Remove.
Use 'manifest-entry-search-paths' instead of 'manifest-entry->package'
plus 'package-native-search-paths'.
* tests/profiles.scm ("profile-manifest, search-paths"): New test.
|
|
In practice we would not leak much since we reconnect after ~100
requests (with nginx running on hydra.gnu.org.)
* guix/scripts/substitute.scm (http-multiple-get): Call 'close-port'
before 'connect'.
|
|
* guix/scripts/package.scm (readlink*): Fix to handle symlinks with
relative targets. Taken from ld-wrapper2.in.
|
|
* guix/scripts/package.scm (guix-package)[process-query]
<list-available>: Restrict results to packages matching
'supported-package?".
* guix/ui.scm (package->recutils): Print "systems:".
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix package): Adjust description of
'--list-available' accordingly.
|
|
Conflicts:
gnu-system.am
gnu/packages/gstreamer.scm
|
|
* guix/scripts/refresh.scm (guix-refresh): Use 'specification->package'
instead of 'find-packages-by-name'. This allows users to specify
things like "qt-4.8.6".
* doc/guix.texi (Invoking guix refresh): Add an example.
|
|
* guix/profiles.scm (info-dir-file): Remove (null? (manifest-entries
manifest)) test.
(ca-certificate-bundle): Likewise.
(ghc-package-cache-file): Turn 'if' into 'and', and remove second
arm.
(%default-profile-hooks): New variable.
(profile-derivation): Remove #:info-dir?, #:ghc-package-cache?, and
#:ca-certificate-bundle?. Add #:hooks. Iterate over HOOKS. Adjust
'inputs' accordingly.
* guix/scripts/package.scm (guix-package): Adjust 'profile-derivation'
call accordingly.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation",
"profile-derivation, inputs"): Likewise.
|
|
* guix/scripts/package.scm (%options): Add the '--do-not-upgrade' option.
(show-help): Document it.
(options->installable): Add 'do-not-upgrade-regexps' variable.
Use it in 'packages-to-upgrade'.
* doc/guix.texi (Invoking guix package): Document the '--do-not-upgrade'
option.
|
|
* guix/scripts/lint.scm (check-derivation): New procedure.
(%checkers): Add 'derivation' checker.
* tests/lint.scm ("derivation: invalid arguments"): New test.
|
|
* guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'.
* tests/lint.scm ("patches: not found"): New test.
|
|
* guix/scripts/lint.scm (check-patches): Rename to...
(check-patch-file-names): ... this. Rename 'filename' to 'file'.
(%checkers): Adjust accordingly.
* tests/lint.scm ("patches: file names"): Likewise.
|
|
|
|
* guix/profiles.scm (ghc-package-cache-file): New procedure.
(profile-derivation): Add 'ghc-package-cache?' keyword argument. If true
(the default), add the result of 'ghc-package-cache-file' to 'inputs'.
* guix/scripts/package.scm (guix-package)[process-actions]: Pass
#:ghc-package-cache? to 'profile-generation'.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation"): Likewise.
|
|
* guix/scripts/import.scm (importers): Add hackage.
* guix/scripts/import/hackage.scm: New file.
* po/guix/POTFILES.in: Add guix/scripts/import.scm.
* doc/guix.texi: Add section on 'hackage' importer.
|
|
|
|
* guix/scripts/system.scm (read-operating-system): Replace error
handling code by a call to 'report-load-error'.
* guix/ui.scm (report-load-error): New procedure.
|
|
* guix/scripts/package.scm (delete-matching-generations): Remove call to
'exit' when PATTERN is "0". Call 'leave' instead of 'exit'
when (null-list? number).
|
|
Fixes <http://bugs.gnu.org/19978>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).
* guix/scripts/package.scm (delete-matching-generations): Warn when
CURRENT is in NUMBERS, and always remove it before calling
'delete-generations'.
* tests/guix-package.sh: Add --switch-generation=2 invocation before
--delete-generations=3 invocation.
Add --delete-generations=1.. test case.
|
|
* guix/scripts/package.scm (delete-matching-generations): New procedure,
with code formerly found...
(guix-package)[process-actions]: ... here. Use it.
Remove 'current-generation-number'.
|
|
* guix/scripts/publish.scm: New file.
* po/guix/POTFILES.in: Add it.
* tests/publish.scm: New file.
* Makefile.am (MODULES): Add script module.
(SCM_TESTS): Add test module.
* doc/guix.texi ("Invoking guix publish"): New node.
|
|
* guix/scripts/substitute.scm (%narinfo-cache-directory): Change
"substitute-binary" to "substitute".
* tests/store.scm ("substitute query"): Likewise.
* tests/substitute.scm (call-with-narinfo): Likewise.
|
|
* guix/scripts/substitute-binary.scm: Rename to...
* guix/scripts/substitute.scm: ... this. Adjust module name, entry
point, comments, and help string accordingly.
* nix/scripts/substitute-binary.in: Rename to...
* nix/scripts/substitute.in: ... this.
* pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly.
* tests/substitute-binary.scm: Rename to...
* tests/substitute.scm: ... this. Adjust references to (guix scripts
substitute) accordingly.
* guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to
"substitute".
* Makefile.am (MODULES, SCM_TESTS): Adjust to file renames.
* daemon.am (nodist_pkglibexec_SCRIPTS): Likewise.
* config-daemon.ac: Likewise.
* guix/tests.scm (call-with-derivation-narinfo): Adjust comments and
docstring.
|
|
* guix/scripts/substitute-binary.scm: Remove 'regexp-exec' setting.
|
|
* guix/scripts/substitute-binary.scm (fetch-narinfo, %lookup-threads,
n-par-map*): Remove.
(narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request,
http-multiple-get, read-to-eof, fetch-narinfos, lookup-narinfos,
narinfo-from-file): New procedures.
(lookup-narinfo): Rewrite in terms of 'lookup-narinfos'.
(guix-substitute-binary): Use 'lookup-narinfos' instead of
'lookup-narinfo'.
|
|
* guix/scripts/substitute-binary.scm (read-narinfo): Add #:size
parameter and honor it.
|
|
Before that it would sort them by name only, so the order in which two
packages with the same name but a different version would appear was
non-deterministic.
Reported by Tomáš Čech <sleep_walker@gnu.org>.
* guix/scripts/package.scm (find-packages-by-description)[version<?]:
New variable.
Change the 2nd argument to 'sort' to use 'string-compare' and resort
to 'version<?' when P1 and P2 have the same name.
|
|
Before that, 'guix package -s foobarbaz' would display only one package
when several match but they have the same location (which is common when
using 'inherit'.)
The original rationale was given at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00280.html> but
it was arguably misguided because it led to "real" packages being
hidden.
Reported by Tomáš Čech <sleep_walker@gnu.org>.
* guix/scripts/package.scm (find-packages-by-description)[same-location?]:
Remove.
Remove call to 'delete-duplicates'.
|
|
* guix/scripts/lint.scm (probe-uri) <'ftp>: Pass more information about
failures alongside 'ftp-response.
(validate-uri) <ftp-response>: Handle it, and adjust "not reachable"
message accordingly.
|
|
* guix/scripts/lint.scm (probe-uri) <'ftp>: Rename 'port' to 'conn'.
|
|
* guix/scripts/substitute-binary.scm (%cache-url): Fix regression
introduced in 41c45e7.
|
|
* guix/store.scm (set-build-options): Rename #:binary-caches to
#:substitute-urls. Actually pass it in 'pairs' under the
"substitute-urls" key.
* guix/scripts/substitute-binary.scm (%cache-url): Add comment for
"untrusted-substitute-urls".
|
|
* guix/scripts/environment.scm (guix-environment): Wrap procedure body with
error handling form.
|
|
* guix/scripts/lint.scm (check-source): Export.
* tests/lint.scm (%null-sha256): New procedure.
("source: 200", "source: 404"): New tests.
|
|
This fixes a regression introduced in commit 536c3ee.
* guix/profiles.scm (ca-certificate-bundle): When MANIFEST is empty,
make a trivial derivation.
* guix/scripts/package.scm (guix-package)[process-actions]: Pass
#:ca-certificate-bundle? to 'profile-generation'.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation"): Likewise.
|
|
* guix/ui.scm (%default-argument-handler, parse-command-line): New
procedures.
(environment-build-options): Make private.
* guix/scripts/archive.scm (guix-archive)[parse-options,
parse-options-from]: Remove. Use 'parse-command-line' instead.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* tests/ui.scm (with-environment-variable): New macro.
("parse-command-line"): New test.
|