Commit Graph

105 Commits

Author SHA1 Message Date
Ludovic Courtès dcee50c114 store: Wait for the server to be done sending output.
* guix/store.scm (current-build-output-port): New variable.
  (process-stderr): Add docstring.  Always return #f, except upon
  %STDERR-LAST.  Upon %STDERR-NEXT, write to
  `current-build-output-port', not `current-error-port'.
  (set-build-options): Loop until `process-stderr' returns true.
  (define-operation): Likewise.
  (build-derivations): Update docstring to mention that it's
  synchronous.
2012-06-16 16:13:12 +02:00
Ludovic Courtès b37eb5ede6 Add `add-to-store' with recursive directory storage.
* guix/store.scm (write-file): Implement directory recursive dump.
  (add-to-store): Fix the parameter list.

* tests/derivations.scm (directory-contents): New procedure.
  ("add-to-store, recursive"): New test.
2012-06-10 22:43:02 +02:00
Ludovic Courtès 26bbbb9520 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.
2012-06-03 23:32:06 +02:00
Ludovic Courtès e87088c9d5 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.
2012-06-02 23:18:45 +02:00
Ludovic Courtès 77d3cf087d 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.
2012-04-18 23:34:12 +02:00