summaryrefslogtreecommitdiff
path: root/guix/build/graft.scm
AgeCommit message (Collapse)Author
2016-10-10grafts: Always make directories #o755.Ludovic Courtès
Fixes <http://bugs.gnu.org/22954>. Reported by Albin <albin@fripost.org> and Jeffrey Serio <serio.jeffrey@gmail.com>. * guix/build/graft.scm (mkdir-p*): New procedure. (rewrite-directory): Use it instead of 'mkdir-p'.
2016-10-03grafts: Allow the replacement to have a different name.Ludovic Courtès
* guix/build/graft.scm (replace-store-references): REPLACEMENT is now the full string, not just the hash. (rewrite-directory)[hash-mapping](valid-suffix?): Remove. (hash+suffix): Rename to... (hash+rest): ... this. Change to return the whole string as the second element of the list. Adjust 'match-lambda' expression accordingly; check whether the string length of the origin and replacement match. * tests/grafts.scm ("graft-derivation, grafted item uses a different name"): New test. * doc/guix.texi (Security Updates): Update sentence on the name/version restriction.
2016-08-09grafts: Make grafting faster.Mark H Weaver
* guix/build/graft.scm (replace-store-references): Reimplement for faster grafting. Use binary I/O instead of textual I/O. Replace 'mapping' argument (an alist) with 'replacement-table' (a vhash). (rewrite-directory): Adapt to mapping argument change in 'replace-store-references'. Remove 'with-fluids' that previously set '%default-port-encoding' to #f, since we now use binary I/O. (define-inline, hash-length): New macros. (nix-base32-char?): New variable.
2016-05-24graft: Fail when one of the threads raises an exception.Ludovic Courtès
Fixes <http://bugs.gnu.org/23581>. * guix/build/graft.scm (exit-on-exception): New procedure. (rewrite-directory): Use it to wrap REWRITE-LEAF.
2016-05-21grafts: Rename files whose name matches a graft.Ludovic Courtès
Fixes <http://bugs.gnu.org/23132>. Reported by Mark H Weaver <mhw@netris.org>. * guix/build/graft.scm (rename-matching-files): New procedure. (rewrite-directory): Use it. * tests/grafts.scm ("graft-derivation, renaming"): New test.
2016-05-21grafts: Preserve empty directories when grafting.Ludovic Courtès
* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for 'directory. Pass #:directories? #t to 'find-files'.
2016-02-27grafts: Make sure files are not created world-writable.Ludovic Courtès
* guix/build/graft.scm (rewrite-directory): Add 'umask' call.
2015-11-16graft: Graft files in parallel.Ludovic Courtès
* guix/build/graft.scm (rewrite-directory): Use 'n-par-for-each' instead of 'for-each'.
2015-11-16graft: Graft files in a deterministic order.Ludovic Courtès
* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Change to take a single parameter. Add call to 'lstat'. Factorize result of 'destination'. Use 'find-files' instead of 'file-system-fold'.
2014-10-08derivations: Add 'graft-derivation'.Ludovic Courtès
* guix/derivations.scm (graft-derivation): New procedure. * guix/build/graft.scm: New file. * Makefile.am (MODULES): Add it. * tests/derivations.scm ("graft-derivation"): New test.