Commit graph

108 commits

Author SHA1 Message Date
Samuel John
4ef4526b41 python: Using setuptools 0.8 now 2013-07-15 12:13:31 +02:00
Misty De Meo
7f7270e000 python: clean up LINKFORSHARED inreplace
Fixes Homebrew/homebrew#20860.
2013-06-27 16:50:01 -05:00
Misty De Meo
6c4eff7cd5 Python: fix LINKFORSHARED value
LINKFORSHARED incorrectly returns a truncated value by default, which
breaks builds which depend on it returning a valid path.
e.g., it returns:

Python.framework/Versions/2.7/Python

Instead of:

$(brew --prefix)/Python.framework/Versions/2.7/Python

This breaks zpython, and possibly other things. See Homebrew/homebrew#20182.

Reported to Python.org in http://bugs.python.org/issue3588 and
http://bugs.python.org/issue16848, fixed for python-config but not
other usecases.
2013-06-26 01:22:39 -05:00
Samuel John
1a8c91156e python: Fix --with-brewed-tk 2013-06-07 17:58:57 +02:00
Samuel John
85b266f890 python: simplify how PythonInstalled is used in python.rb
* Should also be more robust as we now explicitly set the
  python.binary.
2013-06-07 17:58:56 +02:00
Samuel John
26da761e2a python: New style 2013-06-07 17:58:55 +02:00
Samuel John
eaa33c732b python: --HEAD option added and more robust builds
* Added a head for python 2.7
* Using `build.with?` instead of `build.include? 'with...'`
* More robust temporary linking of opt/python/bin during
  install and cleanup (with ensure).
2013-06-06 12:37:53 +02:00
Samuel John
414f3bb43c python: Remove duplicate code 2013-06-06 09:47:21 +02:00
Samuel John
cdf65eb416 python: Prevent potential build failure
that is caused by not calling the right (newly built)
python binary.

Fix Homebrew/homebrew#20245 hopefully.
2013-06-04 17:03:01 +02: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
Samuel John
ff3799c06f python: Fix Homebrew/homebrew#19300 MAXREPEAT issue with system vim
Related:
http://bugs.python.org/issue18050
2013-05-24 20:10:54 +02:00
Ian Lancaster
56b7c6532e python 2.7.5
Closes Homebrew/homebrew#19860.

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-05-18 13:51:44 +02:00
Mike Goodspeed
673b9c1191 Distribute 0.6.40
Closes Homebrew/homebrew#19847.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-05-15 20:41:16 -05:00
Jack Nagel
aebc950422 python: distribute 0.6.38 2013-05-09 14:15:59 -05:00
Will Ross
2bd6022682 python: Restore the experimental DTrace patch
The old patch had a lot of whitespace differences, and they were failing with
Python 2.7.4. In addition to removing the whitespace differences, configure.in
was removed from the patch, as configure is being patched already.

Closes Homebrew/homebrew#19257.
Closes Homebrew/homebrew#19203.
Closes Homebrew/homebrew#19400.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-04-27 12:02:41 -07:00
Samuel John
93d63a996f python: Removed --with-dtrace: patch not compatib.
http://bugs.python.org/issue13405 seems not
to be ready for 2.7.4. Neither merged nor a
patch available. Feel free to submit a pull
request if there is a 2.7.4-compatible
dtrace patch.
2013-04-07 19:17:35 +02:00
Brett Koonce
cdac2fe9a7 python: tweak tk patch for python 2.7.4
Closes Homebrew/homebrew#19026. Fixes Homebrew/homebrew#19020 (half-of)

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-04-07 19:13:32 +02:00
Timo Sand
c0564ff4ea python: sitecustomize checks path before remove
This fixes issues when calling python scripts print `'import sitecustomize' failed; use -v for traceback`

Closes Homebrew/homebrew#18338.

