| Age | Commit message (Collapse) | Author |
|
Given the following dependency tree:
foo
bar (bottled)
baz (build-time only)
We skip installing baz because it is a build-time dependency of
something that is bottled. However, during the build of foo, this filter
is not applied because the dependent-dep relationship is not considered
at this stage. If baz wasn't installed prior to this build, fixopt(baz)
will fail.
Further, build-time deps are tightly coupled to the formula they are
specified by, and we shouldn't rely on them coming from dependencies
several levels down.
Fixes Homebrew/homebrew#17697.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This can cause subtle issues when an exception is marshaled between the
build process and the main Homebrew process, as the marshaled exception
may contain URI objects even when the main Homebrew process has not
loaded the URI library.
Closes Homebrew/homebrew#17642.
|
|
|
|
|
|
|
|
|
|
Overriding <=> directly is much simpler.
|
|
|
|
|
|
We want to be able to test the raise functionality without
monkey-patching #raise on every object in the system, which is one of
the side effects of loading debrew.rb.
|
|
If the debugger's monkey-patched raise was passed an instantiated
exception, the #exception method was called with a potentially nil
argument, causing its instance data to be thrown away. This hides
potentially useful information from the user.
Fix it by allowing instantiated exceptions to be reraised unharmed.
Fixes Homebrew/homebrew#17622.
|
|
Closes Homebrew/homebrew#17588.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
|
|
|
|
Closes Homebrew/homebrew#17565.
|
|
|
|
Closes Homebrew/homebrew#11154.
|
|
|
|
|
|
* `CurlDownloadStrategy#_fetch` (and the same methods in its
subclasses) now fetches the file to a temporary path, and
`CurlDownloadStrategy#fetch` moves it to the correct location.
* `Homebrew#cleanup` cleans the temporary files `CurlDownloadStrategy`
creates if they're left in the cache.
Closes Homebrew/homebrew#13953.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
|
|
|
|
|
|
We do not use X11 to satisfy these deps for consistency reasons,
but we should continue to support the symbols for compatibility.
|
|
|
|
Remove direct references to checksum types, access them through the
Checksum::TYPES constant instead.
|
|
This way it will print when the verification takes place, making it a
bit more obvious which formula it refers to.
|
|
Closes Homebrew/homebrew#17518.
Closes Homebrew/homebrew#17511.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
|
|
|
|
|
|
Closes Homebrew/homebrew#17492.
|
|
Causes an infinite loop when trying to find e.g. missing gcc.
Closes Homebrew/homebrew#17426
References Homebrew/homebrew#17455
|
|
Closes Homebrew/homebrew#16658.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
|
|
Expand requirements recursively while applying the same optional? and
recommended? filters that dependencies are run through. Options
generated by requirements are now checked against the correct list of
requirements, eliminating the temporary "best guess" logic in the
installer.
|
|
When a formula's dependency tree contains more than one X11 dependency,
they are de-duplicated by comparing the min_version attribute. However,
this can result in broken dependency trees if one of the X11Dependency
objects was actually specified as e.g. `:libpng`.
In practice, this only matters when one or more of the dependencies has
additional metadata that makes it distinct from the rest, i.e. an
:optional or :recommended tag.
To combat this, make these special, "partial" X11 dependencies instances
of different classes so that they are not de-duped.
It will still be necessary, at the time when requirements are expanded
by the installer, to de-duplicate any remaining X11 dependencies after
applying the optional/recommended filters in order to avoid duplicated
modifications to the environment (as ENV.x11 is not idempotent).
c.f. Homebrew/homebrew#17369.
|
|
Closes Homebrew/homebrew#17317.
|
|
|
|
Use versions to better get hold of the filename.
|
|
|