<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/gexp.scm, branch v0.8</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>gexp: Allow use of high-level objects in #:references-graphs.</title>
<updated>2014-09-06T21:42:56+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-09-06T13:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b53833b2ef36cf139f65193bec688396a734b0d0'/>
<id>b53833b2ef36cf139f65193bec688396a734b0d0</id>
<content type='text'>
* guix/gexp.scm (lower-reference-graphs): New procedure.
  (gexp-&gt;derivation)[graphs-file-names]: New procedure.
  Use 'lower-reference-graphs', and augment #:inputs argument as a
  function of #:references-graphs.
* doc/guix.texi (G-Expressions): Adjust 'gexp-&gt;derivation' documentation
  accordingly.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): Remove reference to
  TWO in BUILD-DRV.  Use TWO directly in #:references-graphs argument.
  ("gexp-&gt;derivation #:references-graphs"): New test.
* gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as
  the #:references-graphs argument to
  'expression-&gt;derivation-in-linux-vm'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (lower-reference-graphs): New procedure.
  (gexp-&gt;derivation)[graphs-file-names]: New procedure.
  Use 'lower-reference-graphs', and augment #:inputs argument as a
  function of #:references-graphs.
* doc/guix.texi (G-Expressions): Adjust 'gexp-&gt;derivation' documentation
  accordingly.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): Remove reference to
  TWO in BUILD-DRV.  Use TWO directly in #:references-graphs argument.
  ("gexp-&gt;derivation #:references-graphs"): New test.
* gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as
  the #:references-graphs argument to
  'expression-&gt;derivation-in-linux-vm'.
</pre>
</div>
</content>
</entry>
<entry>
<title>vm: Move store copy handling to (guix build store-copy).</title>
<updated>2014-09-04T21:24:54+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-09-04T21:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=6fd1a7967481037560d2ab25f31da182822ef889'/>
<id>6fd1a7967481037560d2ab25f31da182822ef889</id>
<content type='text'>
* gnu/build/vm.scm (read-reference-graph, populate-store): Move to...
* guix/build/store-copy.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression-&gt;derivation-in-linux-vm): Adjust default
  #:modules values accordingly.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/vm.scm (read-reference-graph, populate-store): Move to...
* guix/build/store-copy.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression-&gt;derivation-in-linux-vm): Adjust default
  #:modules values accordingly.
