summaryrefslogtreecommitdiff
path: root/tests/derivations.scm
Commit message (Expand)AuthorAgeFilesLines
...
* derivations: Keep the .drv file name in <derivation> objects.•••* guix/derivations.scm (<derivation>): Add 'file-name' field. (%read-derivation): Use (port-filename DRV-PORT) as the file name for the result. (derivation): Set the 'file-name' field in the result. * tests/derivations.scm ("build derivation with 1 source"): Assert that 'derivation-file-name' returns the right thing. Ludovic Courtès2013-09-171-0/+1
* derivations: Rename #:dependency-graphs to #:references-graphs.•••* guix/derivations.scm (derivation, build-expression->derivation): Rename #:dependency-graphs to #:references-graphs, for consistency in the terminology. * tests/derivations.scm: Adjust accordingly. Ludovic Courtès2013-08-281-5/+5
* derivations: Add #:dependency-graphs to `build-expression->derivation'.•••* guix/derivations.scm (build-expression->derivation): Add #:dependency-graphs keyword argument. Pass it to `derivation'. * tests/derivations.scm ("build-expression->derivation with #:dependency-graphs"): New test. * doc/guix.texi (Derivations): Update `build-expression->derivation' description. Ludovic Courtès2013-08-261-1/+33
* derivations: Add #:dependency-graphs `derivation' parameter.•••* guix/derivations.scm (derivation): Add `dependency-graphs' keyword parameter; honor it. * tests/derivations.scm (bootstrap-binary): New procedure. (%bash): Use it. (%mkdir): New variable. (directory-contents): Add `slurp' optional parameter. ("derivation with #:dependency-graphs"): New test. * doc/guix.texi (Derivations): Update accordingly. Ludovic Courtès2013-08-261-7/+61
* derivations: Move 3 positional parameters into keyword parameters.•••* guix/derivations.scm (derivation): Turn `system', `env-vars', and `inputs' into keyword parameters. (build-expression->derivation): Adjust accordingly. * gnu/packages/bootstrap.scm (%bootstrap-guile): Likewise. * tests/derivations.scm, tests/store.scm: Likewise. * doc/guix.texi (Derivations): Likewise. Ludovic Courtès2013-08-261-61/+54
* Move `sha256' to (guix hash).•••* guix/utils.scm (sha256): Move to... * guix/hash.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/derivations.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/scripts/refresh.scm, tests/base32.scm, tests/derivations.scm, tests/store.scm: Use (guix hash). Ludovic Courtès2013-07-011-0/+1
* Add `--max-silent-time' to `guix build' and `guix package'.•••* guix/scripts/build.scm (%default-options): Add default `max-silent-time' value. (show-help, %options): Add `--max-silent-time'. (guix-build): Pass `max-silent-time' to `set-build-options'. * guix/scripts/package.scm (%default-options): Add default `max-silent-time' value. (show-help, %options): Add `--max-silent-time'. (guix-package): Pass `max-silent-time' to `set-build-options'. * guix/ui.scm (string->number*): New procedure. * tests/derivations.scm ("build-expression->derivation and max-silent-time"): New test. * doc/guix.texi (Invoking guix package, Invoking guix build): Document `--max-silent-time'. Ludovic Courtès2013-05-201-0/+15
* scripts: Report what will be substituted.•••* guix/derivations.scm (derivation-input-output-paths): New procedure. (derivation-prerequisites-to-build): New `use-substitutes?' keyword argument. Change two return the list of substitutable paths as a second argument. * guix/ui.scm (show-what-to-build): Turn `dry-run?' into a keyword argument. New `use-substitutes?' keyword argument. Use `fold2' and adjust to use both return values of `derivation-prerequisites-to-build'. Display what will/would be downloaded. * guix/scripts/build.scm (guix-build): Adjust accordingly. * guix/scripts/package.scm (guix-package): Likewise. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes"): New test. Ludovic Courtès2013-04-171-0/+46
* tests: Fix thinko in `derivation' test.•••* tests/derivations.scm ("derivation with local file as input"): Return a Boolean instead of a bytevector. Don't attempt to compare the content of the result with that of the input. Ludovic Courtès2013-02-041-4/+4
* Augment `.dir-locals.el'.•••* .dir-locals.el: Add more Scheme settings. * guix-build.in, tests/base32.scm, tests/build-utils.scm, tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm: Remove redundant Emacs local variable settings. Ludovic Courtès2013-02-011-5/+0
* store: Remove the `fixed?' parameter from `add-to-store'.•••* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the public interface. * gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm, guix/packages.scm, tests/derivations.scm: Update all callers accordingly. Ludovic Courtès2013-01-301-4/+4
* distro: Rename (distro) to (gnu packages).•••* distro.scm: Rename to... * gnu/packages.scm: ... this. Update all users accordingly. * Makefile.am (MODULES): Adjust accordingly. * po/POTFILES.in: Likewise. Ludovic Courtès2013-01-181-1/+1
* distro: Change the module name space to (gnu ...).•••* distro: Rename to... * gnu: ... this. Update module names accordingly. * Makefile.am: Adjust accordingly. * po/POTFILES.in: Likewise. * distro.scm: Search for files under /gnu/packages instead of /distro/packages. * gnu/packages/base.scm (ld-wrapper-boot3): Likewise. Ludovic Courtès2013-01-181-1/+1
* Merge branch 'core-updates'•••Conflicts: guix/build/union.scm Ludovic Courtès2013-01-111-17/+24
|\
| * Merge branch 'master' into core-updates•••Conflicts: build-aux/download.scm distro/packages/autotools.scm distro/packages/base.scm distro/packages/bootstrap.scm distro/packages/lsh.scm distro/packages/make-bootstrap.scm distro/packages/ncurses.scm distro/packages/perl.scm tests/derivations.scm tests/union.scm Ludovic Courtès2013-01-061-7/+10
| |\
| * | tests: Adjust to not rely on /bin/sh.•••* tests/derivations.scm (%bash): New variable. Replace occurrences of "/bin/sh" by %BASH. * tests/union.scm ("union-build"): Delete duplicates from %BOOTSTRAP-INPUTS. Ludovic Courtès2013-01-021-18/+25
* | | derivations: Fix `derivation-prerequisites-to-build' when outputs are there.•••Before it would list inputs not built, even if the outputs of the given derivation were already available. * guix/derivations.scm (derivation-prerequisites-to-build): Add `outputs' keyword parameter. [built?, derivation-built?]: New procedures. [loop]: Add `sub-drvs' parameter. Use `derivation-built?' to check if the SUB-DRVS of DRV are built before checking its inputs. Ludovic Courtès2013-01-091-0/+38
| |/ |/|
* | Update license headers.•••Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually. Ludovic Courtès2013-01-061-6/+6
* | derivations: Add `derivation-path->output-paths'.•••* guix/derivations.scm (derivation-path->output-paths): New procedure. * tests/derivations.scm ("multiple-output derivation"): Test it. Ludovic Courtès2013-01-051-2/+5
|/
* tests: Skip network-dependent tests when the network is unreachable.•••* tests/builders.scm (network-reachable?): New variable. ("url-fetch", "gnu-build"): Skip unless NETWORK-REACHABLE?. * tests/derivations.scm (%coreutils): Check for network access. ("build-expression->derivation with one input"): Skip when %COREUTILS is #f. * tests/guix-package.sh: Skip installation of GNU Make when the network is unreachable. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/union.scm ("union-build"): Likewise. Ludovic Courtès2012-12-131-2/+4
* build: Update skip count in `tests/derivations.scm'.•••* tests/derivations.scm: When %STORE if #f, skip 11 tests. Ludovic Courtès2012-12-061-1/+1
* derivations: Fix erroneous call to `add-to-store' for local files as input.•••* guix/derivations.scm (derivation)[inputs]: Fix typo in call to `add-to-store'. * tests/derivations.scm ("derivation with local file as input"): New test. * tests/packages.scm ("trivial with local file as input"): New test. Ludovic Courtès2012-12-041-0/+23
* tests: Remove extraneous test.•••* tests/derivations.scm ("build-expression->derivation for fixed-output derivation"): Remove test. It is redundant with that in builders.scm, and doesn't work out of the box with the statically-linked %BOOTSTRAP-GUILE. Ludovic Courtès2012-11-131-24/+0
* Move base32 code to (guix base32).•••* guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right, bytevector-quintet-length, bytevector-quintet-fold, bytevector-quintet-fold-right, make-bytevector->base32-string, %nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string, bytevector->nix-base32-string, 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): Move to... * guix/base32.scm: ... here. New file. * tests/utils.scm (%nix-hash, "bytevector->base32-string", "base32-string->bytevector", "nix-base32-string->bytevector", "sha256 & bytevector->base32-string"): Move to... * tests/base32.scm: ... here. New file * guix-download.in, guix/derivations.scm, guix/packages.scm, guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust accordingly. * guix.scm (%public-modules): Add `base32'. Ludovic Courtès2012-11-111-0/+1
* derivations: build-expression->derivation: Builder only refers to sources.•••* guix/derivations.scm (build-expression->derivation)[source-path]: New procedure. [builder]: Pass only sources as references. This fixes a bug whereby changing a fixed-output drv referred to by a builder would cause the builder's hash to change, thereby leading to a full rebuild. * tests/derivations.scm ("build-expression->derivation with a fixed-output input"): New test. Ludovic Courtès2012-11-091-0/+34
* derivations: Add tests relative to fixed-output derivations.•••* tests/derivations.scm ("fixed-output derivation"): Add comment that the reference to BUILDER is optional. ("fixed-output derivation: output paths are equal", "derivation with a fixed-output input", "build-expression->derivation: same fixed-output path"): New tests. Ludovic Courtès2012-11-081-2/+83
* distro: Move bootstrap packages to (distro packages bootstrap).•••* distro/packages/base.scm (glibc-dynamic-linker, %bootstrap-guile, bootstrap-origin, package-from-tarball, %bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc, %bootstrap-inputs, package-with-bootstrap-guile): Move to ... * distro/packages/bootstrap.scm: ... here. New file. * Makefile.am (MODULES): Add it. * tests/builders.scm: Use (distro packages bootstrap). (%bootstrap-guile): Remove. * tests/packages.scm: Likewise. * tests/union.scm: Likewise, and remove @@ to access %bootstrap-inputs. * tests/derivations.scm: Use (distro packages bootstrap) and remove @@ to access %bootstrap-coreutils&co. * HACKING (When the platform is supported by Nixpkgs): Update accordingly. Ludovic Courtès2012-11-041-4/+2
* tests: Run without substitutes.•••* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set #:use-substitutes? #f for %STORE. Ludovic Courtès2012-11-021-0/+3
* tests: Use our own bootstrap tools.•••* tests/builders.scm (%bootstrap-inputs): Use %BOOT0-INPUTS from the distro. * tests/packages.scm (%bootstrap-inputs): Likewise. * tests/derivations.scm (%coreutils): Alias for %BOOTSTRAP-COREUTILS&CO. Ludovic Courtès2012-10-281-1/+5
* derivations: Pass the derivation of guile-for-build to `imported-files' & co.•••* guix/derivations.scm (%guile-for-build): Initialize to #f. (imported-files, imported-modules, compiled-modules): Add `guile' keyword parameter. Pass it down to `build-expression->derivation'. (build-expression->derivation)[guile-drv]: New variable. Pass it as the #:guile parameter for `imported-modules' and `compiled-modules'. * tests/derivations.scm: Set %GUILE-FOR-BUILD to the derivation of %BOOTSTRAP-GUILE. Ludovic Courtès2012-10-251-0/+7
* store: Add `query-path-hash'.•••* guix/store.scm (write-arg, read-arg): Add `base16' literal and corresponding rule. (query-path-hash): New operation. * tests/derivations.scm ("fixed-output derivation"): Check whether `query-path-hash' returns a bytevector. Ludovic Courtès2012-10-241-2/+3
* derivations: Compile the #:modules passed to `build-expression->derivation'.•••* guix/derivations.scm (imported-files)[parent-dirs]: Move to... (parent-directories): ... here. New procedure. (compiled-modules): New procedure. (build-expression->derivation): Use it. * tests/derivations.scm ("build-expression->derivation with modules"): New test. Ludovic Courtès2012-10-241-0/+17
* 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. Ludovic Courtès2012-07-021-0/+32
* 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. Ludovic Courtès2012-07-021-0/+18
* 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. Ludovic Courtès2012-07-011-1/+18
* 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. Ludovic Courtès2012-07-011-11/+19
* 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. Ludovic Courtès2012-06-161-0/+16
* 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. Ludovic Courtès2012-06-131-1/+1
* 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. Ludovic Courtès2012-06-121-1/+2
* Add `add-to-store' test for flat files.•••* tests/derivations.scm ("add-to-store, flat"): New test. Ludovic Courtès2012-06-121-0/+7
* Add `imported-files'.•••* guix/derivations.scm (imported-files): New procedure. (build-expression->derivation): Correctly handle inputs that are sources and not derivation paths. * tests/derivations.scm ("imported-files"): New test. Ludovic Courtès2012-06-111-2/+20
* Fix the `build-expression->derivation' fixed-output test.•••* tests/derivations.scm ("build-expression->derivation"): Fix the builder to actually pass a bytevector to `put-bytevector'. Ludovic Courtès2012-06-111-8/+9
* Add a `%current-system' fluid.•••* 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. Ludovic Courtès2012-06-111-13/+9
* 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. Ludovic Courtès2012-06-101-2/+29
* tests: Don't hard-code the system type.•••* tests/derivations.scm (%current-system): New variable. Replace occurrences of "x86_64-linux" by %CURRENT-SYSTEM. Ludovic Courtès2012-06-101-9/+13
* Add multiple-output support to `build-expression->derivation'.•••* guix/derivations.scm (build-expression->derivation): Add `outputs' keyword parameter; pass it to `derivation'. Define `%outputs' in the prologue. * tests/derivations.scm ("build-expression->derivation with two outputs"): New test. Ludovic Courtès2012-06-091-0/+20
* Add `derivation' test for multiple-output derivations.•••* tests/derivations.scm ("multiple-output derivation"): New test. Ludovic Courtès2012-06-091-0/+18
* Sort environment variables alphabetically in `derivation'.•••* guix/derivations.scm (derivation)[env-vars-with-empty-outputs]: Sort the result alphabetically. * tests/derivations.scm ("build derivation with 1 source"): Add environment variables. Ludovic Courtès2012-06-091-1/+3
* Add support for fixed-output derivations in `build-expression->derivation'.•••* guix/derivations.scm (build-expression->derivation): Pass HASH and HASH-ALGO to `derivation'. * tests/derivations.scm ("build-expression->derivation for fixed-output derivation"): New test. Ludovic Courtès2012-06-091-0/+23
* Add support for fixed-output derivations.•••* guix/derivations.scm (read-derivation)[outputs->alist]: For fixed-outputs, convert HASH with `base16-string->bytevector'. (write-derivation): Likewise, convert HASH-ALGO to a string and HASH to a base16 string. (derivation-hash): Expect HASH to be a bytevector, not a string; convert HASH with `bytevector->base16-string'. * tests/derivations.scm ("fixed-output derivation"): New test. Ludovic Courtès2012-06-091-0/+15