<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/nix, branch v0.6</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>daemon: Clear $NIX_SUBSTITUTERS when passed '--no-substitutes'.</title>
<updated>2014-03-27T22:56:47+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-03-27T21:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=968e84a6cf9941963df0437d9e99adad805e8143'/>
<id>968e84a6cf9941963df0437d9e99adad805e8143</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (main): When --no-substitutes is used,
  clear NIX_SUBSTITUTERS.  Before that, and after
  89faa5c75cb3a419c6d02c51f56955275b7ae351, '--no-substitutes' would
  lead to attempts to use 'download-using-manifests.pl', which in
  practice would gracelessly fail.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/nix-daemon/guix-daemon.cc (main): When --no-substitutes is used,
  clear NIX_SUBSTITUTERS.  Before that, and after
  89faa5c75cb3a419c6d02c51f56955275b7ae351, '--no-substitutes' would
  lead to attempts to use 'download-using-manifests.pl', which in
  practice would gracelessly fail.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Change some options via 'settings.set'.</title>
<updated>2014-03-27T22:56:47+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-03-27T21:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ad0ab74eefcd2f5f3837635a0487280775a0a3a7'/>
<id>ad0ab74eefcd2f5f3837635a0487280775a0a3a7</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (parse_opt): Use 'settings.set' instead
  of direct field access for 'buildCores', 'maxBuildJobs', and
  'useSubstitutes'.
  (main): Call 'settings.update' after 'argp_parse'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/nix-daemon/guix-daemon.cc (parse_opt): Use 'settings.set' instead
  of direct field access for 'buildCores', 'maxBuildJobs', and
  'useSubstitutes'.
  (main): Call 'settings.update' after 'argp_parse'.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Really override the substituters setting.</title>
<updated>2014-03-20T22:06:48+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-03-20T22:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=89faa5c75cb3a419c6d02c51f56955275b7ae351'/>
<id>89faa5c75cb3a419c6d02c51f56955275b7ae351</id>
<content type='text'>
Reported by Andreas Enge &lt;andreas@enge.fr&gt;:
&lt;https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00211.html&gt;.

* nix/nix-daemon/guix-daemon.cc (main): Set the 'NIX_SUBSTITUTERS'
  env. var.  Leave 'settings.substituters' unchanged.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Andreas Enge &lt;andreas@enge.fr&gt;:
&lt;https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00211.html&gt;.

* nix/nix-daemon/guix-daemon.cc (main): Set the 'NIX_SUBSTITUTERS'
  env. var.  Leave 'settings.substituters' unchanged.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Add '--gc-keep-outputs' and '--gc-keep-derivations'.</title>
<updated>2014-02-06T20:49:47+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-02-06T20:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=6e37066e76ce4ffaf8328242d941ca2e0af2965a'/>
<id>6e37066e76ce4ffaf8328242d941ca2e0af2965a</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_GC_KEEP_OUTPUTS,
  GUIX_OPT_GC_KEEP_DERIVATIONS): New macros.
  (options): Add 'gc-keep-outputs' and 'gc-keep-derivations'.
  (string_to_bool): New function.
  (parse_opt): Honor GUIX_OPT_GC_KEEP_DERIVATIONS and
  GUIX_OPT_GC_KEEP_OUTPUTS.
* doc/guix.texi (Invoking guix-daemon): Document --gc-keep-outputs and
  --gc-keep-derivations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_GC_KEEP_OUTPUTS,
  GUIX_OPT_GC_KEEP_DERIVATIONS): New macros.
  (options): Add 'gc-keep-outputs' and 'gc-keep-derivations'.
  (string_to_bool): New function.
  (parse_opt): Honor GUIX_OPT_GC_KEEP_DERIVATIONS and
  GUIX_OPT_GC_KEEP_OUTPUTS.
* doc/guix.texi (Invoking guix-daemon): Document --gc-keep-outputs and
  --gc-keep-derivations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'guix offload' as a daemon build hook.</title>
