On Sat, Apr 20, 2019 at 10:04:38PM -0700, Andrew Hewus Fresh wrote:
> On Sat, Apr 20, 2019 at 10:39:28PM -0400, Daniel Jakots wrote:
> > On Sat, 20 Apr 2019 19:22:07 -0700, Andrew Hewus Fresh
> > <and...@afresh1.com> wrote:
> > 
> > > tl;dr, fixes portgen(1) for python modules that have distnames that
> > > start with py-.
> > 
> > Thanks for working on that!
> > 
> > One suggestion, does a DISTNAME of "python-foo" is renamed to "py-foo"
> > by portgen(1)?
> > 
> > The first result (as an example) in my grep is archivers/py-lzo:
> > MODPY_EGG_VERSION =     1.08
> > DISTNAME =              python-lzo-${MODPY_EGG_VERSION}
> > PKGNAME =               py-lzo-${MODPY_EGG_VERSION}
> > 
> > I haven't tested it but it would be great if it worked :)
> 
> Here, give it a try :-)  The other change is committed so you will have
> to cvs up.
 
I guess we should also name the port directory correctly, not just fix
the PKGNAME.

Index: infrastructure/lib/OpenBSD/PortGen//Port/PyPI.pm
===================================================================
RCS file: /cvs/ports/infrastructure/lib/OpenBSD/PortGen/Port/PyPI.pm,v
retrieving revision 1.2
diff -u -p -r1.2 PyPI.pm
--- infrastructure/lib/OpenBSD/PortGen//Port/PyPI.pm    21 Apr 2019 03:47:40 
-0000      1.2
+++ infrastructure/lib/OpenBSD/PortGen//Port/PyPI.pm    21 Apr 2019 20:05:14 
-0000
@@ -52,6 +52,7 @@ sub name_new_port
        my ( $self, $di ) = @_;
 
        my $name = $di->{info}{name};
+       $name =~ s/^python-/py-/;
        $name = "py-$name" unless $name =~ /^py-/;
 
        return "pypi/$name";
@@ -66,8 +67,13 @@ sub fill_in_makefile
        $self->set_comment( $di->{info}{summary} );
        $self->set_other( 'MODPY_EGG_VERSION', $di->{info}{version} );
        $self->set_distname( "$di->{info}{name}" . '-${MODPY_EGG_VERSION}' );
-       $self->set_other( 'PKGNAME', 'py-${DISTNAME}' )
-           unless $di->{info}->{name} =~ /^py-/;
+       my $pkgname = $di->{info}->{name};
+       if ($pkgname =~ /^python-/) {
+               $self->set_other( 'PKGNAME', '${DISTNAME:S/^python-/py-/}' );
+       }
+       elsif ($pkgname !~ /^py-/) {
+               $self->set_other( 'PKGNAME', 'py-${DISTNAME}' );
+       }
        $self->set_modules('lang/python');
        $self->set_categories('pypi');
        $self->set_other( 'HOMEPAGE', $di->{info}{home_page} );

Reply via email to