* tests/gexp.scm ("gexp-&gt;derivation, store copy"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>Factorize test suite support in (guix tests).</title>
<updated>2014-08-23T20:33:04+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-08-23T17:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c1bc358f293b97c9575f6195c3e7a119b05199ce'/>
<id>c1bc358f293b97c9575f6195c3e7a119b05199ce</id>
<content type='text'>
* guix/tests.scm: New file.
* Makefile.am (noinst_DATA): New variable.
  (GOBJECTS): Add guix/tests.go.
* tests/builders.scm (%store): Use 'open-connection-for-tests'
  from (guix tests).
* tests/derivations.scm: Likewise.
* tests/monads.scm: Likewise.
* tests/packages.scm: Likewise.
* tests/profiles.scm: Likewise.
* tests/union.scm: Likewise.
* tests/gexp.scm: Likewise.
  (guile-for-build): Remove.  Use (%guile-for-build) instead.
* tests/nar.scm (make-random-bytevector, %seed, random-text): Remove.
  (populate-file): Change 'make-random-bytevector' to 'random-bytevector'.
  Use (guix tests).
* tests/store.scm (%seed, random-text): Remove.
  Use (guix tests).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/tests.scm: New file.
* Makefile.am (noinst_DATA): New variable.
  (GOBJECTS): Add guix/tests.go.
* tests/builders.scm (%store): Use 'open-connection-for-tests'
  from (guix tests).
* tests/derivations.scm: Likewise.
* tests/monads.scm: Likewise.
* tests/packages.scm: Likewise.
* tests/profiles.scm: Likewise.
* tests/union.scm: Likewise.
* tests/gexp.scm: Likewise.
  (guile-for-build): Remove.  Use (%guile-for-build) instead.
* tests/nar.scm (make-random-bytevector, %seed, random-text): Remove.
  (populate-file): Change 'make-random-bytevector' to 'random-bytevector'.
  Use (guix tests).
* tests/store.scm (%seed, random-text): Remove.
  Use (guix tests).
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.</title>
<updated>2014-08-18T13:01:58+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-08-18T12:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=667b2508464374a01db3588504b981ec9266a2ea'/>
<id>667b2508464374a01db3588504b981ec9266a2ea</id>
<content type='text'>
* guix/gexp.scm (&lt;gexp&gt;)[natives]: New field.
  (write-gexp): Use both 'gexp-references' and
  'gexp-native-references'.
  (gexp-&gt;derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
  and append them.
  (gexp-inputs): Add 'references' parameter and honor it.
  (gexp-native-inputs): New procedure.
  (gexp-&gt;sexp)[reference-&gt;sexp]: Add 'native?' parameter and honor it.
  Use it, and use 'gexp-native-references'.
  (gexp)[collect-native-escapes]: New procedure.
  [escape-&gt;ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
  [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
  [substitute-references]: Use them, and handle 'ungexp-native' and
  'ungexp-native-splicing'.
  Adjust generated 'make-gexp' call to provide both normal references
  and native references.
  [read-ungexp]: Support 'ungexp-native' and
  'ungexp-native-splicing'.
  Add reader extension for #+.
* tests/gexp.scm (gexp-native-inputs): New procedure.
  (gexp-&gt;sexp*): Add 'target' parameter.
  ("ungexp + ungexp-native",
  "input list + ungexp-native",
  "input list splicing + ungexp-native-splicing",
  "gexp-&gt;derivation, ungexp-native",
  "gexp-&gt;derivation, ungexp + ungexp-native"): New tests.
  ("sugar"): Add tests for #+ and #+@.
* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (&lt;gexp&gt;)[natives]: New field.
  (write-gexp): Use both 'gexp-references' and
  'gexp-native-references'.
  (gexp-&gt;derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
  and append them.
  (gexp-inputs): Add 'references' parameter and honor it.
  (gexp-native-inputs): New procedure.
  (gexp-&gt;sexp)[reference-&gt;sexp]: Add 'native?' parameter and honor it.
  Use it, and use 'gexp-native-references'.
  (gexp)[collect-native-escapes]: New procedure.
  [escape-&gt;ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
  [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
  [substitute-references]: Use them, and handle 'ungexp-native' and
  'ungexp-native-splicing'.
  Adjust generated 'make-gexp' call to provide both normal references
  and native references.
  [read-ungexp]: Support 'ungexp-native' and
  'ungexp-native-splicing'.
  Add reader extension for #+.
* tests/gexp.scm (gexp-native-inputs): New procedure.
  (gexp-&gt;sexp*): Add 'target' parameter.
  ("ungexp + ungexp-native",
  "input list + ungexp-native",
  "input list splicing + ungexp-native-splicing",
  "gexp-&gt;derivation, ungexp-native",
  "gexp-&gt;derivation, ungexp + ungexp-native"): New tests.
  ("sugar"): Add tests for #+ and #+@.
* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Add #:target parameter to 'gexp-&gt;derivation'.</title>
<updated>2014-08-17T19:20:11+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-08-17T19:20:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=68a61e9ffb4d1c8b54db68d61a3669bda50f1bd2'/>
<id>68a61e9ffb4d1c8b54db68d61a3669bda50f1bd2</id>
<content type='text'>
* guix/gexp.scm (lower-inputs): Add #:system and #:target.  Use
  'package-&gt;cross-derivation' when TARGET is true.  Honor SYSTEM.
  (gexp-&gt;derivation): Add #:target argument.  Pass SYSTEM and TARGET to
  'lower-inputs' and 'gexp-&gt;sexp'.
  (gexp-&gt;sexp): Add #:system and #:target.  Pass them in recursive call
  and to 'package-file'.
* tests/gexp.scm (gexp-&gt;sexp*): Add 'system' and 'target' parameters.
  ("gexp-&gt;derivation, cross-compilation"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (lower-inputs): Add #:system and #:target.  Use
  'package-&gt;cross-derivation' when TARGET is true.  Honor SYSTEM.
  (gexp-&gt;derivation): Add #:target argument.  Pass SYSTEM and TARGET to
  'lower-inputs' and 'gexp-&gt;sexp'.
  (gexp-&gt;sexp): Add #:system and #:target.  Pass them in recursive call
  and to 'package-file'.
* tests/gexp.scm (gexp-&gt;sexp*): Add 'system' and 'target' parameters.
  ("gexp-&gt;derivation, cross-compilation"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Better reject systems where the shebang would be too long.</title>
<updated>2014-07-24T22:26:29+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-07-24T22:26:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=6c9e7b2bea834e311938db79a815a48cab36e986'/>
<id>6c9e7b2bea834e311938db79a815a48cab36e986</id>
<content type='text'>
* tests/gexp.scm (shebang): Add "#!".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/gexp.scm (shebang): Add "#!".
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Gracefully handle printing of gexps with spliced references.</title>
<updated>2014-07-17T13:40:06+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-07-17T13:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2cf0ea0dbbd5a43a62dadb81948ee29898585dd7'/>
<id>2cf0ea0dbbd5a43a62dadb81948ee29898585dd7</id>
<content type='text'>
* guix/gexp.scm (write-gexp): Wrap 'write' call in
  'false-if-exception'.
* tests/gexp.scm ("printer", "printer vs. ungexp-splicing"): New tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (write-gexp): Wrap 'write' call in
  'false-if-exception'.
* tests/gexp.scm ("printer", "printer vs. ungexp-splicing"): New tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Resolve the default system at '&gt;&gt;=' time.</title>
<updated>2014-07-12T21:17:53+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-07-12T20:11:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=5d0984595c77b1b0acd84eb4684f786de5f95aff'/>
<id>5d0984595c77b1b0acd84eb4684f786de5f95aff</id>
<content type='text'>
Partly fixes &lt;http://bugs.gnu.org/18002&gt;.
Reported by David Thompson &lt;dthompson2@worcester.edu&gt;.

* guix/gexp.scm (gexp-&gt;derivation): Change #:system to default #f.
  Use (%current-system) from within the 'mlet*'.
* tests/gexp.scm ("gexp-&gt;derivation, default system"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Partly fixes &lt;http://bugs.gnu.org/18002&gt;.
Reported by David Thompson &lt;dthompson2@worcester.edu&gt;.

* guix/gexp.scm (gexp-&gt;derivation): Change #:system to default #f.
  Use (%current-system) from within the 'mlet*'.
* tests/gexp.scm ("gexp-&gt;derivation, default system"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Skip tests that would hit the shebang length limitation.</title>
<updated>2014-06-04T16:15:50+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-06-04T15:26:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c17b5ab4db140f142f38cdc99468e63e66c91912'/>
<id>c17b5ab4db140f142f38cdc99468e63e66c91912</id>
<content type='text'>
* tests/gexp.scm (shebang): New variable.
  Skip "gexp-&gt;script" when SHEBANG is longer than 127 chars.
* guix/gexp.scm (gexp-&gt;script): Add comment on the issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/gexp.scm (shebang): New variable.
  Skip "gexp-&gt;script" when SHEBANG is longer than 127 chars.
* guix/gexp.scm (gexp-&gt;script): Add comment on the issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Add support for 'origin?' objects in 'ungexp' forms.</title>
<updated>2014-05-01T20:31:36+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2014-05-01T14:15:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=79c0c8cdf74cc0587187aa8f25af29b21fe91ba2'/>
<id>79c0c8cdf74cc0587187aa8f25af29b21fe91ba2</id>
<content type='text'>
* guix/gexp.scm (lower-inputs, gexp-inputs, gexp-&gt;sexp,
  canonicalize-reference): Add 'origin?' case.
* guix/monads.scm (origin-&gt;derivation): New procedure.
* tests/gexp.scm ("one input origin"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (lower-inputs, gexp-inputs, gexp-&gt;sexp,
  canonicalize-reference): Add 'origin?' case.
* guix/monads.scm (origin-&gt;derivation): New procedure.
* tests/gexp.scm ("one input origin"): New test.
</pre>
</div>
</content>
</entry>
</feed>
