From ece6864bd04fc2f9ff86fd4ac9cb0712dd71c094 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 20 May 2016 22:14:46 +0200 Subject: grafts: Rename files whose name matches a graft. Fixes . Reported by Mark H Weaver . * guix/build/graft.scm (rename-matching-files): New procedure. (rewrite-directory): Use it. * tests/grafts.scm ("graft-derivation, renaming"): New test. --- tests/grafts.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/grafts.scm') diff --git a/tests/grafts.scm b/tests/grafts.scm index f8c9eced1d..8cd048552c 100644 --- a/tests/grafts.scm +++ b/tests/grafts.scm @@ -182,4 +182,21 @@ (and (string=? (readlink one) repl) (string=? (readlink two) one)))))) +(test-assert "graft-derivation, renaming" ; + (let* ((build `(begin + (use-modules (guix build utils)) + (mkdir-p (string-append (assoc-ref %outputs "out") "/" + (assoc-ref %build-inputs "in"))))) + (orig (build-expression->derivation %store "thing-to-graft" build + #:modules '((guix build utils)) + #:inputs `(("in" ,%bash)))) + (repl (add-text-to-store %store "bash" "fake bash")) + (grafted (graft-derivation %store orig + (list (graft + (origin %bash) + (replacement repl)))))) + (and (build-derivations %store (list grafted)) + (let ((out (derivation->output-path grafted))) + (file-is-directory? (string-append out "/" repl)))))) + (test-end) -- cgit 1.4.1