How to handle go dependencies

Dmitri Goutnik dg at syrec.org
Sat Jul 6 22:10:06 UTC 2019


Hi Matthias,

On 19-07-06 23:30:33, Matthias Fechner wrote:
> Am 06.07.2019 um 21:48 schrieb Dmitri Goutnik:
> > -USES= gmake go:no_targets
> > +USES= gmake go:modules,no_targets
> >
> > It adds -mod=vendor build flag that tells Go to not try to download
> > anything and assume that all dependencies are already in vendor directory.
> 
> hm, it does not seems to have any impact it does not stop to complain:
> # go install
> go: finding github.com/grpc-ecosystem/go-grpc-middleware v1.0.0
> 

It appears that Go build flags need to be passed down to `go build` invocation 
with MAKE_ENV:

+MAKE_ENV=       GOFLAGS="${GO_BUILDFLAGS}"

With that change, the build then fails later due to missing statFileSystemType 
func definition for freebsd:

# gitlab.com/gitlab-org/gitaly/internal/helper/fstype
internal/helper/fstype/fstype.go:7:15: undefined: statFileSystemType

Which can be fixed by just copying the linux version (this probably needs to 
be upstreamed):

post-patch:
	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config.toml.example
	${MV} ${WRKSRC}/config.toml.example ${WRKSRC}/config.toml.sample
+       ${CP} ${WRKSRC}/internal/helper/fstype/detect_linux.go ${WRKSRC}/internal/helper/fstype/detect_freebsd.go

Best regards,

-- Dmitri Goutnik
dg at syrec.org


More information about the freebsd-ports mailing list