New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #20666 (closed enhancement: wontfix)

Opened 2 years ago

Last modified 22 months ago

py26-matplotlib 0.99.0 - Set CocoaAgg backend as variant

Reported by: mdippery@… Owned by: ram@…
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

Portfile.diff Download (1.3 KB) - added by mdippery@… 2 years ago.
A new version of the Portfile with changes from comments incorporated
patch-setup.diff Download (259 bytes) - added by mdippery@… 2 years ago.
A patch file for the existing patch-setup.cfg.diff. Should be applied to files/patch-setup.cfg.diff
patch-disable_optional_deps.diff Download (5.6 KB) - added by mdippery@… 2 years ago.
A replacement for the existing patch-disable_optional_deps.diff

Change History

Changed 2 years ago by ram@…

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.

Changed 2 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.

Changed 2 years ago by ram@…

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 2 years ago by mdippery@…

A new version of the Portfile with changes from comments incorporated

Changed 2 years ago by mdippery@…

A patch file for the existing patch-setup.cfg.diff. Should be applied to files/patch-setup.cfg.diff

Changed 2 years ago by mdippery@…

A replacement for the existing patch-disable_optional_deps.diff

Changed 2 years ago by ram@…

  • owner changed from macports-tickets@… to ram@…
  • status changed from new to assigned

Thanks, I'll take a look at these. Initially they look OK.

Changed 2 years ago by ram@…

  • cc ram@… removed

Changed 2 years ago by ram@…

Looking at patch-setup.diff Download, 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.

Changed 22 months ago by ram@…

  • status changed from assigned to closed
  • resolution set to wontfix

Can't find a way to disable CocoaAgg backend.

Note: See TracTickets for help on using tickets.