Jack Nagel 63e1c71c50 Eagerly initialize formula specs
Declarations of dependencies, options, and resources in the DSL only
apply to specs that have already been initialized. For example, given
this snippet:

  url ...
  sha1 ...

  depends_on 'foo'

  devel do
    url ...
    sha1 ...
  end

The dependency 'foo' will be recorded for the stable spec, but not the
devel spec, since it was not initialized prior to the call to
depends_on.

While it is considered best practice to declare all specs (stable,
devel, head, and bottle) prior to other declarations, there is nothing
that enforces this ordering, so when it happens it can be confusing and
hard to debug.

To prevent this, we can initialize all specs up front. This comes with
a performance penalty for commands that load all formulae into memory,
but that is probably outweighed by what we gain in correctness.

Fixes Homebrew/homebrew#23425.
2013-10-22 13:31:08 -05:00
2013-10-22 13:31:08 -05:00
2013-09-24 20:43:34 -07:00
2013-04-06 17:32:47 +01:00
2013-06-04 20:41:53 +01:00
2013-09-03 18:06:13 +01:00

Homebrew

Features, usage and installation instructions are summarized on the homepage.

What Packages Are Available?

  1. You can browse the Formula directory on GitHub.
  2. Or type brew search for a list.
  3. Or run brew server to browse packages off of a local web server.
  4. Or visit braumeister.org to browse packages online.

More Documentation

brew help or man brew or check our wiki.

Who Are You?

I'm Max Howell and I'm a splendid chap.

License

Code is under the BSD 2 Clause (NetBSD) license.

Description
🍺 The missing package manager for macOS (or Linux)
Readme 144 MiB
4.6.25 Latest
2025-09-16 21:53:50 +00:00
Languages
Ruby 92%
Shell 5.2%
Roff 2.1%
HTML 0.5%