<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/build/union.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-01-09T13:47:53Z</updated>
<entry>
<title>Remove most uses of the _IO*F constants.</title>
<updated>2019-01-09T13:47:53Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2019-01-07T09:57:18Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=76832d3420594c8b5feaf7682b84b5481a49a076'/>
<id>urn:sha1:76832d3420594c8b5feaf7682b84b5481a49a076</id>
<content type='text'>
These constants, for use with 'setvbuf', were deprecated in Guile 2.2
and disappeared in Guile 3.0.  Here we keep these constants in
build-side code where removing them is not feasible.

* guix/build/download-nar.scm (download-nar): Adjust 'setvbuf' calls to
the Guile 2.2+ API.
* guix/build/download.scm (open-socket-for-uri): Likewise.
(open-connection-for-uri, url-fetch): Likewise.
* guix/build/make-bootstrap.scm (make-stripped-libc): Likewise.
* guix/build/union.scm (setvbuf) [guile-2.0]: New conditional wrapper.
(union-build): Adjust to new API.
* guix/ftp-client.scm (ftp-open, ftp-list, ftp-retr): Likewise.
* guix/http-client.scm (http-fetch): Likewise.
* guix/inferior.scm (proxy): Likewise.
* guix/scripts/substitute.scm (fetch, http-multiple-get): Likewise.
* guix/self.scm (compiled-modules): Likewise.
* guix/ssh.scm (remote-daemon-channel, store-import-channel)
(store-export-channel): Likewise.
* guix/ui.scm (initialize-guix): Likewise.
* tests/publish.scm (http-get-port): Likewise.
* guix/store.scm (%newlines): Adjust comment.
</content>
</entry>
<entry>
<title>union: Do not warn about harmless collisions.</title>
<updated>2018-05-17T08:48:37Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-05-15T07:40:23Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=827c56515e06d21aaa23d60ed05b0c45d1d49901'/>
<id>urn:sha1:827c56515e06d21aaa23d60ed05b0c45d1d49901</id>
<content type='text'>
Until now we'd get pointless messages like:

  warning: collision encountered:
    /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
    /gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache
  warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache

* guix/build/union.scm (%harmless-collisions): New variable.
(warn-about-collision): Honor it.
</content>
</entry>
<entry>
<title>profiles: Optionally use relative file names for symlink targets.</title>
<updated>2018-05-10T12:53:57Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-04-28T20:20:36Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e00ade3fb81f89cd7c030f998ccd3e07ef2628f0'/>
<id>urn:sha1:e00ade3fb81f89cd7c030f998ccd3e07ef2628f0</id>
<content type='text'>
* guix/build/union.scm (symlink-relative): New procedure.
* guix/build/profiles.scm: Re-export it.
(build-profile): Add #:symlink and pass it to 'union-build'.
* guix/profiles.scm (profile-derivation): Add #:relative-symlinks?.
Pass #:symlink to 'build-profile'.
* tests/profiles.scm ("profile-derivation relative symlinks, one entry")
("profile-derivation relative symlinks, two entries"): New tests.
</content>
</entry>
<entry>
<title>union: Add 'relative-file-name'.</title>
<updated>2018-05-10T12:53:56Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-04-28T15:17:33Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=dac1c97d131d297134fa878ac240d9ec0127044b'/>
<id>urn:sha1:dac1c97d131d297134fa878ac240d9ec0127044b</id>
<content type='text'>
* guix/build/union.scm (%not-slash): New variable.
(relative-file-name): New procedure.
* tests/union.scm (test-relative-file-name): New macro and tests.
</content>
</entry>
<entry>
<title>union: Allow callers to choose the collision resolution policy.</title>
<updated>2018-04-08T15:41:08Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-04-08T13:47:11Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e40aa54e98aa6329e6196fd29e7e4e34ce3a063c'/>
<id>urn:sha1:e40aa54e98aa6329e6196fd29e7e4e34ce3a063c</id>
<content type='text'>
* guix/build/union.scm (warn-about-collision): New procedure.
(union-build): Add #:resolve-collision.
[resolve-collisions]: Call it.
* tests/union.scm ("union-build collision first &amp; last"): New test.
</content>
</entry>
<entry>
<title>union: Slightly improve messages for file collisions.</title>
<updated>2018-03-31T21:30:50Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2018-03-31T21:18:29Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f8d13038645e635634469b673bcc20d87c91b913'/>
<id>urn:sha1:f8d13038645e635634469b673bcc20d87c91b913</id>
<content type='text'>
* guix/build/union.scm (union-build): Indent file names upon collision.
Remove "arbitrarily" from the message.
</content>
</entry>
<entry>
<title>union: Wrap collisions with newlines.</title>
<updated>2018-02-15T17:51:51Z</updated>
<author>
<name>Oleg Pykhalov</name>
</author>
<published>2018-02-11T08:16:56Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=06a9dc2fd021258da282e14d165d53090d85ffe1'/>
<id>urn:sha1:06a9dc2fd021258da282e14d165d53090d85ffe1</id>
<content type='text'>
* guix/build/union.scm (union-build): Wrap collisions with newlines.
</content>
</entry>
<entry>
<title>union: Parametrize the symlink procedure .</title>
<updated>2017-11-21T22:09:16Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2017-10-19T14:07:34Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=59523429d61083f410d54ac8f8516c66459c1003'/>
<id>urn:sha1:59523429d61083f410d54ac8f8516c66459c1003</id>
<content type='text'>
* guix/gexp.scm (directory-union): Add #:hard-links and honor it.
* guix/build/union.scm (union-build): Add #:symlink parameter.
</content>
</entry>
<entry>
<title>union: Gracefully handle dangling symlinks in the input.</title>
<updated>2017-05-18T09:38:48Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2017-05-18T09:35:45Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=22ef06b801b284760b4ffd9587ea1a3dffd31baa'/>
<id>urn:sha1:22ef06b801b284760b4ffd9587ea1a3dffd31baa</id>
<content type='text'>
Fixes &lt;http://bugs.gnu.org/26949&gt;.
Reported by Pjotr Prins &lt;pjotr.public12@thebird.nl&gt;.

* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
</content>
</entry>
<entry>
<title>union: Add create-all-directories? parameter to 'union-build'.</title>
<updated>2017-03-26T10:53:48Z</updated>
<author>
<name>Huang Ying</name>
</author>
<published>2017-03-12T11:53:58Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=addce19e2d38a197f5ea10eefb5f3cd25c3a52e7'/>
<id>urn:sha1:addce19e2d38a197f5ea10eefb5f3cd25c3a52e7</id>
<content type='text'>
* guix/build/union.scm (union-build): Add create-all-directories? keyword
parameter.
* tests/union.scm ("union-build #:create-all-directories? #t"): New test.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
</feed>