<updated>2014-01-23T23:01:50+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-01-23T22:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=49e6291a7a257f89f01644423f1b685778b8862a'/>
<id>49e6291a7a257f89f01644423f1b685778b8862a</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
  (options): Add '--no-build-hook'.
  (parse_opt): Handle it.
  (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
  Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
  [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
* pre-inst-env.in: Set and export NIX_BUILD_HOOK.
* nix/scripts/offload.in, guix/scripts/offload.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add "offload".
* config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
  Instantiate 'nix/scripts/offload'.  Set 'BUILD_DAEMON_OFFLOAD'
  conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
  macro.
* daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
* Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
  'guix/scripts/offload.scm'.
  (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
* doc/guix.texi (Setting Up the Daemon): Move most of the body to...
  (Build Environment Setup): ... this.  New subsection.
  (Daemon Offload Setup): New subsection.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
  (options): Add '--no-build-hook'.
  (parse_opt): Handle it.
  (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
  Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
  [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
* pre-inst-env.in: Set and export NIX_BUILD_HOOK.
* nix/scripts/offload.in, guix/scripts/offload.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add "offload".
* config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
  Instantiate 'nix/scripts/offload'.  Set 'BUILD_DAEMON_OFFLOAD'
  conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
  macro.
* daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
* Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
  'guix/scripts/offload.scm'.
  (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
* doc/guix.texi (Setting Up the Daemon): Move most of the body to...
  (Build Environment Setup): ... this.  New subsection.
  (Daemon Offload Setup): New subsection.
</pre>
</div>
</content>
</entry>
<entry>
<title>guix-register: Support registration in the current store, without '--prefix'.</title>
<updated>2014-01-23T23:01:49+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-01-11T15:55:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=349fd3b11f320453ad8eeb3031621d0ffcaf078d'/>
<id>349fd3b11f320453ad8eeb3031621d0ffcaf078d</id>
<content type='text'>
* nix/guix-register/guix-register.cc (register_validity): Leave
  'info.path' unmodified when PREFIX is empty.
  (main): Call 'settings.processEnvironment' early on.
  Leave 'settings.nixStore' unmodified when PREFIX is empty.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/guix-register/guix-register.cc (register_validity): Leave
  'info.path' unmodified when PREFIX is empty.
  (main): Call 'settings.processEnvironment' early on.
  Leave 'settings.nixStore' unmodified when PREFIX is empty.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Implement signed archive import/export.</title>
<updated>2013-12-20T16:17:42+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2013-12-20T16:17:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=526382ff92b20f6c651f03711c160c0c88264b88'/>
<id>526382ff92b20f6c651f03711c160c0c88264b88</id>
<content type='text'>
* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
  tests/signing-key.pub, tests/signing-key.sec: New files.
* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
* guix/store.scm (dump-port): New procedure.
  (process-stderr): Add 'user-port' optional parameter.  Handle
  the %STDERR-WRITE and %STDERR-READ cases as expected.
  (import-paths, export-path, export-paths): New procedures.
* tests/store.scm ("export/import several paths", "import corrupt
  path"): New tests.
* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
  (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
  to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
  'settings.nixLibexecDir'.
* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
  $NIX_CONF_DIR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
  tests/signing-key.pub, tests/signing-key.sec: New files.
* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
* guix/store.scm (dump-port): New procedure.
  (process-stderr): Add 'user-port' optional parameter.  Handle
  the %STDERR-WRITE and %STDERR-READ cases as expected.
  (import-paths, export-path, export-paths): New procedures.
* tests/store.scm ("export/import several paths", "import corrupt
  path"): New tests.
* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
  (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
  to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
  'settings.nixLibexecDir'.
* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
  $NIX_CONF_DIR.
</pre>
</div>
</content>
</entry>
<entry>
<title>sync-with-upstream: Work around limitation of dash.</title>
<updated>2013-12-18T23:42:35+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2013-12-18T23:42:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b1aa25be00c58285c61d9bb25afa7885269e98c9'/>
<id>b1aa25be00c58285c61d9bb25afa7885269e98c9</id>
<content type='text'>
Reported by Andreas Enge &lt;andreas@enge.fr&gt;.

* nix/sync-with-upstream: Expand use of {cc,hh}, to placate dash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Andreas Enge &lt;andreas@enge.fr&gt;.

* nix/sync-with-upstream: Expand use of {cc,hh}, to placate dash.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Fix 'HashSink::currentHash()'.</title>
<updated>2013-12-18T23:02:49+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2013-12-18T20:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0c5028faea7e5c08c920f8ea31f02e7923b8c2d8'/>
<id>0c5028faea7e5c08c920f8ea31f02e7923b8c2d8</id>
<content type='text'>
Before that, calls to 'HashSink::currentHash()' would eventually lead to
a segfault because the underlying gcrypt handle has been closed.  (Note
that this method is only used via 'importPaths' and 'exportPath', though.)

* nix/libutil/gcrypt-hash.hh (struct guix_hash_context): Add a
  constructor and a copy constructor; move out of 'extern "C"'.
* nix/libutil/gcrypt-hash.cc (guix_hash_final): Clear 'md_handle' upon
  exit.
* nix/sync-with-upstream (top_srcdir): Change hash.{cc,hh} to read
  'struct Ctx' instead of 'union Ctx'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before that, calls to 'HashSink::currentHash()' would eventually lead to
a segfault because the underlying gcrypt handle has been closed.  (Note
that this method is only used via 'importPaths' and 'exportPath', though.)

* nix/libutil/gcrypt-hash.hh (struct guix_hash_context): Add a
  constructor and a copy constructor; move out of 'extern "C"'.
* nix/libutil/gcrypt-hash.cc (guix_hash_final): Clear 'md_handle' upon
  exit.
* nix/sync-with-upstream (top_srcdir): Change hash.{cc,hh} to read
  'struct Ctx' instead of 'union Ctx'.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Add libgcrypt call to state that the initialization is over.</title>
<updated>2013-12-18T23:02:49+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2013-12-18T20:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=37dd969c2eff527e21e2d277b3f4433111a0ca9e'/>
<id>37dd969c2eff527e21e2d277b3f4433111a0ca9e</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (main): Add 'gcry_control' call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* nix/nix-daemon/guix-daemon.cc (main): Add 'gcry_control' call.
</pre>
</div>
</content>
</entry>
</feed>
