Commit graph

27 commits

Author SHA1 Message Date
Jack Nagel
4f72912192 grass: use :postgresql dep 2013-06-03 17:33:15 -05:00
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
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
Jack Nagel
ec11577107 Switch compilers when no build is specified
Given the current state of OS X compilers, the original fails_with
behavior is becoming less useful, mostly resulting in build failures
each time the compiler is updated. So make the following changes:

When a build is specified, we retain the old behavior: switch compilers
if the available compiler is <= the build, don't switch if it is > the
build.

When no build is specified, unconditionally switch compilers, and don't
output the advice message. This allows us to mark formulae as
perpetually failing, avoiding the need to update formulae each time a
new compiler build is made available.

As a bonus, this makes the logic much easier to reason about.

Closes Homebrew/homebrew#18175.
2013-03-12 13:55:15 -05:00
Adam Vandenberg
acb8925e2d Grass: stil fails with clang 425.
Closes Homebrew/homebrew#17704.
2013-02-09 09:49:01 -08:00
Yousef Ourabi
415ce0f1d8 grass: new style options
Closes Homebrew/homebrew#17044.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-12 15:09:02 -08:00
Jack Nagel
8c29982153 Revert "Rename readline to gnu-readline"
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.
2012-11-10 21:12:26 -06:00
Jack Nagel
e2f9856882 Rename readline to gnu-readline
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.

Fixes Homebrew/homebrew#15776.
2012-11-10 20:07:32 -06:00
Charlie Sharpsteen
0bcb5caf66 grass: Still fails with Clang build 421
Building GRASS with the Clang version provided by XCode 4.4.1 still suffers
from multiple failures.

Fixes Homebrew/homebrew#14963.
2012-09-16 11:22:35 -07:00
Jack Nagel
53473b6bf5 Clean up MacOS version method usage
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.

"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.

The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-10 16:16:54 -05:00
Mike McQuaid
88779ade49 Batch convert MD5 formula to SHA1.
Closes Homebrew/homebrew#14653.
2012-09-03 11:36:42 -07:00
Jack Nagel
01e9fad4a1 Adjust XQuartz/X11 module naming scheme
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-06 00:39:06 -05:00
Jack Nagel
b81d01e23d Update formulae for new XQuartz module 2012-08-01 00:31:39 -05:00
Jack Nagel
d6e8244287 Update formulae for XQuartz compatibility 2012-07-01 12:41:00 -05:00
Adam Vandenberg
2ab4fa3fae Remove redundant :using => :svn 2012-05-10 07:10:12 -07:00
Charlie Sharpsteen
bb325ef504 GRASS: Fix Lion builds
- Disable WxPython GUI. We have no stable WxMac build for this and building
    WxPython has the additional constraint of requiring a Framework build of
    Python.

  - Flag as failing with clang.

Fixes Homebrew/homebrew#8594.
2012-04-21 14:57:22 -07:00
Charlie Sharpsteen
61f6bcaecf GRASS: Don't install stuff outside of --prefix
Add a small patch to the GRASS makefile that removes a command that installs
stuff to `/Library/Documentation/Help`---this is outside of the prefix and we
don't have permissions for this directory.
2012-04-21 14:57:22 -07:00
Adam Vandenberg
d5f4b26e3e grass 6.4.2 2012-03-31 13:48:30 -07:00
Adam Vandenberg
163affcab1 grass: move patch notes up 2012-03-17 12:08:39 -07:00
Brett Koonce
7b65d5ade8 Fix spelling mistakes
Closes Homebrew/homebrew#9449.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-01-06 09:43:54 -06:00
Charlie Sharpsteen
edf4737467 GRASS: Remove FFmpeg for now
GRASS 6.4.1 is currently not compatible with FFmpeg 0.8. Removing the
dependency until GRASS is updated.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-08-22 21:03:48 -07:00
Charlie Sharpsteen
a93aa30c81 GRASS: Add HEAD URL
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-08-22 21:03:44 -07:00
Charlie Sharpsteen
793cb878ec GRASS 6.4.1
Also enable support for FFMPEG and GEOS.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-05-04 09:13:16 -07:00
Adam Vandenberg
121e4f8614 Normalize use of MACOS_VERSION 2011-04-09 09:36:30 -07:00
Adam Vandenberg
5a3975c4b0 grass: use MacOS.prefer_64_bit? 2011-03-19 09:33:50 -07:00
Adam Vandenberg
4147b05c57 Use ruby style for inheritance. 2011-03-12 11:55:09 -08:00
Charlie Sharpsteen
7912feb5c6 New formula for GRASS GIS
The Geographic Resources Analysis Support System (GRASS) is one of the oldest,
most fully-featured Geographic Information Systems (GIS).  It happens to be open
source too!

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-02-13 19:49:44 -08:00