On 2023/08/23 11:44, Stuart Henderson wrote: > On 2023/08/23 12:22, Marc Espie wrote: > > This switches stuff over to DISTFILES.go > > > > Also, factorize files in a slightly more efficient way, this makes > > MODGO_SETUP_WORKSPACE significantly smaller (by about 30% or so) > > Makes a lot of sense. I only tested a couple of sample ports but don't > see why it would cause problems for any others, ok with me.
speed-wise it's too variable to be able to say for sure, but it does seem possibly a touch faster first run with the diff, second without <lundy:/usr/ports/sysutils/telegraf>$ hyperfine -m 25 'make show=PKGNAME' Benchmark 1: make show=PKGNAME Time (mean ± σ): 2.214 s ± 0.820 s [User: 2.140 s, System: 0.051 s] Range (min … max): 1.768 s … 3.809 s 25 runs Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options. <lundy:/usr/ports/sysutils/telegraf>$ hyperfine -m 25 'make show=PKGNAME' Benchmark 1: make show=PKGNAME Time (mean ± σ): 2.556 s ± 0.967 s [User: 2.466 s, System: 0.057 s] Range (min … max): 1.839 s … 3.960 s 25 runs Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options. > > > Index: go.port.mk > > =================================================================== > > RCS file: /cvs/ports/lang/go/go.port.mk,v > > retrieving revision 1.58 > > diff -u -p -r1.58 go.port.mk > > --- go.port.mk 11 Aug 2023 15:23:44 -0000 1.58 > > +++ go.port.mk 23 Aug 2023 10:20:05 -0000 > > @@ -10,8 +10,7 @@ MODGO_DIST_SUBDIR ?= go_modules > > > > MASTER_SITE_ATHENS = https://proxy.golang.org/ > > > > -MODGO_MASTER_SITESN = 9 > > -MASTER_SITES${MODGO_MASTER_SITESN} ?= ${MASTER_SITE_ATHENS} > > +MASTER_SITES.go ?= ${MASTER_SITE_ATHENS} > > > > MODGO_RUN_DEPENDS = lang/go > > MODGO_BUILD_DEPENDS = lang/go > > @@ -79,13 +78,15 @@ DISTFILES += ${DISTNAME_ESC}{${MODGO_VE > > EXTRACT_ONLY += ${DISTNAME_ESC}${EXTRACT_SUFX} > > MASTER_SITES ?= ${MASTER_SITE_ATHENS}${MODGO_MODNAME_ESC}/@v/ > > . for _modpath _modver in ${MODGO_MODULES} > > -DISTFILES += > > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.zip:${MODGO_MASTER_SITESN} > > -_MODGO_SETUP_ZIP += ${_modpath}/@v/${_modver} > > +DISTFILES.go += ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.zip > > +DISTFILES.go += ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod > > +_MODGO_SETUP += ${_modpath}/@v/${_modver}.{zip,mod} > > . endfor > > -. for _modpath _modver in ${MODGO_MODFILES} ${MODGO_MODULES} > > -DISTFILES += > > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod:${MODGO_MASTER_SITESN} > > -_MODGO_SETUP_MOD += ${_modpath}/@v/${_modver} > > +. for _modpath _modver in ${MODGO_MODFILES} > > +DISTFILES.go += ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod > > +_MODGO_SETUP += ${_modpath}/@v/${_modver}.mod > > . endfor > > + > > MAKE_ENV += GOPROXY=file://${WRKDIR}/go_modules > > MODGO_GO111MODULE ?= on > > MAKE_ENV += GO111MODULE=${MODGO_GO111MODULE} > > GOPATH="${MODGO_GOPATH}" > > @@ -123,11 +124,9 @@ MODGO_SETUP_WORKSPACE = mkdir -p ${WRKSR > > .else > > WRKSRC ?= ${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION} > > MODGO_SETUP_WORKSPACE = ln -sf ${WRKSRC} ${WRKDIR}/${MODGO_MODNAME}; \ > > - for m in ${_MODGO_SETUP_ZIP}; do \ > > - ${INSTALL} -D ${DISTDIR}/${MODGO_DIST_SUBDIR}/$$m.zip > > ${WRKDIR}/${MODGO_DIST_SUBDIR}/$$m.zip; \ > > - done; \ > > - for m in ${_MODGO_SETUP_MOD}; do \ > > - ${INSTALL} -D ${DISTDIR}/${MODGO_DIST_SUBDIR}/$$m.mod > > ${WRKDIR}/${MODGO_DIST_SUBDIR}/$$m.mod; \ > > + cd ${DISTDIR}/${MODGO_DIST_SUBDIR}; \ > > + for m in ${_MODGO_SETUP}; do \ > > + ${INSTALL} -D $$m ${WRKDIR}/${MODGO_DIST_SUBDIR}/$$m; \ > > done > > .endif > > > >