Signed-off-by: Samuel John <github@SamuelJohn.de>
2013-04-07 18:49:10 +02:00
Brett Koonce
9ca242884f python 2.7.4
Closes Homebrew/homebrew#19016.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-04-06 21:16:33 -07:00
Samuel John
5b6edaa692 python: Fix with-brewed-tk for tcl-tk
Fixes Homebrew/homebrew#18657
2013-03-25 15:38:52 +01:00
Jannis Leidel
cd99d83c69 Python: update pip and distribute
Closes Homebrew/homebrew#18358.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-03-09 07:15:14 -08:00
Kyungdahm Yun
b52748dc13 Fix PYTHONFRAMEWORKDIR for Xcode with CLT
PYTHONFRAMEWORKDIR is now replaced even if CLT is installed.

Closes Homebrew/homebrew#17144.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-17 14:33:12 -08:00
Samuel John
5eb71eb481 python: Explicitly add sqlite to cflags/ldflags
Fixes Homebrew/homebrew#15300 because sqlite is keg_only since a few days.

Closes Homebrew/homebrew#17120.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-16 08:21:42 -08:00
Samuel John
3bf507fd46 python: Allow --with-brewed-tk.
- Fixes Homebrew/homebrew#16574.
- Improve Tkinter test by actually calling Tk()
- Check for /Library/Frameworks/Tk.framework no longer needed.
- Also remove Tk.framework check from python3.rb
- Fix PYTHONFRAMEWORKDIR so that `python-config --ldflags` is useful.

Closes Homebrew/homebrew#17008.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-01-14 21:13:25 -08:00
Mike McQuaid
19e3648741 Revert "python: Allow --with-brewed-tk."
This reverts commit 1d8f01d8af394a7501f5bf3a1e51796c1a7548a1.

Reopens Homebrew/homebrew#16626, reopens Homebrew/homebrew#16574.
2013-01-11 13:10:50 +00:00
Samuel John
fcd743a830 python: Allow --with-brewed-tk.
- Fixes Homebrew/homebrew#16574.
- Improve Tkinter test by actually calling Tk()
- Check for /Library/Frameworks/Tk.framework no longer needed.
- Fix PYTHONFRAMEWORKDIR so that `python-config --ldflags` is useful.

Closes Homebrew/homebrew#16626.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-11 09:46:30 +00:00
Adam Vandenberg
44e76b2d5a python: distribute 0.6.34 2013-01-04 11:08:35 -08:00
Misty De Meo
ca9b6877a1 python: fix installing on NFS
python has a severe bug which prevents it from building, or performing
certain filesystem operations, on NFS.

A few functions in the shutil module, notably chflag(), will attempt
to copy file metadata which includes flags. Certain filesystems, such
as NFS, don't support copying flags and will raise ENOTSUP when it is
attempted. Unfortunately a portion of the python build process
indirectly uses chflag() to copy metadata, which results in a build
failure if the install prefix is on an NFS volume.

This was patched in 2010, but the patch didn't actually work on OS X.
This upstream patch fixes it for real.
2012-12-21 10:57:19 -06:00
Samuel John
2658b65933 python: dtrace support is experimental.
Closes Homebrew/homebrew#16421.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-12-05 15:51:53 +00:00
Adam Vandenberg
1b0a1dea37 Distribute 0.6.32 2012-12-03 10:18:28 -08:00
Kashif Rasul
14c2de8da0 distribute 0.6.30
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-11-25 08:41:37 -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
samueljohn
dfd417a4e6 python: For Xcode-only, add the the Tk header dir
Closes Homebrew/homebrew#15351.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-10-08 08:47:55 -07:00
samueljohn
d6bb885ae7 python: Fix universal build for superenv
Closes Homebrew/homebrew#15243.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-10-02 10:10:40 -07:00
samueljohn
35eee9c7ca Replace mentions of easy_install by pip
Use this chance to correct minor typos.

Closes Homebrew/homebrew#15242.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-10-02 08:29:21 -07:00
samueljohn
90e3e52b94 python: Fix site-packages installs via pip (& co.)
- Removed accidently added -py-debug
- Ensure HOMEBREW_PREFIX/share/python exists as a dir
- Don't change the sys.prefix (broke virtualenv)
  and instead add install-lib dir to distutils.cfg.

superenv respects brewed python

Closes Homebrew/homebrew#15220.

