Allow `build.with?` and similar methods to be used during the test
phase. The BuildOptions (`build`) are initialized with the
`Tab.used_options` unless explicitly overwritten on the command line.
So basically `build.with?` works in `def install` and in `test do` as
one would naively expect. (For the test, gramatically it should be
`built.with?` but who cares)
If a formula was installed `--with-python`, now the tests are also
run `--with-python`. This enables us to use the `python do ... end` in
a meaningful manner.
Using `python do ... end` blocks for the tests, because the bot.brew.sh has
system python per default and we need to set the PYTHONPATH for the test.
Potentially to different values for Python 2.x and 3.x.
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.
Shiboken uses CMake and needs the same help as OpenCV and VTK in
finding the Python Libraries and Headers.
Add code to find them. Tested on Lion with clang and llvm from
XCode-4.3.3 using System Python, Homebrew Framework and loose
Python.
FixesHomebrew/homebrew#13563
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Upgrade shiboken to version 1.1.1.
Remove the unneeded deps on generatorrunner and apiextractor.
Switch to an out of tree build with `mkdir 'macbuild' do` because
it will not compile otherwise when it tries to overwrite a
directory named `shiboken` with a binary named `shiboken`.
This results in an `error=21` which is defined in
`/usr/include/sys/errno.h` as `EISDIR`, is a directory.
Tested on Lion with clang and llvm from XCode-4.3.3.
Tested by building pyside-1.1.1 with shiboken-1.1.1.
ClosesHomebrew/homebrew#13330.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When referencing `Hardware.processor_count`, `ENV.make_jobs` will return an
integer. If referencing the environment variable `HOMEBREW_MAKE_JOBS`, it
returned a string.
Now, the function always returns an integer.
FixesHomebrew/homebrew#12033.