Rainer Müller wrote: > See http://trac.macports.org/wiki/PythonFrameworkTransition and the > python-frameworks branch in svn. I tried to make python24 and python25 > more similar and build both as frameworks. > > Before this can be released we need an easy way for the transition as > described on the wiki page. > > Also updates to the python port groups are necessary. Currently they are > shipped with base, so we can't update them at any time, only with > releases. See ticket #14553 [1] for more. Sure we could solve this issue > before (with a release) and then update the port groups whenever we like > without waiting for new releases.
So today I had time to play with the python25 port group a little bit. I thought we could just change --prefix=${prefix} to --prefix=${prefix}/Library/Frameworks/Python.framework/Versions/2.5/ in order to achieve py25-* modules to get installed into the framework. But it turned out that this will cause more problems than we gain. There are other ports around using the python25 port group which are not modules for python25, e.g. mercurial. So with this change, the hg binary will land at ${prefix}/Library/Frameworks/Python.framework/Versions/2.5/bin/hg which is absolutely not what we want. So, currently, I don't know a better solution than to stick with --prefix=${prefix}. The setup.py script does not seem allow to specify seperate lib or header directories and doing that manually in a custom post-destroot just adds unecessary complexity in my opinion. Thomas, I don't know if you are around and reading this mail, but what is your opinion on this? But after all, this means that we have yet again to change the direction of the symlinks. I wanted to avoid spreading the different files all over ${prefix} and have them all at one place in the framework, so the symlinks would always go from the "usual" place to the framework. Well, now it turned out that this does not work as expected, because apparently we never thought of non-modules and how they would get installed while planning the transition. Okay, so we have the option to install the files at their "usual" location (like ${prefix}/lib/python2.5/ and ${prefix}/include/python2.5/ instead of somewhere in the framework). This also means the direction of the symlinks changes, so they are now created inside the framework pointing to the "usual" location (as shown below). These symlinks are necessary to avoid spreading files over multiple locations which should be at the same place (e.g. some files in the framework, some files at the "usual" place). The current python24 is patched (patch-Lib-site.py) to also look at the "usual" place for modules, but I think a symlink will also work and avoid splitting of files over these locations. New symlinks would be like this (not exactly, you get the idea): set ${framewdir} ${prefix}/Library/Frameworks/Python.framework ${framewdir}/Python.framework/Versions/2.5/lib/python2.5 -> ${prefix}/lib/python2.5 ${framewdir}/Python.framework/Versions/2.5/lib/libpython*.dylib -> ${prefix}/lib/libpython*.dylib ${framewdir}/Python.framework/Versions/2.5/include/python2.5 -> ${prefix}/include/python2.5 ${framewdir}/Python.framework/Versions/2.5/bin/$foo -> ${prefix}/bin/$foo Maybe then we don't need a change to the python port groups at all and upgrading existing pyXX-* ports may be easier. Let's see, I did not yet investigate that... I will update the PythonFrameworkTransition wiki page later, when I got together a more solid plan. Rainer _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev