On 5-feb-2006, at 7:46, Bob Ippolito wrote:
On Feb 3, 2006, at 12:10 PM, Bob Ippolito wrote:I think the only things missing from my branch currently are: 1) 10.3.9 supportI believe this is taken care of now that Ronald contributed the weak linking patch.
If anyone wants support for 10.3.x with x <= 8 now would be the right time to speak up and volunteer resources :-)
2) Universal PythonLauncherThis is done.3) Revamped Mac/OSX/Dist scripts (probably should rewrite all that in Python and not hardcode everything)This isn't done yet, but what we have now is probably a fully usable universal Python.
I'll work on this, I probably still know what needs to be done from when I tried to build a Python 2.4.2 compatible package using this script.
This backwards incompatible change is mostly just a backport from setuptools' pkg_resources module. $ python -c "from distutils.util import get_platform as p; print p()" macosx-10.4.3-fatThis output will now be: macosx-10.3-fatThe version number is determined from MACOSX_DEPLOYMENT_TARGET (or CONFIGURE_MACOSX_DEPLOYMENT_TARGET). It's relatively safe to assume that modules compiled with this build will be compatible with Mac OS X 10.3.9 (as long as they don't use 10.4 specific features anyway).
I'm not 100% sure I'm happy with this. You can now accidently create binary packages that claim to run on 10.3 yet don't. But as you say, this will likely affect only a very small number of packages (PyObjC being one of those, that's on my TODO list already).
For modules that absolutely require 10.4 you can set the MACOSX_DEPLOYMENT_TARGET environment variable at build time (e.g. in setup.py) and then the package produced will have a different platform string. setuptools will need work if people actually do this, because it will need to know that a Mac OS X 10.4 user can use "macosx-10.3-fat" and "macosx-10.4-fat" packages. It's probably a better idea to just write all your code so that it uses weak symbols for anything that isn't in 10.3 and raises ImportError on initialization if it's not usable.
Setuptools already contains code for this (using 10.3 packages on 10.4) in pkg_resources.compatible_platforms for the stock python distribution. That should also work with the python24-fat tree. The only thing that would require work is accepting a cpu-specific version if a fat package is not available. The only reason that might be useful is stuf like psyco which is only available for one of cpu- type.
Ronald
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig