jackhill/guix/guix.git
12 years agoAdd the usual top-level files.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Add the usual top-level files.

12 years agoFirst stab at the `derivation' primitive.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
First stab at the `derivation' primitive.

* guix/store.scm (%store-prefix): New parameter.
  (store-path?, derivation-path?): New procedures.

* guix/derivations.scm (write-derivation): Pass SOURCES through
  `object->string'.
  (compressed-hash, store-path, output-path, derivation): New
  procedures.

* tests/derivations.scm (%store): New global variable.
  ("derivation with no inputs"): New test.

12 years agoAdd `bytevector->base16-string'.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Add `bytevector->base16-string'.

* guix/utils.scm (bytevector->base16-string): New procedure.

12 years agoFix `bytevector->nix-base32-string'.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Fix `bytevector->nix-base32-string'.

* 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.

12 years agoMove `sha256' to (guix utils).
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Move `sha256' to (guix utils).

* guix/derivations.scm (sha256): Move to...
* guix/utils.scm (sha256): ... here.

12 years agostore: Raise error conditions upon protocol errors.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
store: Raise error conditions upon protocol errors.

* guix/store.scm (&nix-error, &nix-protocol-error): New SRFI-35
  condition types.
  (process-stderr): Raise an error condition upon protocol errors
  instead of returning to the caller.  This allows the connection to be
  reused for further interactions.

12 years agoAdd (guix utils), with `bytevector->base32-string'.
Ludovic Courtès [Fri, 1 Jun 2012 21:08:32 +0000 (23:08 +0200)]
Add (guix utils), with `bytevector->base32-string'.

* guix/utils.scm, tests/utils.scm: New files.

12 years agoUse libchop for cryptographic hashes and related.
Ludovic Courtès [Fri, 1 Jun 2012 21:29:55 +0000 (23:29 +0200)]
Use libchop for cryptographic hashes and related.

* guix/derivations.scm (sha256): Rewrite using libchop's
  `bytevector-hash'.
  (derivation-hash): Add docstring.

12 years agoAdd unit test for derivation parsing and output.
Ludovic Courtès [Thu, 19 Apr 2012 21:09:55 +0000 (23:09 +0200)]
Add unit test for derivation parsing and output.

* guix/derivations.scm: Export `read-derivation' and `write-derivation'.

* srfi/srfi-64.scm, srfi/srfi-64.upstream.scm: New files, from libchop.
* tests/derivations.scm, tests/test.drv: New files.

12 years agoAdd `.gitignore'.
Ludovic Courtès [Wed, 18 Apr 2012 21:34:19 +0000 (23:34 +0200)]
Add `.gitignore'.

12 years agoSplit (guix) in (guix store) and (guix derivations).
Ludovic Courtès [Wed, 18 Apr 2012 21:34:12 +0000 (23:34 +0200)]
Split (guix) in (guix store) and (guix derivations).

* guix.scm: Move contents to other files.  Just aggregate these.
* guix/derivations.scm, guix/store.scm: New files.

12 years agoInitial commit.
Ludovic Courtès [Wed, 18 Apr 2012 21:21:11 +0000 (23:21 +0200)]
Initial commit.