Fix when installing from a non-directory in `--source` or
`--binary` mode, and fix clean up of a GitHub-generated archive
when using a path within the archive.
Allow `{binary,source}-keep-files` to override omission of an
enclosing directory. Also, adjust the default for binary mode to
keep "doc" and "info.rkt" within "scribblings" and not "tests".
With this change, starting with Minimal Racket and installing DrRacket
in binary mode gets you a working DrRacket with documentation. A
binary install is less than half the space of a non-binary install,
in part because the binary installation has fewer dependencies.
In consultation with Jay, unify the ignore-file's-extension and
ignore-"info.rkt"-disabling treatment of `raco test` arguments.
The change is that the latter applies only when an argument is a
file, and not when it's a directory.
Using distinct port numbers allows the tests to run concurrently.
Using locally distnct port numbers is not a general solution,
of course, but it should work well enough for running these
tests with `raco test --drdr`.
The test has been failing consistently in DrDr, but I couldn't figure
out why until I learned that DrDr runs programs with an empty
stdin. It helps that `raco test --drdr` is now closer to DrDr.
Modules are not supposed to move to different packages, anymore, so
I'm breaking a rule. The problem is that having `rackunit/docs-complete`
in "scribble-lib" made "scribble-lib" depend on "racket-index", and
that's an undesirable dependency. (Installing Scribble shouldn't
force you to have Racket documentation.) I should have noticed
the problem when I moved `setup/xref` to "racket-index", but I missed
it.
As far as I can tell, there's only one package on pkgs.racket-lang.org
that isn't in the main repository and uses `rackunit/docs-index`. The
package doesn't correctly declare its dependencies, anyway.
Binary package installation failed in the case of collection
splicing, because module-name resolution via `collection-file-path`
did not check for compiled files along hte search path of
registered collection directories.
A "file://" prefix on a package source needs to be consistently
removed. The new `package-source->path` function does that, so it
should be used to convert a package source to a filesystem path.