<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/nix/libstore/builtins.cc, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-02-04T15:20:01Z</updated>
<entry>
<title>daemon: Add "/guix" to default 'nixLibexecDir'.</title>
<updated>2019-02-04T15:20:01Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-02-04T15:14:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=959eaa1eb834fd47ceab3c5bbbe4967e808d530b'/>
<id>urn:sha1:959eaa1eb834fd47ceab3c5bbbe4967e808d530b</id>
<content type='text'>
This makes it easier to run the uninstalled daemon.

* nix/local.mk (libstore_a_CPPFLAGS): Append "/guix" to
NIX_LIBEXEC_DIR.
* build-aux/pre-inst-env.in (NIX_LIBEXEC_DIR): Adjust comment.
* nix/libstore/builtins.cc (builtinDownload): Remove SUBDIR and its
use.
* nix/libstore/local-store.cc (runAuthenticationProgram): Ditto.
* nix/libstore/gc.cc (addAdditionalRoots): Remove "/guix" prefix.
* nix/nix-daemon/guix-daemon.cc (main): Ditto.
</content>
</entry>
<entry>
<title>perform-download: Optionally report a "download-progress" trace.</title>
<updated>2018-09-27T21:21:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-12T13:08:38Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=240a9c69a6064544a616acc521c993542c364948'/>
<id>urn:sha1:240a9c69a6064544a616acc521c993542c364948</id>
<content type='text'>
* guix/scripts/perform-download.scm (perform-download): Add
 #:print-build-trace? and pass it to 'url-fetch'.
(guix-perform-download): Define 'print-build-trace?' and pass it to
'perform-download'.
* guix/build/download.scm (ftp-fetch): Add #:print-build-trace? and
honor it.
(url-fetch): Likewise.
* nix/libstore/builtins.cc (builtinDownload): Set _NIX_OPTIONS
environment variable.
</content>
</entry>
<entry>
<title>daemon: Define 'NIX_STORE' before invoking 'guix perform-download'.</title>
<updated>2017-02-07T13:51:17Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-02-07T13:44:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=328f7cbe435d79d61f57129d9e3ee90404d6bfda'/>
<id>urn:sha1:328f7cbe435d79d61f57129d9e3ee90404d6bfda</id>
<content type='text'>
Reported by rohit yadav &lt;rohityadav@utexas.edu&gt;
at &lt;https://lists.gnu.org/archive/html/guix-devel/2017-02/msg00191.html&gt;.

This fixes a regression whereby 'guix perform-download' would always see
NIX_STORE as unset and thus use "/gnu/store", leading it to miscompute
the hydra.gnu.org content-addressed URLs when the store file name is not
"/gnu/store".

* nix/libstore/builtins.cc (builtinDownload): Add 'setenv' call for
'NIX_STORE'.
</content>
</entry>
<entry>
<title>daemon: Allow check builds of 'builtin:download' derivations.</title>
<updated>2017-01-11T16:06:31Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-01-11T16:06:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=9b5364a3afb03414bd6e3ded2fbfdacabe4e8870'/>
<id>urn:sha1:9b5364a3afb03414bd6e3ded2fbfdacabe4e8870</id>
<content type='text'>
Fixes &lt;http://bugs.gnu.org/25089&gt;.
Reported by Leo Famulari &lt;leo@famulari.name&gt;.

* nix/libstore/build.cc (DerivationGoal::runChild): In the 'isBuiltin'
case, check whether DRV's output is in 'redirectedOutputs', and pass an
'output' argument to the built-in builder.
(DerivationGoal::addHashRewrite): Add 'printMsg' call.
* nix/libstore/builtins.hh (derivationBuilder): Add 'output' parameter.
* nix/libstore/builtins.cc (builtinDownload): Likewise.
Add OUTPUT to ARGV.
* guix/scripts/perform-download.scm (perform-download): Add 'output'
parameter.
(guix-perform-download): Adjust 'match' clauses accordingly.
* tests/derivations.scm ("'download' built-in builder, check mode"): New
test.
</content>
</entry>
<entry>
<title>daemon: Add 'built-in-builders' RPC.</title>
<updated>2016-11-16T17:19:54Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-11-13T21:59:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=f9aefa2d5fb3f6aad25a907939ee872c828b33d0'/>
<id>urn:sha1:f9aefa2d5fb3f6aad25a907939ee872c828b33d0</id>
<content type='text'>
* nix/libstore/builtins.cc (builtinBuilderNames): New function.
* nix/libstore/builtins.hh (builtinBuilderNames): New declaration.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x160.
(WorkerOp)[wopBuiltinBuilders]: New value.
* nix/nix-daemon/nix-daemon.cc (performOp): Handle it.
* guix/store.scm (operation-id)[built-in-builders]: New value.
* guix/store.scm (read-arg): Add 'string-list'.
(built-in-builders): New procedure.
* tests/derivations.scm ("built-in-builders"): New test.
</content>
</entry>
<entry>
<title>daemon: Add "builtin:download" derivation builder.</title>
<updated>2016-11-16T17:19:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2015-07-20T02:30:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=94d92c7796a3dd50c27d532315f7d497ac99f08e'/>
<id>urn:sha1:94d92c7796a3dd50c27d532315f7d497ac99f08e</id>
<content type='text'>
This ensures that 1) the derivation doesn't change when Guix changes;
2) the derivation closure doesn't contain Guix and its dependencies; 3)
we don't have to rely on ugly chroot hacks.

Adapted from Nix commit 0a2bee307b20411f5b0dda0c662b1f9bb9e0e131.

* nix/libstore/build.cc (DerivationGoal::runChild): Add special case for
'isBuiltin(drv)'.  Disable chroot when 'isBuiltin(drv)'.
* nix/libstore/builtins.cc, nix/libstore/builtins.hh,
nix/scripts/download.in, guix/scripts/perform-download.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add 'perform-download'.
* nix/local.mk (libstore_a_SOURCES): Add builtins.cc.
(libstore_headers): Add builtins.hh.
(nodist_pkglibexec_SCRIPTS): Add 'scripts/download'.
* config-daemon.ac: Emit 'scripts/download'.
* Makefile.am (MODULES): Add 'guix/scripts/perform-download.scm'.
* tests/derivations.scm ("unknown built-in builder")
("'download' built-in builder")
("'download' built-in builder, invalid hash")
("'download' built-in builder, not found")
("'download' built-in builder, not fixed-output"): New tests.

Co-authored-by: Eelco Dolstra &lt;eelco.dolstra@logicblox.com&gt;
</content>
</entry>
</feed>
