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 --- lang/go/go.port.mk +++ lang/go/go.port.mk @@ -71,7 +71,7 @@ DISTNAME_ESC = ${DISTNAME${_s}} EXTRACT_SUFX ?= .zip PKGNAME ?= ${DISTNAME:S/-v/-/} ALL_TARGET ?= ${MODGO_MODNAME} -MODGO_FLAGS += -modcacherw +MODGO_FLAGS += -modcacherw -trimpath DISTFILES += ${DISTNAME_ESC}${EXTRACT_SUFX}{${MODGO_VERSION}${EXTRACT_SUFX}} EXTRACT_ONLY = ${DISTNAME_ESC}${EXTRACT_SUFX} MASTER_SITES ?= ${MASTER_SITE_ATHENS}${MODGO_MODNAME_ESC}/@v/ @@ -177,7 +177,8 @@ do-test: . endif .endif -# modgo-gen-modules will output MODGO_MODULES and MODGO_MODFILES +# modgo-gen-modules will output MODGO_MODULES and MODGO_MODFILES for +# the latest version of a given MODGO_MODNAME modgo-gen-modules: .if empty(MODGO_MODNAME) @${ECHO_MSG} "No MODGO_MODNAME set" @@ -185,3 +186,13 @@ modgo-gen-modules: .else @${_PERLSCRIPT}/modgo-gen-modules-helper ${MODGO_MODNAME} .endif + +# modgo-gen-current-modules will output MODGO_MODULES and MODGO_MODFILES for +# the currently set MODGO_VERSION +modgo-gen-current-modules: +.if empty(MODGO_MODNAME) + @${ECHO_MSG} "No MODGO_MODNAME set" + @exit 1 +.else + @${_PERLSCRIPT}/modgo-gen-modules-helper ${MODGO_MODNAME} ${MODGO_VERSION} +.endif