Opened 14 years ago
Closed 14 years ago
#26387 closed defect (fixed)
xorg-xcb-proto/python dependency loop via tk/libX11
Reported by: | spyro@… | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | High | Milestone: | |
Component: | ports | Version: | 1.9.1 |
Keywords: | Cc: | jeremyhu (Jeremy Huddleston Sequoia), tracey@…, raimue (Rainer Müller), drkp (Dan Ports), olivier.serve@… | |
Port: | xorg-xcb-proto python26 |
Description
This ticket is a followup to Ticket #26381
While that ticket is now fixed, a dependency loop still remains between python and xorg-xcb-proto. The attached patch resolves this issue.
Attachments (1)
Change History (21)
Changed 14 years ago by spyro@…
Attachment: | Portfile-xorg-xcb-proto.diff added |
---|
comment:1 Changed 14 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Cc: | mcalhoun@… added |
---|---|
Keywords: | haspatch removed |
Owner: | changed from macports-tickets@… to blb@… |
Port: | python added; xorg-xcb-proto removed |
comment:3 Changed 14 years ago by spyro@…
Unfortunately, tk is one of the core parts of python: http://docs.python.org/library/tk.html
It is python's included gui framework. I suppose one could just use port install python26 +no_tkinter
, but this would not really be a full python installation (it breaks IDLE, the dev environment included with python).
Couldn't xorg-xcb-proto use the system python like xorg-libxcb did?
comment:4 Changed 14 years ago by jeremyhu (Jeremy Huddleston Sequoia)
No. It's not just used to build. xorg-xcb-proto installs python modules.
comment:5 follow-up: 10 Changed 14 years ago by spyro@…
So in that case, the patch that I created probably messed up my xorg-xcb-proto install?
I suppose that the best thing to do would be:
- To use
port install python26 +no_tkinter
- Then install xorg-xcb-proto normally
- Then reinstall python without +no_tkinter
I wonder if there is any way to streamline this process or atleast to make it more obvious?
Thank you for your help!
comment:6 Changed 14 years ago by blb@…
Cc: | mcalhoun@… removed |
---|---|
Owner: | changed from blb@… to mcalhoun@… |
comment:8 Changed 14 years ago by jmroot (Joshua Root)
Dodgy workaround applied in r71286, since this is an "everything is broken!" situation from a new user's perpective.
So, taking into account that tkinter is considered a core python module, and our tk port must depend on X11 on 64-bit platforms because the aqua variant uses Carbon, what are we going to do about this?
comment:9 Changed 14 years ago by jmroot (Joshua Root)
Port: | xorg-xcb-proto python26 added; python removed |
---|
comment:10 Changed 14 years ago by jzwolak@…
Replying to spyro@…:
So in that case, the patch that I created probably messed up my xorg-xcb-proto install?
I suppose that the best thing to do would be:
- To use
port install python26 +no_tkinter
- Then install xorg-xcb-proto normally
- Then reinstall python without +no_tkinter
I wonder if there is any way to streamline this process or atleast to make it more obvious?
Thank you for your help!
Here are the exact commands that worked for me:
sudo port install python26 +no_tkinter sudo port -f activate python26 sudo port install xorg-xcb-proto sudo port clean python26 sudo port install python26
And then I can install ImageMagick, xorg, or whatever. Note that the second command may not be necessary on your system, it was necessary on mine because I had some files lying around from a previous Python installation attempt.
comment:12 follow-up: 13 Changed 14 years ago by danielluke (Daniel J. Luke)
IIRC the python sub-ports were pulled back into the python main port because python -S won't load modules. Is tkinter something that needs to be run in that situation? My initial thought would be to just pull tkinter out into its own port (like we used to do with all of the python modules). If having it installed as a module doesn't brake IDLE, it might be the best (bad) fix.
comment:13 follow-up: 15 Changed 14 years ago by raimue (Rainer Müller)
Cc: | raimue@… added |
---|
Replying to dluke@…: Actually that would be what I suggested in April 2009 already ;-)
Another solution would be to move the python module xcbgen to its own port?
comment:14 Changed 14 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Moving xcbgen to its own port won't help because we'll still need to depend on it in xorg-libxcb
comment:15 Changed 14 years ago by danielluke (Daniel J. Luke)
Replying to raimue@…:
Replying to dluke@…: Actually that would be what I suggested in April 2009 already ;-)
Yep :)
Unless someone else comes up with an alternate solution, I think we need to go this route.
comment:17 Changed 14 years ago by danielluke (Daniel J. Luke)
... any reason not to create py26-tkinter (based off of py24-tkinter) and move the +no_tkinter stuff into the main python26 port? (this has been broken for a while now).
comment:20 Changed 14 years ago by danielluke (Daniel J. Luke)
Resolution: | → fixed |
---|---|
Status: | new → closed |
+no_tkinter incorporated into the main python26 port in r74548 (without a revbump)
We can't really do that because xorg-xcb-proto builds python modules.