classification
Title: Can't change the framework name on OS X builds
Type: enhancement Stage:
Components: Build, Macintosh Versions: Python 3.0, Python 2.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ronaldoussoren Nosy List: benjamin.peterson, habnabit, ronaldoussoren
Priority: normal Keywords: patch

Created on 2008-04-07 19:47 by habnabit, last changed 2008-05-02 20:27 by benjamin.peterson. This issue is now closed.

Files
File name Uploaded Description Edit
framework.patch habnabit, 2008-04-08 02:24 svn diff output
framework2.patch habnabit, 2008-04-08 05:54 patch, take two
Messages (7)
msg65105 - (view) Author: Aaron Gallagher (habnabit) Date: 2008-04-07 19:47
There is currently no way in the configure script to specify an 
alternate name for Python.framework. If I want to completely separate 
versions of Python (e.g. for 3.0 alphas and/or Stackless), I have to 
manually edit configure.in and configure to change the framework name. 
It would be much more convenient if --with-framework could take an 
optional parameter of the framework name to use.
msg65123 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-04-07 21:26
Would you like to work on a patch?
msg65136 - (view) Author: Aaron Gallagher (habnabit) Date: 2008-04-08 02:24
Here's a framework that implements the necessary change. I'm not very good 
at autoconf, so it might need to be touched up.
msg65147 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008-04-08 05:38
To start: thanks for the patch.

I haven't done a detailed review yet, I have a minor nit: could you 
change  Mac/Makefile.in as well, specifically the definition:

PYTHONAPPSDIR=/Applications/MacPython $(VERSION)

This is used to install a number of GUI applications. "MacPython" should 
be replaced by the framework name. That will drop the "Mac" prefix in a 
default install, but that's not a problem and possibly confusing anyway.
msg65149 - (view) Author: Aaron Gallagher (habnabit) Date: 2008-04-08 05:54
Okay, here's the same patch but now with Mac/Makefile.in patched. I 
changed all references to Python to the framework name, because I believe 
it won't work properly otherwise.
msg65781 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008-04-25 13:21
The new patch looks great. I'll apply it next week.
msg66107 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008-05-02 19:50
This functionality is enabled as of revision 62644

The actual patch is slightly more involved than the attached patches, 
the patch forgot to add a variable to Mac/Makefile.in and doesn't patch 
Mac/IDLE/Makefile.in at all.

I've also made the Info.plist inside applications and the framework 
dynamic (that is, patched by configure), that way the Python version is 
automaticly patched into these files.


Furthermore the framework identifier is changed when you use the --with-
framework-name argument to configure.


There is one minor open issue with this patch, which I won't fix: 
site.py adds ~/Library/Python/... to sys.path, but only if 
"Python.framework" is in sys.prefix. That code won't trigger when 
building a framework with another name (such as --with-framework-
name=Stackless). I don't think that can be fixed without modifying 
site.py during configure or installation. (see site.py, line 199)
History
Date User Action Args
2008-05-02 20:27:29benjamin.petersonsetstatus: open -> closed
2008-05-02 19:50:07ronaldoussorensetresolution: fixed
messages: + msg66107
2008-04-25 13:21:22ronaldoussorensetmessages: + msg65781
2008-04-08 05:54:18habnabitsetfiles: + framework2.patch
messages: + msg65149
2008-04-08 05:38:06ronaldoussorensetmessages: + msg65147
2008-04-08 02:27:53benjamin.petersonsetassignee: ronaldoussoren
nosy: + ronaldoussoren
2008-04-08 02:24:06habnabitsetfiles: + framework.patch
keywords: + patch
messages: + msg65136
2008-04-07 21:26:13benjamin.petersonsetnosy: + benjamin.peterson
messages: + msg65123
2008-04-07 19:47:23habnabitcreate