Commit graph

71 commits

Author SHA1 Message Date
Samuel John
f6e80bdea2 Python 2.x and 3.x support
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.
2013-06-03 17:29:43 +02:00
Misty De Meo
1ac16f8090 boost: remove hardcoded 'cc' invocation
Fixes Homebrew/homebrew#17048.
2013-05-05 15:26:01 -05:00
Misty De Meo
53e164b179 boost: disable context on unsupported archs
Fixes Homebrew/homebrew#17646.
2013-05-05 15:26:01 -05:00
Simon Sigurdhsson
a763d3df9f Remove global methods from formulae
Removes any global methods from formulae, and moves #kext_prefix (which
seems to be at least somewhat abstractable) into the Formula class. The
only formula with global methods is now aspell; it (and its generating
script in contrib) has been changed to prefix that method with
`aspell_`, to minimize the risk of name collisions.

Closes Homebrew/homebrew#19331.
Closes Homebrew/homebrew#19343.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-04-21 23:48:50 -05:00
Mike McQuaid
b0d36668d1 boost: remove erroneous pour_bottle method.
Closes Homebrew/homebrew#17637.
2013-02-06 12:23:59 -08:00
Mike McQuaid
a279e30caf boost: 1.53 bottles
References Homebrew/homebrew#17589.
2013-02-05 20:01:32 -08:00
Stefan
2f10f1bb96 boost 1.53
Closes Homebrew/homebrew#17589.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-02-05 20:01:19 -08:00
Mike McQuaid
611688616e boost: update 1.52.0 bottles.
References Homebrew/homebrew#17524.
2013-02-02 15:42:14 -08:00
Xiyue Deng
5e4a87d323 boost and boost149: security fix.
* Add upstream patch for security fix in Boost.Locale when not
  building head. Detail:
  http://www.boost.org/users/news/boost_locale_security_notice.html
* Use upstream changesets as patch and don't apply when building head.

Closes Homebrew/homebrew#17524.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-02-02 15:42:14 -08:00
Mike McQuaid
03037b1a88 Add pour_bottle? method to Formula.
Allows a formula to selectively disable bottle pouring.
e.g. the default Boost bottle does not work with a brewed Python.

Fixes Homebrew/homebrew#17142
2013-01-29 17:14:11 -08:00
Adam Vandenberg
adfa42fcee boost: style nits 2013-01-27 14:54:48 -08:00
Jack Nagel
60003eecc3 Use new requirement syntax 2013-01-21 17:36:34 -06:00
Nikita Kakuev
7e4ff4e7b6 boost: add option to use system layout.
Closes Homebrew/homebrew#14749.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-20 22:40:32 +00:00
Nikolay Kasyanov
84b22a8e13 boost: fix universal build with c++11
specify linkflags & cxxflags explicitly

Fixes Homebrew/homebrew#17084.
Closes Homebrew/homebrew#17122.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-17 07:48:19 -08:00
Gary Wolfman
64ec3a7d0e boost: c++11 support.
This commit modifies boost.rb to provide C++11 support for compiling Boost.  The support is the simplest possible, adding a "with-c++11" option which if selected will add the appropriate toolset switch to the bootstrap.sh invocation and the appropriate toolset, cxxflags and linkflags to the b2 invocation.  Due to a bug in Boost, it is also necessary to provide a patch (IAW Boost Ticket 7671) or C++11 compilation will fail.

Closes Homebrew/homebrew#16078.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-11-18 21:13:28 +00:00
Mike McQuaid
735f5f31ca boost 1.52.0 bottles
Fixes Homebrew/homebrew#15871.
2012-11-12 23:43:08 +00:00
Xiyue Deng
08ccb1f5b0 boost 1.52.0
* Also add fix of MPI detection for Graph library.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-11-12 23:43:08 +00:00
Xiyue Deng
0bae0c0099 boost: a few tweaks.
* Fix typo in comment for adding rpath
* Enable detailed build log by adding "-d2" to bjam.
  - This will show the actual compile commands during building.
* Tweak ICU handling
  - Change icu4c_prefix to opt_prefix to avoid breakage when keg_only icu updates.

