Opened 15 years ago
Closed 15 years ago
#20666 closed enhancement (wontfix)
py26-matplotlib 0.99.0 - Set CocoaAgg backend as variant
Reported by: | mdippery@… | Owned by: | skymoo (Adam Mercer) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.1 |
Keywords: | Cc: | ||
Port: | py26-matplotlib |
Description
py26-matplotlib automatically builds with the CocoaAgg backend, which requires a large number of dependencies related to the PyObjC bridge, which aren't necessary if you're doing basic work with py26-matplotlib and don't want to use the CocoaAgg backend at all. In keeping with the port's convention, this patch creates a variant, "cocoa", that enables the CocoaAgg backend.
This patch also removes py26-configobj as a dependency, since it does not seem to be an actual dependency in this version of matplotlib.
Attachments (3)
Change History (10)
comment:1 Changed 15 years ago by skymoo (Adam Mercer)
comment:2 Changed 15 years ago by mdippery@…
Are the Objective-C bridge dependencies necessary, then? I built and ran matplotlib without them, using the patch to the Portfile as given above.
comment:3 Changed 15 years ago by skymoo (Adam Mercer)
Only if you want the CocoaAgg backend. But my point is that if you have py26-cocoa, and friends, installed the CocoaAgg backend will be built regardless of whether the cocoa variant is specified. Therefore if you then remove the cocoa bindings port will not complain as they are not marked as dependencies for matplotlib but then the CocoaAgg backend will not longer function as the bindings will have been removed. If you want the CocoaAgg backend to be a variant then it needs to be disabled like the other interactive backends are.
Changed 15 years ago by mdippery@…
Attachment: | Portfile.diff added |
---|
A new version of the Portfile with changes from comments incorporated
Changed 15 years ago by mdippery@…
Attachment: | patch-setup.diff added |
---|
A patch file for the existing patch-setup.cfg.diff. Should be applied to files/patch-setup.cfg.diff
Changed 15 years ago by mdippery@…
Attachment: | patch-disable_optional_deps.diff added |
---|
A replacement for the existing patch-disable_optional_deps.diff
comment:4 Changed 15 years ago by skymoo (Adam Mercer)
Owner: | changed from macports-tickets@… to ram@… |
---|---|
Status: | new → assigned |
Thanks, I'll take a look at these. Initially they look OK.
comment:5 Changed 15 years ago by skymoo (Adam Mercer)
Cc: | ram@… removed |
---|
comment:6 Changed 15 years ago by skymoo (Adam Mercer)
Looking at patch-setup.diff, this disables the MacOSX backend not the CocoaAgg backend. The reason the CocoaAgg backend is on by default is that I haven't found a way to disable it.
comment:7 Changed 15 years ago by skymoo (Adam Mercer)
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
Can't find a way to disable CocoaAgg backend.
Just removing the dependencies is not really sufficient as if cocoa bindings are installed the CocoaAgg backend will be built regardless of whether the cocoa variant is specified or not, the building of the the cocoa backend will need to be disabled unless the variant is specified. This is done for the other backend variants and it also needs to be done for the cocoa backend if it is going to be made a variant. See the various patches that are applied.