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

Reply via email to