On Sun, Jun 20 2021, Kaashif Hymabaccus <[email protected]> wrote:
> Hello ports@,
>
> I was looking at upgrading mail/rss2email to 3.13.1, but this would
> require textproc/py-feedparser to be upgraded to version 6, due to
> rss2email relying on some changes made in version 6.
>
> The problem is that feedparser 6 makes several breaking changes,
> including completely dropping Python 2 support.
>
> Dropping Python 2 support is probably not a big deal for most ports
> (except perhaps www/canto, which I notice has "MODPY_VERSION =
> ${MODPY_DEFAULT_VERSION_2}").
>
> If a package drops support for Python 2 and another package needs it,
> how do we deal with that? Just remove the old package?

That's one way to handle it.  Yesterday I removed www/canto from the
tree, but that's not enough to drop python3 support in feedparser:

shannon ~$ sqlite3 /usr/local/share/sqlports 'select distinct * from Depends 
where dependspath like "%feedparser" order by fullpkgpath;'
7577|net/charm|textproc/py-feedparser|||textproc/py-feedparser|1|0
10993|www/canto|textproc/py-feedparser|||textproc/py-feedparser|1|1
10993|www/canto|textproc/py-feedparser|||textproc/py-feedparser|2|1
11605|www/rawdog|textproc/py-feedparser|||textproc/py-feedparser|1|0

rawdog doesn't support python3 either (last release 2018).  net/charm:
probably doesn't (last release 2013).

> Port the
> package to Python 3 and send patches to the authors? That last one
> seems not so trivial.

Indeed it isn't.

Some people (including me) did use 2to3 to convert some low-priority
python scripts to python3 compatible code, but I've never seen someone
hand-patch a python module in the ports tree so that it supports
python3.  That doesn't sound like a good idea.

If a python module doesn't support python3 by now, that probably means
that upstream doesn't care any more.  Sometimes you can find a more
maintained fork, sometimes not.

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to