~ruther/guix-local

ref: 614bdaffbf82f9c36fae407cb4e8096781ebe393 guix-local/tests d---------
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.
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.
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.
03aedf8d — Ludovic Courtès 12 years ago
tests: Fix guix-package.sh in the presence of multiple-output `make'.

* tests/guix-package.sh: For $boot_make_drv, take only the "out" output.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
ee48b283 — Ludovic Courtès 12 years ago
tests: Adjust `package-field-location' test for Guile <= 2.0.6.

* tests/packages.scm ("package-field-location"): Check the result of
  `read-at' against both VALUE and (FIELD VALUE).
  Reported by Matthew Lien - 練喆明" <bluet@bluet.org>.
69927e78 — Ludovic Courtès 12 years ago
hash: Add `open-sha256-port'.

* guix/hash.scm (GCRY_MD_SHA256): New macro.
  (sha256): Use it.
  (open-sha256-md, md-write, md-read, md-close, open-sha256-port,
  port-sha256): New procedures.
* tests/hash.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
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).
d501fad1 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu/packages/make-bootstrap.scm
3f1e6939 — Ludovic Courtès 12 years ago
store: Add `requisites'.

* guix/store.scm (fold-path, requisites): New procedures.
* tests/store.scm ("requisites"): New test.
c3eb878f — Ludovic Courtès 12 years ago
store: Test the `fallback?' store option.

* guix/store.scm (set-build-options): Rename #:try-fallback? to #:fallback?.
* tests/store.scm ("substitute --fallback"): New test.
9b222abe — Ludovic Courtès 12 years ago
packages: Raise an error condition a cross builder is needed but unavailable.

* guix/packages.scm (&package-cross-build-system-error): New condition type.
  (package-cross-derivation): Raise &package-cross-build-system-error
  when the build system doesn't support cross builds.
* guix/ui.scm (call-with-error-handling): Add
  package-cross-build-system-error? case.
* tests/packages.scm ("package-cross-derivation, no cross builder"): New test.
5dce8218 — Ludovic Courtès 12 years ago
build-system/trivial: Implement the cross-build protocol.

* guix/build-system/trivial.scm (guile-for-build): New procedure.
  (trivial-build): Use it.
  (trivial-cross-build): New procedure.
  (trivial-build-system): Use it.
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'.
9c1edabd — Ludovic Courtès 12 years ago
packages: Implement `package-cross-derivation'.

* guix/packages.scm (package-transitive-target-inputs,
  package-transitive-native-inputs): New procedures.
  (package-derivation): Parametrize `%current-target-system'.
  (package-cross-derivation): Implement.
* guix/utils.scm (%current-target-system): New variable.
* tests/packages.scm ("package-cross-derivation"): New test.
* doc/guix.texi (Defining Packages): Document
  `package-cross-derivation'.
969e678e — Ludovic Courtès 13 years ago
Add `--max-silent-time' to `guix build' and `guix package'.

* guix/scripts/build.scm (%default-options): Add default
  `max-silent-time' value.
  (show-help, %options):  Add `--max-silent-time'.
  (guix-build): Pass `max-silent-time' to `set-build-options'.
* guix/scripts/package.scm (%default-options): Add default
  `max-silent-time' value.
  (show-help, %options):  Add `--max-silent-time'.
  (guix-package): Pass `max-silent-time' to `set-build-options'.
* guix/ui.scm (string->number*): New procedure.
* tests/derivations.scm ("build-expression->derivation and
  max-silent-time"): New test.
* doc/guix.texi (Invoking guix package, Invoking guix build): Document
  `--max-silent-time'.
101d9f3f — Ludovic Courtès 13 years ago
substitute-binary: Pass `filtered-port' an unbuffered port.

This fixes a bug whereby `read-response' would read more than just the
response, with the extra data going into the port's buffer; the
"bzip2 -dc" process spawned by `filtered-port' would not see the those
buffered data, which are definitely lost, and would bail out with
"bzip2: (stdin) is not a bzip2 file."

* guix/utils.scm (filtered-port): Document that INPUT must be
  unbuffered.
* guix/web.scm (http-fetch): Add `buffered?' parameter.  Call
  `open-socket-for-uri' explicitly, and call `setvbuf' when BUFFERED? is
  false.  Pass the port to `http-get'.  Close it upon 301/302.
* guix/scripts/substitute-binary.scm (fetch): Add `buffered?'
  parameter.  Pass it to `http-fetch'; honor it for `file' URIs.
  (guix-substitute-binary): Call `fetch' with #:buffered? #f for port RAW.
* tests/utils.scm ("filtered-port, file"): Open FILE as unbuffered.
c0cd1b3e — Ludovic Courtès 13 years ago
Move record utilities to (guix records).

* guix/utils.scm (define-record-type*): Move to...
* guix/records.scm: ... here.  New file.
* guix/build-system.scm, guix/packages.scm: Use it.
* guix/gnu-maintenance.scm: Likewise.
  (official-gnu-packages)[alist->record]: Remove.
* guix/scripts/substitute-binary.scm: Likewise.
  (alist->record, object->fields): Remove.
* tests/utils.scm ("define-record-type*", "define-record-type* with
  letrec* behavior", "define-record-type* & inherit",
  "define-record-type* & inherit & letrec* behavior",
  "define-record-type* & thunked", "define-record-type* & thunked &
  default", "define-record-type* & thunked & inherited"): Move to...
* tests/records.scm: ... here.  New file.
410e38f8 — Ludovic Courtès 13 years ago
tests: Fix out-of-source builds.

* tests/nar.scm (%test-dir): Compute relative to `pre-inst-env', which
  is in $top_builddir.
ccbce848 — Ludovic Courtès 13 years ago
tests: Add `guix hash' test.

* guix/scripts/hash.scm (guix-hash)[eof->null]: New procedure.
  Use it to convert the EOF object to the empty bytevector.
* tests/guix-hash.sh: New file.
* Makefile.am (SH_TESTS): Add it.
Next