<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/tests/derivations.scm, branch merge-deploy</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://git.jakob.space/guix.git/atom?h=merge-deploy</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=merge-deploy'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-07-15T08:01:05Z</updated>
<entry>
<title>derivations: Update tests to use new calling convention.</title>
<updated>2019-07-15T08:01:05Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-10T16:14:47Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=9e64302d6875585e0d5d1d6c36843c05f23c2ea7'/>
<id>urn:sha1:9e64302d6875585e0d5d1d6c36843c05f23c2ea7</id>
<content type='text'>
* tests/derivations.scm ("build derivation with 1 source"): Adjust to
new 'derivation' calling convention.
("identical files are deduplicated"): Likewise.
("fixed-output-derivation?"): Likewise.
("fixed-output derivation"): Likewise.
("fixed-output derivation, recursive"): Likewise.
("derivation with a fixed-output input"): Likewise.
("multiple-output derivation"): Likewise.
("multiple-output derivation, non-alphabetic order"): Likewise.
("read-derivation vs. derivation"): Likewise.
("user of multiple-output derivation"): Likewise.
("derivation with #:references-graphs"): Likewise.
("derivation #:allowed-references, ok"): Likewise.
("derivation #:allowed-references, not allowed"): Likewise.
("derivation #:allowed-references, self allowed"): Likewise.
("derivation #:allowed-references, self not allowed"): Likewise.
("derivation #:disallowed-references, ok"): Likewise.
("derivation #:disallowed-references, not ok"): Likewise.
("derivation #:leaked-env-vars"): Likewise.
("build derivation with coreutils"): Likewise.
("map-derivation, sources"): Likewise.
("derivation with local file as input"): Remove.
</content>
</entry>
<entry>
<title>derivations: 'derivation-build-plan' recurses on substituables.</title>
<updated>2019-07-04T22:51:17Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-04T21:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=b1510fd8d252c1ab0d32a32f064513105b99cf39'/>
<id>urn:sha1:b1510fd8d252c1ab0d32a32f064513105b99cf39</id>
<content type='text'>
This fixes a bug whereby "guix build texlive -n" would report:

  0.0 MB would be downloaded:
     /gnu/store/…-texlive-20180414

instead of:

  The following derivation would be built:
     /gnu/store/…-texlive-texmf-20180414.drv
  2,595.2 MB would be downloaded:
     /gnu/store/…-texlive-20180414-texmf.tar.xz
     /gnu/store/…-texlive-20180414

where 'texlive-texmf' is a non-substitutable dependency of 'texlive'.