Signed-off-by: Max Howell <mxcl@me.com>
2012-10-01 10:14:42 -04:00
samueljohn
b10167affc python goes superenv
- Install a sitecustomize.py that is only executed for brewed
  python to
  -  Fix the prefix, python thinks it is installed to.
     (Remember, Python thinks it lives in the Cellar)
  -  Remove "/System/..." stuff from sys.path which caused
     a lot of install trouble because setuptools has the
     habbit to inject itself upfront, overwriting our distribute.
- Allow --with-poll and don't say, we didn't warn you.
- Don't need depends_on :x11 any longer. Yeah, no XQuartz!
- Add --with-brewed-openssl
- pip 1.2.1
- pip, pip-2.7, easy_install and easy_install-2.7 are installed
  to prefix, such that they are directly available, even if
  people have not set their PATH to include
  $(brew --prefix)/share/python
- Caveats shorter and clear.
- For Xcode-only:
  - Patch the distutils buildsystem to use "xcrun cc" etc.
  - Teach distutils the MacOS.sdk_path (for incs and libs)
- superenv.rb add the right python include dir depending on
  whether a brewed python is installed or not.

Closes Homebrew/homebrew#15064.

Signed-off-by: Max Howell <mxcl@me.com>
2012-09-29 09:43:39 -04:00
Adam Vandenberg
8af0e97014 Use env. 2012-09-14 09:14:48 -07:00
Adam Vandenberg
5463335335 python/3: remove skip-clean 2012-09-14 07:23:06 -07:00
samueljohn
475531f1ba python/3: more verbose install of distribute/pip
Closes Homebrew/homebrew#14932.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-14 07:11:29 -07:00
Lee Packham
3b41404923 Python: add DTrace support
Makes use of a patch from http://bugs.python.org/issue13405 with the
first part modified to remove the .hgignore patch.

This ends up providing full probes in OSX just like you have with
built-in Python.

Closes Homebrew/homebrew#14343.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-09 11:28:33 -07:00
samueljohn
26a1cdbf7a python2/3: Harden against other pythons. Pip 1.2
- Unset PYTHONPATH and PYTHONHOME which would lead to install distribute and
  pip into the wrong python.
- For NCLT: Add to CPPFLAGS the path to zlib via -I because python's setup.py
  scans only these flags.
- '-Qunused-arguments' can be added after ENV.enable_warnings to reduce
  noise. The only thing which we must not add is the "-w" switch!
- For python.rb only: Pass "--no-user-cfg" to python setup.py and add --force
  when installing distribute and pip to ensure overwriting with the new ones.

Closes Homebrew/homebrew#14689.
Closes Homebrew/homebrew#14686.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-04 07:50:14 -07:00
Mike McQuaid
88779ade49 Batch convert MD5 formula to SHA1.
Closes Homebrew/homebrew#14653.
2012-09-03 11:36:42 -07:00
Jack Nagel
74e1d85650 python: optional deps are really recommended
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-20 17:01:54 -05:00
Jack Nagel
d973dccbe6 python/python3: don't duplicate TkCheck requirement
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-20 17:00:34 -05:00
samueljohn
909605ebc1 python: ENV.minimal_optimization. Remove 2to3 fix
- Extras now in HOMEBREW_PREFIX/share/python/Extras instead of
  HOMEBREW_PREFIX/share/python2.7/Extras
- Assure no '-march=...' or '-msse4' or similar flags are there
  because `python-config --cflags` reports them later and can
  break certain c-extensions. (happend for SciPy).

Closes Homebrew/homebrew#14199.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-18 22:57:00 -05:00
Jack Nagel
e9e5f681be python: tighten '2to3' check
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-14 15:21:50 -05:00
Jack Nagel
13e1cd4cab python: update comments
We only offer framework builds, so remove comments that suggest
otherwise.

Use HOMEBREW_PREFIX instead of `brew --prefix`, as that is what is
available inside of the formula, and how it is referenced elsewhere in
Homebrew.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-14 15:02:54 -05:00
Jack Nagel
0827546cb2 python: fix typo
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-08-13 10:01:40 -05:00