| Age | Commit message (Collapse) | Author |
|
It doesn't always work.
For example, a keg could have been installed with a formula from a
URL, which Homebrew now does not know how to access.
Fixes #1496.
|
|
|
|
|
|
|
|
|
|
This reverts commit da1caba17c624f03fa8e6fbe59683f57fb7ac17a.
|
|
|
|
@vladshablinsky pointed out that other Homebrew classes, like Dependency,
use #to_formula.
|
|
@ilovezfs pointed out that Homebrew generally uses "dependent", rather than
"dependant".
|
|
Closes #934.
|
|
|
|
|
|
|
|
|
|
|
|
`var/homebrew` is too broad and ends up deleting and recreating the
locks directory repeatedly.
|
|
But remove some manual `.freeze`s on constants that shouldn't be
constants.
|
|
These don't make sense to be tied to the `HOMEBREW_REPOSITORY` but
instead should live in the `HOMEBREW_PREFIX` as they all relate to its
state.
|
|
Use constants for LinkedKegs/PinnedKegs/Locks.
|
|
These definitions are scattered throughout the codebase which makes it
hard to refactor them later (my goal is to move them outside of
HOMEBREW_LIBRARY). Unify their definitions for clearer code and easier
movement later.
|
|
This is used in diagnostic (and will be used in other places later)
rather than hard-coding other directories later.
|
|
Things that install Guile scheme objects should be doing so in
HOMEBREW_PREFIX/share/guile/site, which should be persistent rather
than a symlink to any formulae's Cellar, not even guile's necessarily as
https://github.com/Homebrew/homebrew-core/commit/f061d864d99da4064a763ba51a37ecf3cff8943c
managed to expose.
I believe guile isn't actually configured correctly to expect
this directory, but since absolutely nobody has complained to
date as far as I can find & `gnutls` seems to be the only formula
using it this way the temptation is to leave it misconfigured
& use this directory for site schemes.
I don't really know the deeper issues around messing with Guile's
configuration so going for a minimal fix seems the safest option.
|
|
`any?` is not the opposite of `empty?`. Besides the case that
`[false, nil].any?` will return false, `any?`(O(n)) has much worse
performance than `empty?`(O(1)).
|
|
This prevents a link conflict during `brew upgrade` causing opt link
stuck to old version. At this point, users will have to run `brew switch`
to fix it.
Closes #533.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
This should make more bottles relocatable e.g. ansible.
.pyo files are bytecode as .pyc files but optimized -
[ref](https://www.python.org/dev/peps/pep-0488/)
Ref https://github.com/Homebrew/homebrew-core/pull/2125#issuecomment-226987124
|
|
Closes #239.
|
|
Closes Homebrew/homebrew#48134.
|
|
Avoid using `FormulaAuditor` in `FormulaInstaller`.
Closes Homebrew/homebrew#47887.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
especially for directory instances of `Pathname` class and all
instances of `Keg` class.
|
|
|
|
|
|
Fixes Homebrew/homebrew#45596.
|
|
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).
|
|
`Keg#app_installed?` only checks the formula prefix and `libexec/` for
.app bundles to determine if a formula provides any. This is used by
`Caveats#app_caveats` to generate an appropriate message. The same list
should be used by `brew linkapps` for consistency.
Reduce likelihood of future inconsistencies by creating `Keg#apps` and
using it in place of the duplicate code.
Closes Homebrew/homebrew#45173.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
Add `java` to `SHARE_PATHS` so that `HOMEBREW_PREFIX/share/java` is a folder with symlinks in it, rather than a symlink to a folder for a specific formula.
This way we avoid conflicts if multiple formulas put `jar` files in the
standard location `HOMEBREW_PREFIX/share/java`.
See also:
[pull request 44420](https://github.com/Homebrew/homebrew/pull/44420)
Closes Homebrew/homebrew#44456.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
|
|
Closes Homebrew/homebrew#43561.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
|
|
|
|
|
|
After the formula gets renamed oldname opt is created and
it points to the linked keg. However if we then upgrade newname
oldname opt still points to the same keg it pointed before upgrade.
The commit fixes this behaviour thus that oldname opt links at the
same keg opt point.
|
|
If we have lib/python3.4/site-packages, which is a symlink to
HOMEBREW_PREFIX/lib/python3.4/site-packages, link will be confused. This
only appears after unlinking and relinking because this symlink is
created in post_install, which runs after the first link.
Fixes Homebrew/linuxbrew#502.
Closes Homebrew/homebrew#42891.
|
|
Moves us towards being able to support formulae that install R bindings,
like nonpareil in homebrew-science.
Some discussion in Homebrew/homebrew-science#2559.
Closes Homebrew/homebrew#42539.
|
|
Closes Homebrew/homebrew#42354.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
- The name of the subdirectory under site-lisp may not be exactly the
same as the name of the package
- `(normal-top-level-add-subdirs-to-load-path)` adds every subdirectory
of `default-directory` to the load-path, so users don't have to update
their load-path for every package they install.
Closes Homebrew/homebrew#42309.
|
|
Work out what's text and what's not using `file`. Also, rename
`keg_fix_install_names` to `keg_relocate` because that's a more
accurate description of what it does now.
Closes Homebrew/homebrew#41663.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Fixes Homebrew/homebrew#41742.
Closes Homebrew/homebrew#41849.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
* Library/Homebrew/caveats.rb: add caveats comparable to other shells
* Library/Homebrew/formula.rb: define completion directory along the
conventions explained in the fish documentation for
$fish_complete_path
* Library/Homebrew/keg.rb: add fish shell to check function for
installed completions
Closes Homebrew/homebrew#39828.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
Packages supporting CMake may install configuration files for use
with CMake's find_package command. A recommended location for these
is `<prefix>/lib/cmake` which is not unique across packages. This
may cause issues for Formula using this location when their Keg
is linked.
As with pkg-config, explicitly create the `lib/cmake` folder when
linking a Keg that has installed folders/files to this location.
Also add testcase.
Closes Homebrew/homebrew#38005.
Signed-off-by: Xu Cheng <xucheng@me.com>
|