[MacPorts] #19190: py25-wxpython and py26-wxpython conflict
MacPorts
noreply at macports.org
Wed Apr 29 08:48:35 PDT 2009
#19190: py25-wxpython and py26-wxpython conflict
-----------------------------------------+----------------------------------
Reporter: ram@… | Owner: jwa@…
Type: defect | Status: new
Priority: Normal | Component: ports
Version: 1.7.1 | Keywords:
Port: py25-wxpython, py26-wxpython |
-----------------------------------------+----------------------------------
Comment(by mlk@…):
wxPython (any version) writes files into
${prefix}/include/wx-X.Y/wx/wxPython, so one cannot have both the py25 and
py26 versions installed at the same time right now. I modified the "post-
destroot" to check for a prior install, and remove those files if found;
this works for me (I have both the py25 and py26 versions installed), but
might not be ideal because if the port that owns these head files is
removed, the header files will also be removed even though they should
stay around. Also, this change won't work if multiple versions of
wxWidgets are installed. Maybe there is a way for files to be "double
owned" in the MacPorts database if they are identical, and then be removed
once all owners are removed? Here is my change to the Portfile:
{{{
post-destroot {
xinstall -d -m 755 ${destroot}${prefix}/share/doc/
file copy ${worksrcpath}/docs ${destroot}${prefix}/share/doc/${name}
file copy ${worksrcpath}/samples \
${destroot}${prefix}/share/doc/${name}/examples
# check to see if there is already a wxPython installed in
# ${prefix}/include/wx-X.Y/wx/wxPython
# if so, delete the corresponding destroot files, so that
# there is no conflict during 'install'
set wx_include_dir [glob ${prefix}/include/wx-*/wx/]
system "echo ${wx_include_dir}"
if {[file exists ${wx_include_dir}/wxPython/wxPython.h]} {
system "rm -rf ${destroot}${wx_include_dir}/wxPython"
}
}
}}}
--
Ticket URL: <http://trac.macports.org/ticket/19190#comment:3>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list