~ruther/guix-local

ref: d29aa3b5a3dc30080f39636bd2fafbdaa8d609cc guix-local/guix d---------
fe12c345 — Ludovic Courtès 12 years ago
build-system/gnu: Add `dist-package'.

* guix/build/gnu-dist.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/gnu.scm (%default-modules): New variable.
  (gnu-build): Use it.
  (dist-package): New procedure.
7357138b — Ludovic Courtès 12 years ago
packages: Allow file names as package sources.

* guix/packages.scm (package-source-derivation): Add cases for SOURCE as
  a store path or user file.
* tests/packages.scm ("package-source-derivation, file",
  "package-source-derivation, store path"): New tests.
7db3ff4a — Ludovic Courtès 12 years ago
utils: Add `guile-version>?', and use it.

This fixes Guile version comparisons when (version) has a
vendor-specific suffix.

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

* guix/utils.scm (guile-version>?): New procedure.
* tests/utils.scm ("guile-version>? 1.8", "guile-version>? 10.5"): New
  tests.
* guix/scripts/substitute-binary.scm (fetch, progress-report-port): Use
  `guile-version>?' instead of `version>?'.
* guix/http-client.scm (when-guile<=2.0.5, http-fetch): Likewise.
b6952cad — Ludovic Courtès 12 years ago
substitute-binary: Try hard to avoid port buffering.

* guix/scripts/substitute-binary.scm (fetch): In the `file' case, open
  with the `b' flag, so that the coding cookie reading thing doesn't
  lead to buffering some of the data (on 2.0.5).
* tests/utils.scm ("filtered-port, file"): Open with `r0b'.  Fixes a
  test failure with Guile 2.0.5 whereby the first byte of FILE would be
  missing from DECOMPRESSED.
db90b40d — Ludovic Courtès 12 years ago
substitute-binary: Don't pretend to report download progress on Guile 2.0.5.

* guix/scripts/substitute-binary.scm (progress-report-port): On Guile
  2.0.5, return PORT directly and emit a warning.
e12b3eb9 — Cyril Roelandt 12 years ago
Make "guix -h" work as "guix --help".

* guix/ui.scm (guix-main): have the same behaviour for the "-h" and "--help"
  options.
079d1273 — Ludovic Courtès 12 years ago
guix package: Allow separate install of several outputs of the same package.

* guix/scripts/package.scm (guix-package)[process-actions](same-package?):
  New procedure.  Use it instead of `alist-delete' when filtering out
  duplicate packages from the profile.
3b8258c5 — Ludovic Courtès 12 years ago
Rename (guix web) to (guix http-client).

* guix/web.scm: Rename to...
* guix/http-client.scm: ... this.
* guix/gnu-maintenance.scm, guix/scripts/substitute-binary.scm,
  Makefile.am, po/POTFILES.in: Update accordingly.
2096b516 — Ludovic Courtès 12 years ago
guix package: Fix handling of `-e'.

This fixes a bug whereby a command like

  guix package -e '(@@ (gnu packages base) gnu-make-boot0)'

would only succeed when the outputs of that package are available, and
otherwise fail with "/nix/store/... is not valid".

* guix/scripts/package.scm (guix-package)[process-action](package->tuple):
  Leave P as is in the result.  Move `package->tuple' call from INSTALL*
  to INSTALL.
e14c3929 — Ludovic Courtès 12 years ago
ui: Ignore SIGPIPE and catch `system-error' exceptions.

* guix/ui.scm (initialize-guix): Call `sigaction'.
  (call-with-error-handling): Wrap `thunk' in a (catch 'system-error ...).
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.
1f495e04 — Ludovic Courtès 12 years ago
gnu-maintenance: `latest-release' closes its connection.

* guix/gnu-maintenance.scm (latest-release): Close CONN before
  returning.
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.
c4ca9411 — Ludovic Courtès 12 years ago
gnu-maintenance: Add `doc-description' field to <gnu-package-descriptor>.

* guix/gnu-maintenance.scm (%gsrc-package-list-url): New variable.
  (<gnu-package-descriptor>): Add `doc-description' field.
  (official-gnu-packages)[group-package-fields]: Rename to...
  [read-records]: ... this.  Reverse the result.
  [gsrc-description]: New procedure.
  Add the "description" field to the alist passed to `alist->record'.
836d10f1 — Ludovic Courtès 12 years ago
records: `recutils->alist' recognizes lines starting with a `+'.

* guix/records.scm (%recutils-plus-rx): New variable.
  (recutils->alist): Use it to read + lines.
* tests/records.scm ("recutils->alist with + lines"): New test.
b0efe83a — Ludovic Courtès 12 years ago
gnu-maintenance: Use `recutils->alist'.

* guix/gnu-maintenance.scm (official-gnu-packages)[group-package-fields]:
  Rewrite in terms of `recutils->alist'.  Remove `state' parameter.
  Specify "doc-url" and "language" as multiple-value keys in the
  `alist->record' call.
c8772a7a — Ludovic Courtès 12 years ago
records: `alist->record' supports multiple-field occurrences.

* guix/records.scm (alist->record): Add `multiple-value-keys'
  parameter.  Update docstring, and honor it.
* tests/records.scm ("alist->record"): New record.
b7b88288 — Ludovic Courtès 12 years ago
records: `recutils->alist' recognizes comments.

* guix/records.scm (%recutils-comment-rx): New variable.
  (recutils->alist): Match comments.
* tests/records.scm ("recutils->alist"): Add comments.
Next