* guix/derivations.scm (dependencies-of-substitutables): New procedure.
(derivation-build-plan): When 'input-substitutable-info' returns true,
append the subset of DEPS that corresponds to SUBSTITUABLES to the first
argument of 'loop'.
* guix/ui.scm (show-what-to-build): Remove half-baked traversal of
DOWNLOAD.
* tests/derivations.scm ("derivation-build-plan and substitutes,
non-substitutable dep"): New test.
</content>
</entry>
<entry>
<title>derivations: 'build-derivations' can be passed derivation inputs.</title>
<updated>2019-06-27T09:14:41Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-23T10:39:39Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2'/>
<id>urn:sha1:7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2</id>
<content type='text'>
* guix/derivations.scm (build-derivations): Accept &lt;derivation-input&gt;
records among DERIVATIONS.
* tests/derivations.scm ("build-derivations with specific output"): Test
it.
</content>
</entry>
<entry>
<title>derivations: &lt;derivation-input&gt; now aggregates a &lt;derivation&gt;.</title>
<updated>2019-06-27T09:14:41Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-23T09:28:29Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=5cf4b26d52bcea382d98fb4becce89be9ee37b55'/>
<id>urn:sha1:5cf4b26d52bcea382d98fb4becce89be9ee37b55</id>
<content type='text'>
Consequently, the whole graph of &lt;derivation&gt; object is readily
available without having to go through 'read-derivation-from-file',
which could have cache misses if the requested &lt;derivation&gt; object had
been GC'd in the meantime.  This is an important property for the
performance of things like 'derivation-build-plan' that traverse the
derivation graph.

* guix/derivations.scm (&lt;derivation-input&gt;): Replace 'path' field by
'derivation'.
(derivation-input-path): Adjust accordingly.
(derivation-input-key): New procedure.
(derivation-input-output-paths): Adjust accordingly.
(coalesce-duplicate-inputs): Likewise.
(derivation-prerequisites): Use 'derivation-input-key' to compute keys
for INPUT-SET.
(derivation-build-plan): Likewise.
(read-derivation): Add optional 'read-derivation-from-file' parameter.
[make-input-drvs]: Call it.
(write-derivation)[write-input]: Adjust to new &lt;derivation-input&gt;.
(derivation/masked-inputs): Likewise, and remove redundant
'coalesce-duplicate-inputs' call.
(derivation)[input-&gt;derivation-input]: Change to consider only the
derivation case.  Update call to 'make-derivation-input'.
[input-&gt;source]: New procedure.
Separate sources from inputs.
(map-derivation): Adjust to new &lt;derivation-input&gt;.
* tests/derivations.scm ("parse &amp; export"): Pass a second argument to
'read-derivation'.
("build-expression-&gt;derivation and derivation-prerequisites")
("derivation-prerequisites and valid-derivation-input?"): Adjust to new
&lt;derivation-input&gt;.
</content>
</entry>
<entry>
<title>derivations: Rewrite and replace 'derivations-prerequisites-to-build'.</title>
<updated>2019-06-27T09:14:41Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-19T20:05:06Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ba04f80e2e0fd92ca381c8fac8a659cb8f9abdd2'/>
<id>urn:sha1:ba04f80e2e0fd92ca381c8fac8a659cb8f9abdd2</id>
<content type='text'>
The new 'derivation-build-plan' procedure has a more appropriate
signature: it takes a list of &lt;derivation-inputs&gt; instead of taking one
&lt;derivation&gt;.  Its body is also much simpler.

* guix/derivations.scm (derivation-build-plan): New procedure.
(derivation-prerequisites-to-build): Express in terms of
'derivation-build-plan' and mark as deprecated.
* tests/derivations.scm: Change 'derivation-prerequisites-to-build'
tests to 'derivation-build-plan' and adjust accordingly.
</content>
</entry>
<entry>
<title>tests: Avoid 'delete-paths' calls for 'derivation-prerequisites-to-build'.</title>
<updated>2019-06-18T14:25:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-17T20:48:44Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=5c7f87881a52a6424fc6722376b990284a06de5a'/>
<id>urn:sha1:5c7f87881a52a6424fc6722376b990284a06de5a</id>
<content type='text'>
* tests/derivations.scm ("derivation-prerequisites-to-build when outputs
already present"): Insert random text in BUILDER, and remove two calls
to 'delete-paths'.  Use 'derivation-&gt;output-path' for INPUT-PATH instead
of an old idiom.
</content>
</entry>
<entry>
<title>store: 'build-things' accepts derivation/output pairs.</title>
<updated>2019-06-10T20:42:59Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-10T20:10:21Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb'/>
<id>urn:sha1:f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb</id>
<content type='text'>
This allows callers to request the substitution of a single derivation
output.

* guix/store.scm (build-things): Accept derivation/output pairs among
THINGS.
* guix/derivations.scm (build-derivations): Likewise.
* tests/store.scm ("substitute + build-things with specific output"):
New test.
* tests/derivations.scm ("build-derivations with specific output"):
New test.
* doc/guix.texi (The Store): Adjust accordingly.
</content>
</entry>
<entry>
<title>daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables.</title>
<updated>2019-02-03T23:03:30Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-02-03T21:10:06Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=a87d66f371da2a84d7bba1cae58b71c9c9af73aa'/>
<id>urn:sha1:a87d66f371da2a84d7bba1cae58b71c9c9af73aa</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/22459&gt;.
Reported by Jeff Mickey &lt;j@codemac.net&gt;.

* guix/config.scm.in (%state-directory): Change NIX_STATE_DIR to
GUIX_STATE_DIRECTORY.
(%store-database-directory): Change NIX_DB_DIR to
GUIX_DATABASE_DIRECTORY.
* nix/libstore/globals.cc (Settings::processEnvironment): Likewise.
* guix/self.scm (make-config.scm): Likewise.
* build-aux/build-self.scm (make-config.scm): Likewise.
* build-aux/test-env.in: Likewise.
* tests/derivations.scm ("derivation #:leaked-env-vars"): Likewise.
* tests/guix-build.sh (GUIX_DAEMON_SOCKET): Likewise.
* tests/guix-daemon.sh (socket): Likewise.
</content>
</entry>
<entry>
<title>store: Rename '&amp;nix-error' to '&amp;store-error'.</title>
<updated>2019-01-21T22:09:55Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-21T16:41:11Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f9e8a12379c6fefc9e5c3c7fc3926599bbefc013'/>
<id>urn:sha1:f9e8a12379c6fefc9e5c3c7fc3926599bbefc013</id>
<content type='text'>
* guix/store.scm (&amp;nix-error): Rename to...
(&amp;store-error): ... this, and adjust users.
(&amp;nix-connection-error): Rename to...
(&amp;store-connection-error): ... this, and adjust users.
(&amp;nix-protocol-error): Rename to...
(&amp;store-protocol-error): ... this, adjust users.
(&amp;nix-error, &amp;nix-connection-error, &amp;nix-protocol-error): Define these
condition types and their getters as deprecrated aliases.
* build-aux/run-system-tests.scm, guix/derivations.scm,
guix/grafts.scm, guix/scripts/challenge.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/offload.scm, guix/serialization.scm,
guix/ssh.scm, guix/tests.scm, guix/ui.scm,
tests/derivations.scm, tests/gexp.scm, tests/guix-daemon.sh,
tests/packages.scm, tests/store.scm, doc/guix.texi: Adjust to use the
new names.
</content>
</entry>
<entry>
<title>derivations: Add properties.</title>
<updated>2018-11-28T09:39:58Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-26T21:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=8856f409d13cd7376be4319b9f75df0692c009d6'/>
<id>urn:sha1:8856f409d13cd7376be4319b9f75df0692c009d6</id>
<content type='text'>
* guix/derivations.scm (derivation): Add #:properties parameter.
[user+system-env-vars]: Honor it.
(derivation-properties): New procedure.
(build-expression-&gt;derivation): Add #:properties and pass it to
'derivation'.
* guix/gexp.scm (gexp-&gt;derivation): Likewise.
* tests/derivations.scm ("derivation-properties"): New test.
* tests/gexp.scm ("gexp-&gt;derivation properties"): New test.
* doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.
</content>
</entry>
</feed>
