~ruther/guix-local

ref: e3ccdf9e963c1ec00f8dcf8cc859ab4615b978c4 guix-local/guix/scripts d---------
e3ccdf9e — Ludovic Courtès 12 years ago
guix package: Reuse FTP connections for subsequent `latest-release' calls.

* guix/gnu-maintenance.scm (latest-release): Add `ftp-close' and
  `ftp-open' keyword parameters.
* guix/scripts/package.scm (ftp-open*): New variable.
  (check-package-freshness): Call `latest-release' with `ftp-open*' and
  a no-op procedure.
ce689ccf — Ludovic Courtès 12 years ago
substitute-binary: Directly replace the global `regexp-exec'.

* guix/scripts/substitute-binary.scm (%regexp-exec-mutex, string->uri):
  Remove.
  (regexp-exec): Replace this global binding by a thread-safety wrapper.
  (fields->alist): Remove `with-mutex', and directly alias `recutils->alist'.
8b79e2e6 — Ludovic Courtès 12 years ago
substitute-binary: Increase the default timeout.

* guix/scripts/substitute-binary.scm (%fetch-timeout): Set to 5 seconds.
560d4787 — Ludovic Courtès 12 years ago
guix refresh: Keep only the newest versions of packages as upgrade candidates.

* guix/scripts/refresh.scm (guix-refresh)[keep-newest]: New procedure.
  Use it to keep only once copy of each package.
fdc1bf65 — Ludovic Courtès 12 years ago
records: Add `recutils->alist' for public consumption.

* guix/records.scm (%recutils-field-rx): New variable.
  (recutils->alist): New procedure, formerly known as `fields->alist'.
* guix/scripts/substitute-binary.scm (fields->alist): Use it.
* tests/records.scm ("recutils->alist"): New test.
b0fad8a2 — Ludovic Courtès 12 years ago
Use `port-sha256' and `open-sha256-port'.

* guix/derivations.scm (derivation-hash): Add comment as to why we keep
  the plain `sha256' call.
* guix/scripts/download.scm (guix-download): Use `port-sha256' instead
  of (compose sha256 get-bytevector-all).
* guix/scripts/refresh.scm (update-package): Likewise.
72626a71 — Ludovic Courtès 12 years ago
Move `sha256' to (guix hash).

* guix/utils.scm (sha256): Move to...
* guix/hash.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* guix/derivations.scm, guix/scripts/download.scm,
  guix/scripts/hash.scm, guix/scripts/refresh.scm, tests/base32.scm,
  tests/derivations.scm, tests/store.scm: Use (guix hash).
bb7dcaea — Ludovic Courtès 12 years ago
substitute-binary: Avoid dangling connections to the server.

* guix/web.scm (open-socket-for-uri): New procedure.
  (http-fetch): Add `port' keyword parameter; use it.
* guix/scripts/substitute-binary.scm (%random-state): New variable.
  (with-timeout): Wait a little before retrying.
  (fetch): Use `open-socket-for-uri', and keep a copy of the socket in
  variable `port'.  Close PORT upon timeout.
d501fad1 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu/packages/make-bootstrap.scm
fe1818e2 — Ludovic Courtès 12 years ago
package: Fix i18n of the number of packages message.

* guix/scripts/package.scm (guix-package)[process-actions]: Use `N_' for
  i18n of the number of packages message.
a85060ef — Ludovic Courtès 12 years ago
substitute-binary: Report progress while downloading.

* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring.
  (progress-report-port): New procedure.
  (guix-substitute-binary)["--substitute"]: Use it to report progress.
* guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.
9af05aa2 — Ludovic Courtès 12 years ago
package: Display the number of installed packages upon completion.

* guix/scripts/package.scm (guix-package)[process-actions]: Display the
  number of packages in the profile upon completion.
2207f731 — Ludovic Courtès 12 years ago
substitute-binary: Provide feedback when the server is unresponsive.

* guix/scripts/substitute-binary.scm (%fetch-timeout): New variable.
  (with-timeout): New macro.
  (fetch): Add `timeout?' keyword parameter.  Enclose `http-fetch' call
  in `with-timeout'.
  (guix-substitute-binary): Call `fetch' with #:timeout? #f.
8e59fdd5 — Ludovic Courtès 12 years ago
guix gc: Add `--requisites'.

* guix/scripts/gc.scm (show-help, %options): Add `--requisites'.
  (guix-gc): Handle it.
* doc/guix.texi (Invoking guix gc): Document `--requisites'.
* NEWS: Update.
392b5d8c — Nikita Karetnikov 12 years ago
guix refresh: Add '--key-download'.

* guix/gnu-maintenance.scm (download-tarball): Add a 'key-download'
  keyword argument and pass it to 'gnupg-verify*'.  Make
  'archive-type' a keyword argument.
  (package-update): Add a 'key-download' keyword argument.  Pass
  'archive-type' and 'key-download' keyword arguments to
  'download-tarball'.

* guix/gnupg.scm: Import (ice-9 i18n) and (guix ui).
  (gnupg-verify*): Add a 'key-download' keyword argument and adjust
  'gnupg-verify*' to use it.  Make 'server' a keyword argument.

* guix/scripts/refresh.scm (show-help, %options): Add and document
  '--key-download'.
  (update-package): Add a 'key-download' keyword argument and pass it
  to 'package-update'.
  (guix-refresh): Pass 'key-download' to 'update-package'.  Limit
  lines to a maximum of 79 characters.
ae3b6bb0 — Ludovic Courtès 12 years ago
substitute-binary: Don't cache .narinfo lookups when lacking networking.

* guix/scripts/substitute-binary.scm (lookup-narinfo): Don't cache
  NARINFO when CACHE is #f.
cf5d2ca3 — Ludovic Courtès 12 years ago
substitute-binary: Gracefully exit upon networking errors.

Suggested by Andreas Enge <andreas@enge.fr>.

* guix/scripts/substitute-binary.scm (with-networking): New macro.
  (guix-substitute-binary): Wrap the body in `with-networking'.
56b1f4b7 — Ludovic Courtès 12 years ago
build, package: Add `--fallback' option.

* guix/scripts/build.scm (%options, show-help): Add `--fallback'.
  (guix-build): Call `set-build-options' with #:fallback?.
* guix/scripts/package.scm (%options, show-help): Add `--fallback'.
  (guix-package): Call `set-build-options' with #:fallback?.
* doc/guix.texi (Invoking guix package, Invoking guix build): Document
  `--fallback'.
cba363be — Ludovic Courtès 12 years ago
package: Fix default profile ownership check when it's just been created.

* guix/scripts/package.scm (guix-package)[ensure-default-profile]: Check
  whether S is true before checking its owner.  Fixes the case where we
  built %PROFILE-DIRECTORY just above.
e55ec43d — Ludovic Courtès 12 years ago
build: Add `--target' option.

* guix/scripts/build.scm (derivations-from-package-expressions): Add
  `package-derivation' parameter.
  (show-help, %options): Add `--target'.
  (guix-build): Use `package-cross-derivation' when `--target' is
  passed.
* tests/guix-build.sh: Add dry-run test with `--target'.
* doc/guix.texi (Invoking guix build): Document `--target'.
Next