pkg/lib: make pkg-directory->additional-installs
use 'compile-omit-paths
Otherwise, "test/pkgs" claims to provide various documents and executables
that are in test packages.
Merge to v6.1
(cherry picked from commit a70b3173b2
)
This commit is contained in:
parent
47aa868b0d
commit
a23cce0b07
|
@ -112,4 +112,13 @@
|
||||||
(with-fake-root
|
(with-fake-root
|
||||||
(shelly-case
|
(shelly-case
|
||||||
"no conflict for non-matching platform"
|
"no conflict for non-matching platform"
|
||||||
$ "raco pkg install --strict-doc-conflicts test-pkgs/pkg-add-base test-pkgs/pkg-add-none"))))
|
$ "raco pkg install --strict-doc-conflicts test-pkgs/pkg-add-base test-pkgs/pkg-add-none"))
|
||||||
|
|
||||||
|
(shelly-case
|
||||||
|
"compile-omit-paths is used by `pkg-directory->additional-installs`:"
|
||||||
|
$ (~a "racket -e '(require pkg/lib)' -e '"
|
||||||
|
(~s '(pkg-directory->additional-installs
|
||||||
|
(path-only (collection-file-path "test.rkt" "tests/pkg"))
|
||||||
|
"racket-test"))
|
||||||
|
"'")
|
||||||
|
=stdout> "'()\n")))
|
||||||
|
|
|
@ -3234,17 +3234,33 @@
|
||||||
#:system-library-subpath [sys-lib-subpath #f])
|
#:system-library-subpath [sys-lib-subpath #f])
|
||||||
(define single-collect
|
(define single-collect
|
||||||
(pkg-single-collection dir #:name pkg-name #:namespace metadata-ns))
|
(pkg-single-collection dir #:name pkg-name #:namespace metadata-ns))
|
||||||
(let loop ([s (set)] [f dir] [top? #t])
|
(let loop ([s (set)] [f dir] [top? #t] [omits (set)])
|
||||||
(cond
|
(cond
|
||||||
[(directory-exists? f)
|
[(and (directory-exists? f)
|
||||||
|
(not (set-member? omits (simplify-path f))))
|
||||||
(define i (get-pkg-info f metadata-ns))
|
(define i (get-pkg-info f metadata-ns))
|
||||||
|
(define omit-paths (if i
|
||||||
|
(i 'compile-omit-paths (lambda () null))
|
||||||
|
null))
|
||||||
|
(cond
|
||||||
|
[(eq? omit-paths 'all)
|
||||||
|
s]
|
||||||
|
[else
|
||||||
|
(define omit-files (if i
|
||||||
|
(i 'compile-omit-files (lambda () null))
|
||||||
|
null))
|
||||||
(define new-s
|
(define new-s
|
||||||
(if (and i (or single-collect (not top?)))
|
(if (and i (or single-collect (not top?)))
|
||||||
(set-union (extract-additional-installs i sys-type sys-lib-subpath)
|
(set-union (extract-additional-installs i sys-type sys-lib-subpath)
|
||||||
s)
|
s)
|
||||||
s))
|
s))
|
||||||
|
(define new-omits
|
||||||
|
(set-union
|
||||||
|
omits
|
||||||
|
(for/set ([i (in-list (append omit-paths omit-files))])
|
||||||
|
(simplify-path (path->complete-path i f)))))
|
||||||
(for/fold ([s new-s]) ([f (directory-list f #:build? #t)])
|
(for/fold ([s new-s]) ([f (directory-list f #:build? #t)])
|
||||||
(loop s f #f))]
|
(loop s f #f new-omits))])]
|
||||||
[else s])))
|
[else s])))
|
||||||
|
|
||||||
(define (extract-additional-installs i sys-type sys-lib-subpath)
|
(define (extract-additional-installs i sys-type sys-lib-subpath)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user