~ruther/guix-local

ref: 8759a648ba7fcf76fa2f63ed2d63bbd5ccb8a31c guix-local/tests d---------
dcd60f43 — Ludovic Courtès 13 years ago
define-record-type*: Add the `inherit' syntactic constructor keyword.

* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: New
  `type' parameter.  Add the `inherit' keyword and corresponding support
  code.

* tests/utils.scm ("define-record-type* & inherit", "define-record-type*
  & inherit & letrec* behavior"): New tests.
b86b0056 — Ludovic Courtès 13 years ago
build: Pass $(NIX_INSTANTIATE) to the build and test environments.

* Makefile.am (.scm.go): Define $NIX_INSTANTIATE.
  (TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH.
* guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when
  defined.

* tests/utils.scm (%nix-hash): New variable.
  ("sha256 & bytevector->nix-base32-string"): Use it.
a3d73f59 — Ludovic Courtès 13 years ago
Add `package-transitive-inputs'; use it to honor propagated inputs.

* guix/packages.scm (package-transitive-inputs): New procedure.
  (package-derivation): Use it to compute INPUTS.

* tests/packages.scm (dummy-package): New macro.
  ("package-transitive-inputs"): New test.
b0e0d0e9 — Ludovic Courtès 13 years ago
Add builder-side utilities for phases, stream editing, & co.

* guix/build/utils.scm (with-directory-excursion): New macro.
  (alist-cons-before, alist-cons-after, alist-replace): New procedures.
  (substitute): New procedure.

* tests/build-utils.scm: New file.

* Makefile.am (TESTS): Add `tests/build-utils.scm'.
8fd5bd2b — Ludovic Courtès 13 years ago
define-record-type*: Add `letrec*' behavior.

* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Bind
  all the ((FIELD VALUE) ...) in a `letrec*'.  Adjust `field-value'
  accordingly.

* tests/utils.scm ("define-record-type* with letrec* behavior"): New
  test.
d66ac374 — Ludovic Courtès 13 years ago
derivation: Coalesce multiple occurrences of the same input.

* guix/derivations.scm (write-derivation)[coalesce-duplicate-inputs]:
  New procedure.
  Use it to process INPUTS.

* tests/derivations.scm ("user of multiple-output derivation"): New
  test.
4b1786aa — Ludovic Courtès 13 years ago
Fix `derivation-hash' for outputs not sorted alphabetically.

* guix/derivations.scm (derivation-hash): Reorder OUTPUTS.
* tests/derivations.scm ("multiple-output derivation, non-alphabetic
  order"): New test.
9a20830e — Ludovic Courtès 13 years ago
Add `derivation-prerequisites' and `derivation-prerequisites-to-build'.

* guix/derivations.scm (derivation-prerequisites,
  derivation-prerequisites-to-build): New procedures.

* tests/derivations.scm ("build-expression->derivation and
  derivation-prerequisites", "build-expression->derivation and
  derivation-prerequisites-to-build"): New tests.
31ef99a8 — Ludovic Courtès 13 years ago
Add the `valid-path?' RPC.

* guix/store.scm (valid-path?): New procedure.

* tests/builders.scm ("http-fetch", "gnu-build"): Use it.
* tests/derivations.scm ("add-to-store, flat", "add-to-store,
  recursive", "derivation with no inputs", "build derivation with 1
  source", "build derivation with coreutils",
  "build-expression->derivation with expression returning #f"):
  Likewise.
6b1891b0 — Ludovic Courtès 13 years ago
Add (distro) with a package searching facility.

* Makefile.am (MODULES): Add `distro.scm'.

* distro.scm: New file.
* po/POTFILES.in: Add it.

* tests/packages.scm ("find-packages-by-name", "find-packages-by-name
  with version"): New tests.
35f3c5f5 — Ludovic Courtès 13 years ago
Track the source location of packages.

* guix/packages.scm (<location>): New record type.
  (location, source-properties->location): New procedures.
  (<package>)[location]: New field.

* tests/packages.scm ("GNU Hello"): Test `package-location'.
e3ce5d70 — Ludovic Courtès 13 years ago
Add a declarative packaging layer.

* Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'.
  (TESTS): Add `tests/packages.scm'.
  (EXTRA_DIST): New variable.

* guix/packages.scm, distro/base.scm, tests/packages.scm: New files.

* guix/http.scm (http-fetch): Make `name' an optional argument, to match
  the expectations of `package-source-derivation'.
208f7cd1 — Ludovic Courtès 13 years ago
Abstract build systems.

* Makefile.am (MODULES): Add `guix/build-system.scm' and
  `guix/build-system/gnu.scm'.  Remove `guix/gnu-build-system.scm'.

* guix/build-system.scm: New file.
* guix/gnu-build-system.scm: Rename to...
* guix/build-system/gnu.scm: ... this.
  (gnu-build-system): New variable.

* tests/builders.scm: Adjust `use-module' clauses.
  ("gnu-build-system"): New test.
72d86963 — Ludovic Courtès 13 years ago
Add `define-record-type*'.

* guix/utils.scm (define-record-type*): New macro.

* tests/utils.scm ("define-record-type*"): New test.
db393b33 — Ludovic Courtès 13 years ago
build-expression->derivation: Have the build fail when EXP returns #f.

* guix/derivations.scm (build-expression->derivation)[builder]: Pass the
  result of EXP to `exit'.

* tests/derivations.scm ("build-expression->derivation with expression
  returning #f"): New test.
2acb2cb6 — Ludovic Courtès 13 years ago
Change `build-expression->derivation' to support sub-derivation inputs.

* guix/derivations.scm (build-expression->derivation): Change to expect
  INPUTS to have the form (NAME DRV-PATH SUB-DRV) or (NAME DRV-PATH),
  instead of (NAME . DRV-PATH).  Update callers accordingly.

* guix/gnu-build-system.scm, tests/builders.scm, tests/derivations.scm:
  Update accordingly.
c36db98c — Ludovic Courtès 13 years ago
Add supporting tools for the GNU Build System.

* guix/derivations.scm (build-expression->derivation): Add all of INPUTS
  as inputs to the final derivation.

* guix/build/gnu-build-system.scm, guix/build/utils.scm,
  guix/gnu-build-system.scm: New files.

* tests/builders.scm ("gnu-build"): New test.
224f7ad6 — Ludovic Courtès 13 years ago
Fix `imported-files' for files with a common prefix.

* guix/derivations.scm (imported-files)[builder]: For TAIL, check
  whether it exists before (mkdir TAIL).

* tests/derivations.scm ("imported-files"): Add file with a common
  prefix.
d1b1c424 — Ludovic Courtès 13 years ago
Add `add-to-store' test for flat files.

* tests/derivations.scm ("add-to-store, flat"): New test.
3eb98237 — Ludovic Courtès 13 years ago
Augment `build-expression->derivation' with #:modules; add `http-fetch'.

* guix/derivations.scm (imported-modules): New procedure.
  (build-expression->derivation): New keyword argument `modules'.
  Use `imported-modules' when MODULES is non-empty, and pass it with
  `-L' to GUILE.

* guix/build/http.scm, guix/http.scm, tests/builders.scm: New files.
Next