~ruther/guix-local

eee212710978fb2044d3312aff0bf33b508aa026 — Ludovic Courtès 12 years ago 0210002
store: (direct-store-path? (%store-prefix)) returns #f.

* guix/store.scm (direct-store-path?): Return #f if PATH
  is (%store-prefix).
* tests/store.scm ("direct-store-path?"): Add test.
2 files changed, 3 insertions(+), 1 deletions(-)

M guix/store.scm
M tests/store.scm
M guix/store.scm => guix/store.scm +1 -0
@@ 839,6 839,7 @@ be used internally by the daemon's build hook."
This predicate is sometimes needed because files *under* a store path are not
valid inputs."
  (and (store-path? path)
       (not (string=? path (%store-prefix)))
       (let ((len (+ 1 (string-length (%store-prefix)))))
         (not (string-index (substring path len) #\/)))))


M tests/store.scm => tests/store.scm +2 -1
@@ 85,7 85,8 @@
       (not (direct-store-path?
             (string-append
              (%store-prefix)
              "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))))
              "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))
       (not (direct-store-path? (%store-prefix)))))

(test-skip (if %store 0 13))