summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-06-13 17:03:34 +0200
committerLudovic Courtès <ludo@gnu.org>2012-06-13 17:03:34 +0200
commitc36db98c8eaeded5243ecfa1c66e06f38da10692 (patch)
tree2d2fa5ebede4f7f08065e20f07e15bd88e946db4 /tests
parentbcdd83ec69cb818c0a809ca03b1297e9725ad95b (diff)
downloadguix-c36db98c8eaeded5243ecfa1c66e06f38da10692.tar.gz
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.
Diffstat (limited to 'tests')
-rw-r--r--tests/builders.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/builders.scm b/tests/builders.scm
index a70959db6c..c68f1ffe8d 100644
--- a/tests/builders.scm
+++ b/tests/builders.scm
@@ -19,6 +19,7 @@
 
 (define-module (test-builders)
   #:use-module (guix http)
+  #:use-module (guix gnu-build-system)
   #:use-module (guix store)
   #:use-module (guix utils)
   #:use-module (guix derivations)
@@ -40,6 +41,17 @@
     (and (build-derivations %store (list drv-path))
          (file-exists? (derivation-path->output-path drv-path)))))
 
+(test-assert "gnu-build"
+  (let* ((url      "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz")
+         (hash     (nix-base32-string->bytevector
+                    "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))
+         (tarball  (http-fetch %store url 'sha256 hash))
+         (build    (gnu-build %store "hello-2.8" tarball
+                              `(("gawk" . ,(nixpkgs-derivation "gawk"))))))
+    (and (build-derivations %store (list (pk 'hello-drv build)))
+         (file-exists? (string-append (derivation-path->output-path build)
+                                      "/bin/hello")))))
+
 (test-end "builders")