Le Sat, Oct 30, 2021 at 07:41:20PM +0100, Stuart Henderson a écrit :
> 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; \
so, to recap (first chunk is mine), if i got it right:
@@ -49,6 +49,7 @@
# to explicitly disable SSE on i386 builds.
MAKE_ENV += GO386=softfloat
MAKE_ENV += GOCACHE="${MODGO_GOCACHE}"
+MAKE_ENV += TMPDIR="${WRKDIR}"
MODGO_CMD ?= ${SETENV} ${MAKE_ENV} go
MODGO_BUILD_CMD = ${MODGO_CMD} install ${MODGO_FLAGS}
@@ -77,10 +78,11 @@
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}
+_MODGO_SETUP += ${MODGO_DIST_SUBDIR}/${_modpath}/@v/${_modver}.zip
. endfor
-. for _modpath _modver in ${MODGO_MODFILES}
+. for _modpath _modver in ${MODGO_MODFILES} ${MODGO_MODULES}
DISTFILES +=
${MODGO_DIST_SUBDIR}/{}${_modpath}/@v/${_modver}.mod:${MODGO_MASTER_SITESN}
+_MODGO_SETUP += ${MODGO_DIST_SUBDIR}/${_modpath}/@v/${_modver}.mod
. endfor
MAKE_ENV += GOPROXY=file://${WRKDIR}/go_modules
MAKE_ENV += GO111MODULE=on GOPATH="${MODGO_GOPATH}"
@@ -116,10 +118,11 @@
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}; \
+ for m in ${_MODGO_SETUP}; do \
+ ${INSTALL} -D {,${WRKDIR}/$$m; \
+ done
.endif
Testing it locally with the telegraf update.
Landry