Closes Homebrew/homebrew#15506.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-10-26 09:35:14 +01:00
Mike McQuaid
ab7695bd08 boost 1.51.0
Closes Homebrew/homebrew#15113.
2012-09-27 20:29:27 +01:00
Adam Vandenberg
742ab76b60 boost: use new dsl 2012-08-22 21:34:11 -07:00
Mike McQuaid
656cb4b165 boost: 1.50.0 2012-08-16 21:05:52 +01:00
Adam Vandenberg
3092bce992 Fix option usage 2012-08-09 08:51:54 -07:00
Adam Vandenberg
ee6fade1d6 boost: use options dsl 2012-08-08 22:27:29 -07:00
Jack Nagel
f284efd8f6 boost: remove cruft
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-09 12:06:40 -05:00
Jack Nagel
5bd598db36 Use ENV shortcut methods where applicable
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-15 14:03:12 -05:00
Adam Vandenberg
2ab4fa3fae Remove redundant :using => :svn 2012-05-10 07:10:12 -07:00
Adam Vandenberg
fd1e30b966 Boost: use requirement for universal python 2012-04-28 11:57:34 -07:00
Charlie Sharpsteen
7eb008bb68 boost: Fix Snow Leopard bottle
This bottle was built on 10.6.3 with XCode 3.2.6 and uses the system Python
instead of Homebrew's Python.
2012-04-22 12:05:18 -07:00
Mike McQuaid
f6f14cb21b Remove Boost 10.6 bottle until fixed.
Fixes Homebrew/homebrew#11802.
Fixes Homebrew/homebrew#11633.
2012-04-22 21:40:50 +10:00
Misty De Meo
72b3073322 boost: add Snow Leopard bottle 2012-04-10 11:01:08 -05:00
Jack Nagel
64afeec6d4 Use new fails_with DSL syntax
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-04-01 12:39:59 -05:00
Xiyue Deng
98336f641c Update boost formula to version 1.49.0 and drop obsolete patches.
Closes Homebrew/homebrew#10465.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-02-25 11:49:02 +00:00
Jack Nagel
e84fd18665 boost: builds with latest LLVM
To be safe (because this is an important dep), mark 2335 as the failure
point since a 2335.x shipped with older Xcode. Given that Clang 2.1 is
one of Boost's test compilers, current Xcode compilers should be fine.
And most users will get the bottle, anyway.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-15 20:05:50 -06:00
Jack Nagel
f484acb324 boost: style cleanup
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-08 14:20:13 -06:00
ambs
f146ed7ee7 boost: add --with-icu option
Closes Homebrew/homebrew#10031.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-08 14:20:10 -06:00
Misty De Meo
2f03f781da Add devel to the DSL, + stable and bottle blocks
This commit adds a `devel` entry to the DSL, allowing formulae to
specify an unstable branch.

`devel` takes a block, which should contain standard `url` and `md5`
fields (and `version`, if necessary). This must come after the standard
DSL fields.

This commit also migrates over all formulae currently using `devel` to
the new syntax, as well as formulae which used `head` for non-VCS urls.

The new syntax is also available for `stable` and `bottle`. `stable` is
an option alongside the old syntax. `bottle` replaces the old syntax.

Note that the @stable ivar in Formula has been renamed to @standard,
and the @bottle ivar has been renamed to @bottle_url.

Closes Homebrew/homebrew#9735.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-01-25 21:45:19 -06:00
Jack Nagel
eeec79ffcb boost: don't apply patch to HEAD
It's already upstream.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-01-23 14:30:17 -06:00
Mike McQuaid
a5e3b27bdc Update boost bottle. 2012-01-16 21:50:44 +00:00
Charlie Sharpsteen
1da9b9b491 Boost: Update bottle
Re-built the boost bottle to incorporate boost::BOOST_FOREACH fixes from pull
request Homebrew/homebrew#8763.
2011-12-01 16:51:05 -08:00
Trevor Wennblom
5f02cd59e6 boost: Fix boost::BOOST_FOREACH errors
Fixed by adding a patch against 1.48.0. HEAD url also added.

Closes Homebrew/homebrew#8763.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2011-12-01 15:40:55 -08:00
Xiyue Deng
3d6acf1f3f boost: Update to 1.48.0
Closes Homebrew/homebrew#8657.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2011-11-19 14:44:20 -08:00
Jack Nagel
bb44922515 Use ENV.make_jobs in formulae
Some formulae are still calling Hardware.processor_count; replace those
instances with ENV.make_jobs.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-10-15 00:05:15 -05:00
Charlie Sharpsteen
6d44e98bd7 Boost: Fix --without-python
Looks like `--without-libraries=<library>` is just `--without-<library>`.
2011-09-20 21:12:37 -07:00
Adam Vandenberg
93eeeb39fc boost: add --without-python option 2011-09-03 09:27:29 -07:00
Mike McQuaid
29ca083ff6 Update Boost's bottle to 1.47.0. 2011-07-28 21:57:41 +01:00
Astellar
d0517ed4d9 Updated Boost to 1.47.0
Do not set fails_with_llvm for XCode 4.1 and later, as according
to release notes LLVM compiler provided by it is now among primary
test compilers, LLVM-GCC is working too.

Closes Homebrew/homebrew#6669.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2011-07-28 21:57:41 +01:00
Mike McQuaid
89229ba421 Add bottles to Qt's and Boost's formulae. 2011-06-25 11:51:36 +01:00
Adam Vandenberg
1f31751977 Use ARGV.build_universal? 2011-04-23 08:36:47 -07:00
cxx
20a2186688 boost - fix building universal binaries
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-04-03 19:21:38 -07:00
Adam Vandenberg
637b78d33d boost - add warning about universal and python
A universal build of boost will expect a universal build of Python.
2011-04-01 17:39:55 -07:00