New `depends_on :python` Dependency.
New `depends_on :python3` Dependency.
To avoid having multiple formulae with endings -py2 and -py3,
we will handle support for different pythons (2.x vs. 3.x)
in the same formula.
Further brewed vs. external python will be transparently supported.
The formula also gets a new object `python`, which is false if
no Python is available or the user has disabled it. Otherwise
it is defined and provides several support methods:
python.site_packages # the site-packages in the formula's Cellar
python.global_site_packages
python.binary # the full path to the python binary
python.prefix
python.version
python.version.major
python.version.minor
python.xy # => e.g. "python2.7"
python.incdir # includes of python
python.libdir # the python dylib library
python.pkg_config_path # used internally by brew
python.from_osx?
python.framework?
python.universal?
python.pypy?
python.standard_caveats # Text to set PYTHONPATH for python.from_osx?
python.if3then3 # => "" for 2.x and to "3" for 3.x.
Further, to avoid code duplication, `python` takes an optional
block that is run twice if the formula defines depends_on
:python AND :python3.
python do
system python, 'setup.py', "--prefix=#{prefix}"
end
Read more in the Homebrew wiki.
This reverts commit adee5315265cc46aa6a3057071527abb16e1cd94.
Turns out one of the "other things" is a dealbreaker.
We only create kegs using a formula's canonical name. However, we do not
check that this is the case when mapping existing kegs back to formula
objects, and thus a keg with a name that happens to be an alias can fool
Homebrew into thinking the canonically-named keg exists.
So anything that enumerates kegs and then tries to do stuff with the
resulting formula objects will just break. This is obviously worse than
the debugger being broken, so reverting this for the time being.
The Readline class clashes with the Readline module from the Ruby
stdlib. This has mostly worked, but with the recent debugging support's
integration of IRB, it is no longer possible for them to coexist. So we
need to rename it.
The implications of this are:
- Anything that depends on readline will reinstall it as
"gnu-readline". Anything already installed will continue to function.
- "brew upgrade readline" will say "gnu-readline not installed", as
"readline" is now an alias.
- Probably other things.
So there are some downsides, but we will just have to deal with them.
FixesHomebrew/homebrew#15776.
Asymptote needs a serialized `make install` or else things fail due to race
conditions.
Also, altered installation so that TeX packages are no long installed to texmf
trees outside of the Asymptote keg---notably:
/usr/local/texlive/<dist_year>/texmf-local
~/Library/texmf
All packages are now installed to HOMEBREW_PREFIX/share/texmf and instructions
for adding this directory to the TeX search path are given in the caveats.
Asymptote is a 3D programmatic drawing environment
that integrates with TeX/LaTeX. It requires a MacTeX
installation (or equivalent).
Building asy from source is not exactly straightforward
(although not toooo difficult) on Mac OS X due to some
dependences; hopefully this formula helps some people
out.
Signed-off-by: David Höppner <0xffea@gmail.com>
* white spaces