On 2021/10/30 19:40, Stuart Henderson wrote:
> On 2021/10/30 19:53, Marc Espie wrote:
> > Actually, my "yep" was just we should do things that way, the patch
> > is broken.
> >
> > But go does things backwards by assembling DISTFILES with modern syntax
> > and then parsing it back in MODGO_SETUP_WORKSPACE
> >
> > here's a (somewhat) saner way to do things
> >
> > Index: go.port.mk
> > ===================================================================
> > RCS file: /cvs/ports/lang/go/go.port.mk,v
> > retrieving revision 1.45
> > diff -u -p -r1.45 go.port.mk
> > --- go.port.mk 30 Oct 2021 17:15:11 -0000 1.45
> > +++ go.port.mk 30 Oct 2021 17:51:13 -0000
> > @@ -76,11 +76,16 @@ DISTFILES += ${DISTNAME_ESC}${EXTRACT_S
> > 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}
> > -DISTFILES +=
> > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod:${MODGO_MASTER_SITESN}
> > +. for _s in .zip .mod
> > +DISTFILES +=
> > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}${_s}:${MODGO_MASTER_SITESN}
> > +_MODGO_SETUP += ${MODGO_DIST_SUBDIR}/${_modpath}/@v/${_modver}${_s}
> > +. endfor
> > . endfor
>
> the inner loop can be dropped, just do the .zip files above, and add
> ${MODGO_MODULES} to the .for below:
>
> > . for _modpath _modver in ${MODGO_MODFILES}
> > -DISTFILES +=
> > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod:${MODGO_MASTER_SITESN}
> > +. for _s in .mod
> > +DISTFILES +=
> > ${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}${_s}:${MODGO_MASTER_SITESN}
> > +_MODGO_SETUP += ${MODGO_DIST_SUBDIR}/${_modpath}/@v/${_modver}${_s}
> > +. endfor
> > . endfor
> > MAKE_ENV += GOPROXY=file://${WRKDIR}/go_modules
> > MAKE_ENV += GO111MODULE=on GOPATH="${MODGO_GOPATH}"
> > @@ -116,10 +121,10 @@ WRKSRC ?= ${MODGO_WORKSPACE}/src/${ALL_
> > MODGO_SETUP_WORKSPACE = mkdir -p ${WRKSRC:H}; mv ${MODGO_SUBDIR}
> > ${WRKSRC};
> > .else
> > WRKSRC ?= ${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION}
> > -MODGO_SETUP_WORKSPACE = ln -sf ${WRKSRC} ${WRKDIR}/${MODGO_MODNAME};
> > -. for _MODGO_m in ${DISTFILES:Mgo_modules/*:C/{.*//}
> > -MODGO_SETUP_WORKSPACE += ${INSTALL} -D ${DISTDIR}/${_MODGO_m}
> > ${WRKDIR}/${_MODGO_m};
> > -. endfor
> > +MODGO_SETUP_WORKSPACE = ln -sf ${WRKSRC} ${WRKDIR}/${MODGO_MODNAME}; \
>
> cd ${DISTDIR}; here allow getting rid of the repeated dirs in the install line
>
> > + for m in ${_MODGO_SETUP}; do \
> > + ${INSTALL} -D ${DISTDIR}/$$m ${WRKDIR}/$$m; \
>
> ${INSTALL} -D {,${WRKDIR}/$$m; \
typo, I meant:
${INSTALL} -D {,${WRKDIR}}/$$m; \
>
> > + done
> > .endif
> >
> > INSTALL_STRIP =
>