Page MenuHomeFreeBSD

graphics/py-pillow: Update to 7.0.0
ClosedPublic

Authored by kai on Feb 16 2020, 9:29 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Feb 18, 10:47 PM
Unknown Object (File)
Dec 13 2023, 4:05 PM
Unknown Object (File)
Dec 9 2023, 1:05 PM
Unknown Object (File)
Dec 2 2023, 1:38 PM
Unknown Object (File)
Dec 2 2023, 1:38 PM
Unknown Object (File)
Dec 2 2023, 1:38 PM
Unknown Object (File)
Dec 2 2023, 1:38 PM
Unknown Object (File)
Dec 2 2023, 1:38 PM
Subscribers
None

Details

Summary
* Repo-Copy the Pillow 6.2.2 release to graphics/py-pillow6 to retain backwards
  compability for Python 2 consumers as the Pillow 7.0.0 release dropped the
  support for Python 2.

* Apply conditional statements to use either Pillow 7.x or Pillow 6.x for
  consumers that can be built for Python 2 or newer.

* Exceptions are ports that can be built for either Python 2 or Python 3
  only.  For the first case, consumers were just assigned to the repo-copied
  graphics/py-pillow6.

Release Notes:

 * https://pillow.readthedocs.io/en/latest/releasenotes/index.html

Backward Incompatible Changes (7.0.0):

 * https://pillow.readthedocs.io/en/latest/releasenotes/7.0.0.html#backwards-incompatible-changes

Detailed Changelog:

 * https://github.com/python-pillow/Pillow/blob/7.0.0/CHANGES.rst

PR: 243665
Submitted by: sunpoet (patch for 7.0.0 and repo-copied version)
Approved by: koobs (maintainer)
Test Plan
  • poudriere -> OK (11.3-RELEASE, amd64 with py27, py35, py36, py37, py38)
  • make index -> OK
  • poudriere bulk -n -t -a -> OK

Some patching for www/py-wagtail was required to relax the version ranges for graphics/py-pillow to avoid conflicting dependencies.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

databases/py-mongoengine/Makefile
19 ↗(On Diff #68398)

Please remove trailing backslash.

graphics/py-willow/Makefile
33–43 ↗(On Diff #68398)

I've updated py-willow to USES=python:3.5+ (as py-wagtail). It can be removed from this patch.

koobs requested changes to this revision.Feb 17 2020, 1:52 AM
koobs added inline comments.
graphics/py-PyOpenGL/Makefile
16 ↗(On Diff #68398)

Just duplicate *_DEPENDS=PYNUMPY here

graphics/py-django-easy-thumbnails/Makefile
34–36 ↗(On Diff #68398)

DOCS_BUILD_DEPENDS didnt work here because of including bsd.port.pre.mk?

39–41 ↗(On Diff #68398)

DOCS_BUILD_DEPENDS didnt work here because of including bsd.port.pre.mk?

math/py-PyWavelets/Makefile
31 ↗(On Diff #68398)

I couldnt find pillow listed in setup_requires for 0.5.2, which means it snot a BUILD_DEPENDS

34 ↗(On Diff #68398)

I couldnt find pillow listed in setup_requires for 0.5.2, which means it snot a BUILD_DEPENDS

misc/pylize/Makefile
20 ↗(On Diff #68398)

Dubious BUILD_DEPENDS, worth actually checking

This revision now requires changes to proceed.Feb 17 2020, 1:52 AM

Addressed the given pointers from sunpoet@ and koobs@.

Revised the usage of conditionals in relation with port options for following ports:

  • graphics/py-cartopy
  • graphics/py-django-easy-thumbnails
  • graphics/py-sorl-thumbnail
  • print/hplib
  • science/rdkit
  • www/py-pywikibot

Also reduced the usage of PORTREVISION bumps if only the BUILD_DEPENDS are affected:

  • graphics/py-mcomix
  • graphics/py-soya3d

Re removing PORTREVISIONS, we dont ''want'' ports to switch to use pillow6/pillow7 (based on / with new conditionals) after this commit?

kai marked 7 inline comments as done.Feb 17 2020, 9:19 AM
kai added inline comments.
databases/py-mongoengine/Makefile
19 ↗(On Diff #68398)

Thank you, good catch!

graphics/py-django-easy-thumbnails/Makefile
34–36 ↗(On Diff #68398)

Thank you for the pointer, mea culpa. I revised also some other ports where I did the same mistake.

misc/pylize/Makefile
20 ↗(On Diff #68398)

It seems neither be a dependency for building and running it. Apart from that the port will be gone in a few days.

Anyway, I removed graphics/py-pillow from the {BUILD,RUN}_DEPENDS for the sake of completeness.

kai marked 3 inline comments as done.Feb 17 2020, 9:30 AM

Re removing PORTREVISIONS, we dont ''want'' ports to switch to use pillow6/pillow7 (based on / with new conditionals) after this commit?

I edited my previous comment because graphics/py-mcomix was not intended to be listed there because its BUILD_DEPENDS are also used as RUN_DEPENDS so we need the bump there.

The port graphics/py-soya3d only uses Pillow during build time and is also limited to Python 2.7 at the moment, so it doesn't have any conditionals.

Add back .if ${PORT_OPTIONS:MVALUE} to prevent the error message `The following options helpers are incorrectly set after bsd.port.options.mk
and are ineffective: VALUE_RUN_DEPENDS` for following ports:

  • graphics/py-sorl-thumbnail
  • print/hplip
  • www/py-pywikibot

@kai You have a deeper understanding of theQA implications and context of these changes. Approved if you're confident and happy and having addressed my prior review comments

This revision is now accepted and ready to land.Feb 23 2020, 2:35 AM
This revision was automatically updated to reflect the committed changes.