<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/derivations.scm, branch master</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=master</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-06-19T20:56:27Z</updated>
<entry>
<title>derivations: Add 'derivation-input-derivation'.</title>
<updated>2019-06-19T20:56:27Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-19T19:49:22Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=2ef22a9f371276be0b1474c512f125d1f0d0c064'/>
<id>urn:sha1:2ef22a9f371276be0b1474c512f125d1f0d0c064</id>
<content type='text'>
* guix/derivations.scm (derivation-input-derivation): New procedure.
(derivation-prerequisites): Use it.
</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>derivations: Reduce 'valid-path?' RPCs in 'derivation-prerequisites-to-build'.</title>
<updated>2019-04-16T15:30:21Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-16T09:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e856177597b5a7f1b75bb4083ad1e0b50323c82e'/>
<id>urn:sha1:e856177597b5a7f1b75bb4083ad1e0b50323c82e</id>
<content type='text'>
On a profile with 280 packages, this reduces the number of
'valid-paths?' RPCs made by 'guix package -nu' from 6K to 500.

* guix/derivations.scm (derivation-prerequisites-to-build)[built?]:
Memoize 'valid-path?' calls.
</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>
<entry>
<title>Switch to Guile-Gcrypt.</title>
<updated>2018-09-04T15:25:11Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-08-31T15:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ca719424455465fca4b872c371daf2a46de88b33'/>
<id>urn:sha1:ca719424455465fca4b872c371daf2a46de88b33</id>
<content type='text'>
This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)

* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt.  Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&amp;co): Rename to...
(gcrypt-sqlite3&amp;co): ... this.  Add GUILE-GCRYPT.
(expression-&gt;derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&amp;co): Rename to...
(gcrypt-sqlite3&amp;co): ... this.  Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
 #:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions  Remove (guix config) from
the imported modules.
* guix/self.scm (specification-&gt;package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules.  Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
</content>
</entry>
<entry>
<title>derivations: Fix typo in docstring.</title>
<updated>2018-01-10T23:00:03Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-10T22:09:05Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e21888dd0d0abfb6fa89a2d5b4689e36db238391'/>
<id>urn:sha1:e21888dd0d0abfb6fa89a2d5b4689e36db238391</id>
<content type='text'>
* guix/derivations.scm (derivation-prerequisites): Fix typo in docstring.
</content>
</entry>
<entry>
<title>hydra: Invalidate derivation caches after each architecture evaluation.</title>
<updated>2017-12-13T22:11:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-13T14:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=34797d8afc3c5f1211a4baf1161de640fc630a2e'/>
<id>urn:sha1:34797d8afc3c5f1211a4baf1161de640fc630a2e</id>
<content type='text'>
This reduces max RSS from 1.3G to 1.0G.

* guix/derivations.scm (invalidate-derivation-caches!): New procedure.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use it.  Add 'format'
call.
</content>
</entry>
<entry>
<title>derivations: Don't memoize 'derivation-hash'.</title>
<updated>2017-12-13T22:11:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-13T13:35:44Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=90354e34e386b21451e0b6dab87ff5d9e81a94ae'/>
<id>urn:sha1:90354e34e386b21451e0b6dab87ff5d9e81a94ae</id>
<content type='text'>
This has little or no run-time impact and slightly reduces the memory
footprint.

* guix/derivations.scm (derivation-hash): Replace 'mlambda' with
'lambda'.
</content>
</entry>
<entry>
<title>derivations: Split 'derivation-hash' in two procedures.</title>
<updated>2017-12-13T22:11:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-13T13:00:20Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=eb1150c22c2175fbcf834b9f5164ef0d693df3cf'/>
<id>urn:sha1:eb1150c22c2175fbcf834b9f5164ef0d693df3cf</id>
<content type='text'>
* guix/derivations.scm (derivation/masked-inputs): New procedure.
(derivation-hash): Use it instead of the inline code.
</content>
</entry>
</feed>
