Opened 7 years ago

Last modified 4 years ago

#53374 assigned enhancement

Py-Pillow should have tkinter, and webp (or x11) variants

Reported by: dmarteau (David Marteau) Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: danchr (Dan Villiom Podlaski Christiansen)
Port: py-Pillow

Description

tkinter and webp are required by pillow dependencies: they depends on X11 and thus pillow installation does not follow -x11 variant rules. I suggest either to follow -x11/no-x11 variants by not including webp and tkinter dependencies or add specific variants for tkinter and webp.

Thx.

Attachments (1)

Portfile-variants.diff (795 bytes) - added by dmarteau (David Marteau) 7 years ago.
Portfile with tkinter variants

Download all attachments as: .zip

Change History (15)

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Cc: stromnov@… removed
Keywords: haspatch added
Owner: set to stromnov
Status: newassigned
Version: 2.3.5

Maybe make them default variants.

comment:2 Changed 7 years ago by dmarteau (David Marteau)

The proposed patch set them as default variants

comment:3 Changed 7 years ago by mf2k (Frank Schima)

You are correct, sorry I missed that.

comment:4 Changed 7 years ago by mf2k (Frank Schima)

But please add descriptions to the variants.

comment:5 Changed 7 years ago by dmarteau (David Marteau)

Description added.

comment:6 Changed 7 years ago by jmroot (Joshua Root)

Just adding and removing dependencies is not enough to make it use those dependencies or not. Also, x11 is a really bad name for a variant that adds webp. (And hopefully the x11 dependency can be removed from webp).

comment:7 Changed 7 years ago by dmarteau (David Marteau)

Actually webp has no variants for removing x11 dependencies: what is your suggestion ?

comment:8 Changed 7 years ago by mf2k (Frank Schima)

Usually such a thing can be specified with a configure argument.

comment:9 Changed 7 years ago by dmarteau (David Marteau)

oh, you mean that we should patch the webp Portfile to accept the x11 variant ?

comment:10 Changed 7 years ago by jmroot (Joshua Root)

See #53382.

Changed 7 years ago by dmarteau (David Marteau)

Attachment: Portfile-variants.diff added

Portfile with tkinter variants

comment:11 Changed 7 years ago by dmarteau (David Marteau)

Added new patchfile with only tkinter variant: let webp package deal with -x11 variant in #53382

comment:12 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)

I noticed an issue related to this one: When Pillow is built against a Tk using X11 as a backend, it'll get a dependency on libxcb. The +quartz variant of tk, however, has no such dependency. As a result, the archives for py-pillow are broken against such a Tk. I posted a pull request to address this:

https://github.com/macports/macports-ports/pull/8444

comment:13 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)

Cc: danchr added

comment:14 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)

In 28ee6c22297ac0a80d3a9147ea92e35eb79fa7fe/macports-ports (master):

py-Pillow: add dummy x11 & quartz variants

When built against a Tk using X11, Pillow will pick up some extra
libraries, such libxcb. Tk's quartz variant doesn't depend on these
libraries, so installing both that (from source) and Pillow (from an
archive) can lead to a missing dependency, as noticed by rev-upgrade.

The workaround is to add explicit variants for this; we pick which one
to use based on Tk's choice.

See: #53374

Note: See TracTickets for help on using tickets.