New ports should not use Python 3.

PyPI projects that already list multiple supported Python versions cause
portgen(1) to generate a flavored port, but instead of leaving FLAVOR
empty it should opt for the highest available version.

This makes it use FLAVOR?=python3 instead of FLAVOR?= (empty) if
any support higher than Python 2 is listed.

Feedback? OK?

Please note that PyPI projects listing either only one support version
or none at all at not effected by this diff.


Index: infrastructure/lib/OpenBSD/PortGen/Port/PyPI.pm
===================================================================
RCS file: /cvs/ports/infrastructure/lib/OpenBSD/PortGen/Port/PyPI.pm,v
retrieving revision 1.18
diff -u -p -r1.18 PyPI.pm
--- infrastructure/lib/OpenBSD/PortGen/Port/PyPI.pm     15 Dec 2019 00:18:05 
-0000      1.18
+++ infrastructure/lib/OpenBSD/PortGen/Port/PyPI.pm     20 Apr 2020 16:31:22 
-0000
@@ -118,7 +118,7 @@ sub fill_in_makefile
                shift @versions;    # remove default, lowest
                $self->{reset_values}{MODPY_VERSION} = 1;
                $self->set_other( 'FLAVORS', "python$_" ) for @versions;
-               $self->set_other( 'FLAVOR', '' );
+               $self->set_other( 'FLAVOR', "python$versions[-1]" );
        } elsif ( @versions && $versions[0] != 2 ) {
                $self->{reset_values}{$_} = 1 for qw( FLAVORS FLAVOR );
                $self->set_other(

Reply via email to