On Wed, Jun 23, 2021 at 07:48:01AM -0600, Aaron Bieber wrote: > Hi, > > Here is a diff that adds: > > - -trimpath to MODGO_FLAGS: This removes paths like > "/build/pobj/blablablablbal" from the resulting binary. > - Teaches modgo-gen-modules-helper how to pass a version to the > get_dist_info stuff. > - Adds a new make target: "modgo-gen-current-modules". This will > generate the MODGO_ bits for the currently defined > MODGO_MODNAME. (existing target generates them for what ever Go > things the latest version of a MODGO_MODNAME is). > > The -trimpath is mostly cosmetic, but it also gets us a bit closer to > "reproducible builds". This would potentially let us produce the same > binaries that an upstream does for releases (assuming build flags and > '-X' things are all the same). > > The new target lets one bump a port to an explicit version (i.e. not the > latest, or a latest that has not yet propagated through the Go module > ecosystem). > > Thoughts? Cluesticks? OKs? > > Cheers, > Aaron >
> diff ad22f1f0930c176e1bc87c0d5537a6033669c23a /usr/ports > blob - 60b84fb0ae310786ee5c71a2e4e4e741f0904da9 > file + infrastructure/bin/modgo-gen-modules-helper > --- infrastructure/bin/modgo-gen-modules-helper > +++ infrastructure/bin/modgo-gen-modules-helper > @@ -31,7 +31,8 @@ use lib ( "$portdir/infrastructure/lib", "$FindBin::Bi > > use OpenBSD::PortGen::Port::Go; > > -my ( $module ) = @ARGV; > +my ( $module, $version ) = @ARGV; > +$module = "${module}\@${version}" if ($version ne ""); > > my $port = OpenBSD::PortGen::Port::Go->new; > my $portinfo = $port->get_dist_info($module); > blob - 924c64a51696a59fd6dc5456b1f3f7abda7e38d6 > file + lang/go/go.port.mk That part looks wrong. I expect that having one single parameter will complain loudly about $version being undefined. You want to distinguish between 1 parameter and two. So probably die if @ARGV < 1; my $module = shift; if (@ARGV == 1) { $module .= '@'. shift; } or something like that. (comparing version with "" opens all kinds of issues. Note that *all* portgen stuff should have "use strict;" near use warnings.