<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/build/lisp-utils.scm, 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>2018-10-02T12:53:39Z</updated>
<entry>
<title>build-system/asdf: Properly handle dependency specification casing.</title>
<updated>2018-10-02T12:53:39Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2018-10-02T08:57:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=a7b751965f8420c871ae24aee25f1eb7a217e608'/>
<id>urn:sha1:a7b751965f8420c871ae24aee25f1eb7a217e608</id>
<content type='text'>
* guix/build/lisp-utils.scm (normalize-dependency): Modify match
clauses to match the upper-case symbols that lisp produces.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-system/asdf: Adopt asdf conventions.</title>
<updated>2018-09-19T16:25:28Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2018-08-30T05:36:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=5f6908d664c3af6bd1805a769640ba5240602230'/>
<id>urn:sha1:5f6908d664c3af6bd1805a769640ba5240602230</id>
<content type='text'>
The asdf documentation specifies that asdf:load-asd should be preferred to
calling load on a system definition file.

* guix/build/lisp-utils.scm (compile-system): Replace load with asdf:load-asd.
(system-dependencies): Likewise.
(test-system): Likewise.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-system/asdf: Use invoke.</title>
<updated>2018-09-19T16:25:28Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2018-08-30T05:36:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=e831a1668b0556068343dce8cecacef2014a96e9'/>
<id>urn:sha1:e831a1668b0556068343dce8cecacef2014a96e9</id>
<content type='text'>
* guix/build/lisp-utils.scm (lisp-eval-program): Replace system* and error
handling with invoke.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-system/asdf: Log lisp system invocations.</title>
<updated>2018-09-19T16:25:28Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2018-08-30T05:36:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=29a3ffb44623701c2c24b8e921e23d03dde02a4a'/>
<id>urn:sha1:29a3ffb44623701c2c24b8e921e23d03dde02a4a</id>
<content type='text'>
* guix/build/lisp-system.scm: (lisp-eval-program): Log the arguments to
system*.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-system/asdf: Handle all asdf dependency specifications.</title>
<updated>2018-09-19T16:25:28Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2018-08-30T05:36:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=7b6b7cdcc5d50cb25c140145b30028c5569c62af'/>
<id>urn:sha1:7b6b7cdcc5d50cb25c140145b30028c5569c62af</id>
<content type='text'>
Add support for dependencies of the form (:version &lt;name&gt; &lt;version&gt;),
(:feature &lt;feature&gt; &lt;dependency-specification&gt;) and (:require &lt;module-name&gt;),
as defined by
&lt;https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar&gt;.

* guix/build/lisp-utils.scm (normalize-dependency): New variable.
(make-asd-file)[dependencies]: Use it to generate dependencies with normalized
names.
[dependency-name]: New variable.
[registry]: Use it to flatten the normalized dependencies.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-system/asdf: Handle tests defined in external systems.</title>
<updated>2017-05-16T13:18:16Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2017-04-09T03:43:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=0383afa02ae3777a0adb5304cb6918a2a5f5f250'/>
<id>urn:sha1:0383afa02ae3777a0adb5304cb6918a2a5f5f250</id>
<content type='text'>
* guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument.
[builder]: Pass it to the build system.
(package-with-build-system)[transform]: Strip it from source systems' arguments.
* guix/build/asdf-build-system.scm (check): Pass the fully qualified path to
it on to the test-system procedure.
* guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of
the often used names for it, before running the tests.  Adjust the docstring
accordingly.
</content>
</entry>
<entry>
<title>build-system/asdf: Retain references to source files for binary outputs.</title>
<updated>2017-05-16T13:18:16Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2017-04-03T13:01:33Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=4209c31b8f5ad65f741be1baaf0747abb96c8a56'/>
<id>urn:sha1:4209c31b8f5ad65f741be1baaf0747abb96c8a56</id>
<content type='text'>
In support of long-running programs in which the users would like to be able
to jump to the source of a definition of any of the dependencies (itself
included) of the program.

* guix/build/asdf-build-system.scm (library-outputs): Move from here ...
* guix/build/lisp-utils.scm (library-outputs): ... to here.
(build-program): Accept dependency-prefixes argument, to allow the caller to
specify references which should be retained.  Default to the library's output.
(build-image): Likewise.
(generate-executable): Likewise.
* gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust
accordingly to the new interface.
(sbcl-stumpwm+slynk)[native-inputs]: Move to ...
[inputs]: ... here.
</content>
</entry>
<entry>
<title>build-system/asdf: Simplify the use of lisp-eval-program.</title>
<updated>2017-05-16T13:18:15Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2017-04-03T13:01:32Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=b9afcb9ed4547e600b7bc89d0fbf0d8453dc2b3b'/>
<id>urn:sha1:b9afcb9ed4547e600b7bc89d0fbf0d8453dc2b3b</id>
<content type='text'>
Accept a list of statements, each run within its own `--eval' argument. This
allows statements to use reader package namespacing after a package has been
loaded.

* guix/build/lisp-utils.scm (spread-statements): New procedure.
(lisp-invoke): Rename to ...
(lisp-invocation): ... this. Use spread-statements. Change interface to accept
list of statements instead of a single statement.
(asdf-load-all-systems): Simplify returned statements.
(compile-system): Simplify the program passed to `lisp-eval-program'.
(test-system): Likewise.
(generate-executable-for-system): Likewise. Accept the full symbol describing
the asdf operation to use.
(generate-executable): Document the change.
(build-program, build-image): Use the new interface.
</content>
</entry>
<entry>
<title>build-system/asdf: Handle unusually-named systems.</title>
<updated>2017-05-16T13:18:15Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2017-04-03T13:01:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=40f56176c517d9b5e0d3da8cc06d3ccde6b58cc2'/>
<id>urn:sha1:40f56176c517d9b5e0d3da8cc06d3ccde6b58cc2</id>
<content type='text'>
* guix/build/lisp-utils.scm (valid-char-set): New variable.
(normalize-string): New procedure.
(compiled-system): Truncate the name of a system which contains slashes.
(generate-system-definition, make-asd-file): Use `normalize-string' to alter
the names of the created system and its dependencies.
* guix/build/asdf-build-system.scm (create-asd-file): Normalize the name of
the asd file being created.
</content>
</entry>
<entry>
<title>build-system/asdf: Always pre-load the system's definition file.</title>
<updated>2017-05-16T13:18:15Z</updated>
<author>
<name>Andy Patterson</name>
<email>ajpatter@uwaterloo.ca</email>
</author>
<published>2017-04-03T13:01:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=0186a463d0f352eef485326cf57619d23a26734e'/>
<id>urn:sha1:0186a463d0f352eef485326cf57619d23a26734e</id>
<content type='text'>
* guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default
`#:asd-file' argument to the build procedure, using the system's name.
* guix/build/asdf-build-system.scm (build, check): Adjust to assume that
`asd-file' will always be a string.
* guix/build/lisp-utils.scm (compile-system, system-dependencies)
(test-system): Likewise.
</content>
</entry>
</feed>
