[racket] info.rkt `deps` (was: Package fails to compile during 'make in-place' but not 'raco pkg install')

From: Greg Hendershott (greghendershott at gmail.com)
Date: Fri Dec 20 13:48:17 EST 2013

I realize folks are busy with the new release, so maybe this is a bad
time for a dumb question.

I've written and deployed a few packages.

In `deps` I've _only_ been listing third-party packages from
pkg.racket-lang.org.

By contrast if I need e.g. Racket's `net/url`, I have _not_ been
listing that in `deps`.  Should I be doing so?

If so, why? (Right now I can't seem to find this discussed in the
package docs.) Is the answer to do with supporting people using
Minimal Racket?

Related: At one point I recall seeing HEAD give warnings like, "The
package A doesn't declare its dependencies X, Y, Z". Which always made
me wonder, if the system already knows what the dependencies are, why
would we need to list them in `deps`?  Couldn't raco pkg install offer
to install them automatically just like the explicitly declared deps?

On Fri, Dec 20, 2013 at 12:42 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> Dependency checking is currently implemented in a non-scalable way, so
> it only runs in global setup modes. Running `make in-place` ends with a
> global setup. When you install a package, in contrast, only the
> package's collections are set up (roughly), and dependency checking
> doesn't happen.
>
>
> The package is compiling in either case, but a post-compile check only
> happens and triggers and error in one of the modes.
>
> It looks like the "opengl" package is missing a dependency declaration
> --- and that's probably because the author listed dependencies while
> the libraries provided by "base" were still in flux, but they won't
> change anymore.

Posted on the users mailing list.