Previously if I did `brew install boxen/brews/imagemagick` and then `brew
upgrade boxen/brews/imagemagick` and the version of `imagemagick` in
`boxen/brews` was older than the version in `Homebrew/homebrew` then it would
install the correct version from the `boxen/brews` tap and then try to
immediately upgrade it to the version from `Homebrew/homebrew`. I'd argue
fairly strongly that this behaviour is pretty unintuitive; when you fully
specify a formula from a tap then it should be prioritised by `brew upgrade`
and `brew outdated.
This commit makes `brew upgrade boxen/brews/imagemagick` only upgrade the
version of `imagemagick` if the version in the `boxen/brews` tap is newer.
Similarly `brew outdated imagemagick` and `brew outdated
boxen/brews/imagemagick` will show different results if the newer version
differs between `boxen/brews` and `Homebrew/homebrew`.
ClosesHomebrew/homebrew#36699.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Also add support to `brew uses` to ignore build or optional dependencies.
ClosesHomebrew/homebrew#36154.
ClosesHomebrew/homebrew#36656.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
I feel like we’re probably fighting a losing battle here, but here’s a
bundle more updates to the example formula to cover some ground not
already covered.
ClosesHomebrew/homebrew#36644.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This is causing submodules to be checked out into a path with a literal
"$path" component:
$ find . | grep "\$path$"
./$path
./Carthage/Checkouts/Commandant/$path
./Carthage/Checkouts/Commandant/Carthage/Checkouts/Quick/$path
./Carthage/Checkouts/PrettyColors/$path
./Carthage/Checkouts/Quick/$path
./Carthage/Checkouts/ReactiveCocoa/$path
./Carthage/Checkouts/ReactiveCocoa/Carthage/Checkouts/Quick/$path
./Carthage/Checkouts/ReactiveTask/$path
./Carthage/Checkouts/ReactiveTask/Carthage/Checkouts/Quick/$path
./Carthage/Checkouts/ReactiveTask/Carthage/Checkouts/ReactiveCocoa/$path
./Carthage/Checkouts/ReactiveTask/Carthage/Checkouts/ReactiveCocoa/Carthage.checkout/Quick/$path
This reverts commit 3a5f099297e9ab3b799af5f7a65edd8d64bc7bae.
Don't match `help` at the end of every string because `brew installhelp`
shouldn't really be running help.
ClosesHomebrew/homebrew#36559.
ClosesHomebrew/homebrew#36576.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commits adds support for updating a formula with changed git
submodules with GitDownloadStrategy when the cloned repository is still
in the cache. This is done by running git submodule sync --recursive
before updating the submodules, so that git can reload the submodule
config from the updated .gitmodules file.
FixesHomebrew/homebrew#36395.
ClosesHomebrew/homebrew#36466.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
We want the apr requirement to act as a build-time requirement in case
it is satisfied (that is, the CLT is installed), as the resulting
binaries will link to the system libapr which is always present.
When it is *not* satisfied by the CLT, and we need to install the
formula, we have to treat it as a runtime dependency since the resulting
binaries will link to it.
FixesHomebrew/homebrew#36301.
FixesHomebrew/homebrew#36438.
ClosesHomebrew/homebrew#36443.
If apr is installed, we still want to grab it during dependency
resolution in case we need to pass options to the generated dependency.
In other words, it doesn't make sense for the satisfiable condition to
include the default formula, as the default formula is the fallback for
when the requirement is *not* satisfied.
Fix for linking into the system OpenSSL, strict audit fixes, and the
plist.
ClosesHomebrew/homebrew#36386.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Sitecopy currently compiles against the insecure system OpenSSL, and
won’t compile against our OpenSSL because it wants SSLv2 at runtime
(Ouch) and it won’t compile against GnuTLS because GnuTLS have
considerably changed the structure of their build since the last update
of sitecopy (2008).
ClosesHomebrew/homebrew#36389.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>