summaryrefslogtreecommitdiff
path: root/guix/utils.scm
Commit message (Collapse)AuthorAge
...
* Move <location> to (guix utils).Ludovic Courtès2012-09-03
| | | | | * guix/packages.scm (<location>, location): Move to... * guix/utils.scm: ... here.
* define-record-type*: Add the `inherit' syntactic constructor keyword.Ludovic Courtès2012-08-30
| | | | | | | | | * 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.
* build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.Ludovic Courtès2012-08-17
| | | | | | | | | * configure.ac: Add `--with-libgcrypt-prefix'. Substitute `LIBGCRYPT'. * Makefile.am (.scm.go): Pass $(LIBGCRYPT). * guix/utils.scm (%libgcrypt): New variable. (sha256): Use it.
* build: Pass $(NIX_INSTANTIATE) to the build and test environments.Ludovic Courtès2012-08-14
| | | | | | | | | | * 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.
* Add `nixpkgs-derivation*'; use it in the distro.Ludovic Courtès2012-07-11
| | | | | | * guix/utils.scm (nixpkgs-derivation*): New macro. * distro/base.scm: Use it instead of `nixpkgs-derivation'.
* define-record-type*: Add `letrec*' behavior.Ludovic Courtès2012-07-03
| | | | | | | | | * 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.
* Make `define-record-type*' error messages more informative.Ludovic Courtès2012-07-02
| | | | | * guix/utils.scm (define-record-type*): In case of missing or extra field initializers, raise a descriptive `syntax-error'.
* Add a libgcrypt-based implementation of `sha256'.Ludovic Courtès2012-06-29
| | | | | * guix/utils.scm (sha256): Add a libgcrypt-based implementation using the FFI.
* Add a sha256 fallback that uses Coreutils instead of libchop.Ludovic Courtès2012-06-28
| | | | | | * guix/utils.scm (compile-time-value): Move to the top. (sha256): Add an implementation that uses Coreutils, for when libchop is unavailable.
* Introduce `compile-time-value' and use it.Ludovic Courtès2012-06-28
| | | | | | | * guix/utils.scm (compile-time-value): New macro. (%nixpkgs-directory): Use it. * guix/build-system/gnu.scm (%standard-inputs): Likewise.
* Add `define-record-type*'.Ludovic Courtès2012-06-27
| | | | | | * guix/utils.scm (define-record-type*): New macro. * tests/utils.scm ("define-record-type*"): New test.
* Add a `%current-system' fluid.Ludovic Courtès2012-06-11
| | | | | | | | | | * guix/utils.scm (gnu-triplet->nix-system): New procedure. (%current-system): New variable. * tests/utils.scm ("gnu-triplet->nix-system"): New test. * tests/derivations.scm (%current-system): Remove. Update users to use (%current-system) instead.
* Add `base16-string->bytevector'.Ludovic Courtès2012-06-09
| | | | | | * guix/utils.scm (base16-string->bytevector): New procedure. * tests/utils.scm ("bytevector->base16-string->bytevector"): New test.
* Add `base32-string->bytevector' and `nix-base32-string->bytevector'.Ludovic Courtès2012-06-09
| | | | | | | | | | | * guix/utils.scm (bytevector-quintet-set!, bytevector-quintet-set-right!, base32-string-unfold, base32-string-unfold-right, make-base32-string->bytevector, base32-string->bytevector, nix-base32-string->bytevector): New procedures. * tests/utils.scm ("base32-string->bytevector", "nix-base32-string->bytevector"): New tests.
* Allow derivations with input derivations.Ludovic Courtès2012-06-07
| | | | | | | | | | | | | | | | * guix/derivations.scm (derivation-path->output-path): New procedure. (derivation-hash): Call `memoize'. In the fixed-output case, convert HASH-ALGO to a string. In the other case, sort inputs in the alphabetical order of their hex hash. For inputs with no sub-drvs, add "out" as the sub-drv. * guix/utils.scm (%nixpkgs-directory): New parameter. (nixpkgs-derivation, memoize): New procedures. * tests/derivations.scm ("build derivation with 1 source"): Remove useless shebang. (%coreutils): New variable. ("build derivation with coreutils"): New test.
* Add `bytevector->base16-string'.Ludovic Courtès2012-06-03
| | | | * guix/utils.scm (bytevector->base16-string): New procedure.
* Fix `bytevector->nix-base32-string'.Ludovic Courtès2012-06-03
| | | | | | | | | | | | | * guix/utils.scm (bytevector-quintet-ref-right, bytevector-quintet-fold): New procedures. (bytevector-quintet-fold-right): Add `quintet-fold' parameter; use it instead of `bytevector-quintet-fold'. (bytevector->base32-string): Pass BYTEVECTOR-QUINTET-FOLD as the first parameter. (bytevector->nix-base32-string): Pass BYTEVECTOR-QUINTET-FOLD-RIGHT as the first parameter. * tests/utils.scm ("sha256 & bytevector->nix-base32-string"): New test.
* Move `sha256' to (guix utils).Ludovic Courtès2012-06-03
| | | | | * guix/derivations.scm (sha256): Move to... * guix/utils.scm (sha256): ... here.
* Add (guix utils), with `bytevector->base32-string'.Ludovic Courtès2012-06-01
* guix/utils.scm, tests/utils.scm: New files.