Age | Commit message (Expand) | Author |
2017-03-26 | union: Add create-all-directories? parameter to 'union-build'....* 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 <ludo@gnu.org>
| Huang Ying |
2016-05-23 | union: Compare inode numbers in 'file=?'....* guix/build/union.scm (file=?): Compare the inode of ST1 and ST2.
| Ludovic Courtès |
2014-04-03 | union: Ensure that the output is always a directory....Fixes the creation of single-package profiles, reported by Ludovic Courtès.
* guix/build/union.scm (union-build): Add new internal procedure
'union-of-directories' that always creates a directory, containing the code
previously used only to merge multiple directories. Call it from the
multiple-directory case in 'union' and from the top-level 'union-build'.
| Mark H Weaver |
2014-04-02 | union: Rewrite to be faster; handle symlink/directory conflicts....* guix/build/union.scm: Rewrite; only 'file=?' remains unchanged. Remove
'tree-union' and 'delete-duplicate-leaves' exports. Merge inputs in a
breadth-first fashion. Follow symlinks for purposes of making decisions
about the merge.
* tests/union.scm: Remove tests of 'tree-union' and 'delete-duplicate-leaves'.
| Mark H Weaver |
2014-02-10 | union: Do not compare directories upon collision....* guix/build/union.scm (file=?): Return #f if FILE1 and FILE2 are not
regular files. Fixes a bug whereby collisions among directories would
lead to the invocation of 'file=?' and thus 'call-with-input-file' on
directories. Reported by Mark H. Weaver <mhw@netris.org>.
| Ludovic Courtès |
2013-10-31 | union: Do not warn when identical files collide....* guix/build/union.scm (file=?): New procedure.
(union-build)[resolve-collision]: Do not warn when identical files
collide.
| Ludovic Courtès |
2013-10-30 | union: Make the log port a parameter....* guix/build/union.scm (union-build): Add 'log-port' keyword parameter;
use it.
| Ludovic Courtès |
2013-09-02 | union: Don't traverse sub-directories only found in one element of the union....This significantly reduces I/O when building profiles, especially with
lots of package-specific sub-directories (such as 'share/emacs/24.3',
'texmf', etc.)
* guix/build/union.scm (union-build)[file-tree](others-have-it?): New
procedure. Use it in the 'enter?' parameter of 'file-system-fold';
change 'skip' parameter accordingly.
* tests/union.scm ("union-build"): Ensure that 'include' is a symlink
and 'bin' is a directory.
| Ludovic Courtès |
2013-02-06 | union: Don't warn when colliding leaves point to the same file....* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
through `delete-duplicates'; warn iff the result contains more than
one item.
| Ludovic Courtès |
2013-02-06 | union: Delete duplicates when passed the same input several times....* guix/build/union.scm (union-build): Prepend "." to the result of
`union-tree', to match the expectations of `delete-duplicate-leaves'.
Don't do mkdir when SUBDIR is ".".
* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.
| Ludovic Courtès |
2013-01-11 | Merge branch 'core-updates'...Conflicts:
guix/build/union.scm
| Ludovic Courtès |
2013-01-09 | union: Detect collisions, and delete duplicate leaves....* guix/build/union.scm (delete-duplicate-leaves): New procedure.
(union-build)[leaf=?, resolve-collision]: New procedures.
Use `delete-duplicate-leaves' on the result of `tree-union'.
* tests/union.scm ("delete-duplicate-leaves, default",
"delete-duplicate-leaves, file names"): New tests.
| Ludovic Courtès |
2013-01-05 | Update license headers of builder-side code....Change license headers with this script:
(use-modules (guix build utils))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (cons "distro/packages/ld-wrapper.scm"
(find-files "guix/build" "\\.scm$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
* distro/packages/ld-wrapper.scm, guix/build/download.scm,
guix/build/gnu-build-system.scm, guix/build/union.scm,
guix/build/utils.scm: Update license headers.
| Ludovic Courtès |
2012-10-29 | Add (guix build union)....* guix/build/union.scm, tests/union.scm: New files.
* Makefile.am (MODULES): Add `guix/build/union.scm'.
(TESTS): Add `tests/union.scm'.
| Ludovic Courtès |