When fixing references to regular dylibs, it is sufficient to search for
a file with the same base name, e.g., `libpoppler.56.dylib`. However, if
the broken reference is to a framework, we also have to take into
account preceding path components to find a suitable match. Framework
references (according to the `dyld` man page) come in two flavors:
- `XXX.framework/Versions/YYY/XXX` (with version)
- `XXX.framework/XXX` (without version)
The change here is to detect these patterns and to make sure that the
fixed library reference has the same suffix as the broken one.
Prior to this fix, a broken framework reference (if originating in a
sister framework) to `QtXml.framework/Versions/5/QtXml` would have been
rewritten to `<qt5-keg>/lib/QtXml.framework/QtXml`. In practice, this
mostly works, but is technically incorrect and thus creates problems
like in Homebrew/homebrew#42191. With this fix, the framework reference is correctly
rewritten to `<qt5-keg>/lib/QtXml.framework/Versions/5/QtXml`.
ClosesHomebrew/homebrew#45494.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
I find brew switch very helpful to activate a different version of an
installed formula. This seems worth calling out in the documentation to
elevate awareness.
ClosesHomebrew/homebrew#45694.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Require that the subdirectory in site-lisp match the formula name
exactly. This lets us provide better information in the caveats and
will make it easier for helper methods to write to the correct
location (as in in Homebrew/homebrew-emacs#13).
The order ought not to matter, but GCC can fail with -arch i386 -arch
x86_64 (producing an error like "FATAL:Bad fx_size (0x8) in
fix_to_relocation_info()") but succeed with -arch x86_64 -arch i386.
ClosesHomebrew/homebrew#45401.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Always use the `<user/repo>` format as used by the `brew tap` command.
Also fixed a link to `homebrew/head-only` and sorted a list in `FAQ.md`
in alphabetical order.
ClosesHomebrew/homebrew#45535.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
It made less sense to call a method `java_version` when it returns
boolean value.
ClosesHomebrew/homebrew#45501.
Signed-off-by: Xu Cheng <xucheng@me.com>
The Emacs shell sets $EMACS to "t" for detection purposes, but it causes
builds to fail when they attempt to call Emacs using the variable.
FixesHomebrew/homebrew-emacs#30.
ClosesHomebrew/homebrew#45495.
Signed-off-by: Alex Dunn <dunn.alex@gmail.com>
There's been a few issues where users have been confused about these
errors. They may have modified stuff but we probably don't care about
telling them that unless we're debugging other issues.
ClosesHomebrew/homebrew#45373.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>