No objections from me. 25 Jan 2026 10:50:19 Theo Buehler <[email protected]>:
> Several go ports set GOMAXPROCs to MAKE_JOBS in MAKE_ENV. I think this > is more brutal than intended and hinders more than it helps because per > https://pkg.go.dev/runtime: > > The GOMAXPROCS variable limits the number of operating system threads > that can execute user-level Go code simultaneously > > In my test bulk builds with go 1.26rc2, grafana takes more than half > an hour to do its one slow compile/link/whatever step. I had one > pathological bulk where it took 4000s. > > jsing points out that it would be better to pass -p ${MAKE_JOBS} to > the build/run/install commands, which the go module already adds to > the MODGO_FLAGS. > > -p n > the number of programs, such as build commands or > test binaries, that can be run in parallel. > The default is GOMAXPROCS, normally the number of CPUs available. > > Now this doesn't seem entirely true in practice since I see the builds > spawning a few processes more than one but I think this is acceptable > given that it's only for a rather short time. > > The below is my suggestion for reposurgeon, syncthing and grafana. > syncthing might want to do the same in its hand-rolled test command. > > There's another one in prometheus, but it looks slightly different. > > Index: devel/reposurgeon/Makefile > =================================================================== > RCS file: /cvs/ports/devel/reposurgeon/Makefile,v > diff -u -p -r1.20 Makefile > --- devel/reposurgeon/Makefile 28 Jun 2025 00:36:32 -0000 1.20 > +++ devel/reposurgeon/Makefile 24 Jan 2026 22:52:33 -0000 > @@ -26,7 +26,7 @@ MODRUBY_RUNDEP= No > WRKSRC= ${WRKDIST} > WRKBUILD= ${WRKDIST} > MODGO_GOPATH= ${MODGO_WORKSPACE}:${MODGO_PACKAGE_PATH}:${WRKSRC}/vendor > -MAKE_ENV= GOFLAGS=-v GOMAXPROCS=${MAKE_JOBS} > +MAKE_ENV= GOFLAGS=-v > > FAKE_FLAGS= mandir=man > > Index: net/syncthing/Makefile > =================================================================== > RCS file: /cvs/ports/net/syncthing/Makefile,v > diff -u -p -r1.76 Makefile > --- net/syncthing/Makefile 17 Jan 2026 00:37:56 -0000 1.76 > +++ net/syncthing/Makefile 25 Jan 2026 10:16:37 -0000 > @@ -27,8 +27,6 @@ MODULES = lang/go > # so we package only these binaries. > ST_CMDS = syncthing stdiscosrv strelaysrv > > -MAKE_ENV = GOMAXPROCS=${MAKE_JOBS} > - > pre-build: > ${SUBST_CMD} ${WRKSRC}/cmd/syncthing/main.go > > @@ -37,7 +35,7 @@ pre-build: > # without quic support obviously). When you do that, some more tests will > fail. > do-build: > .for cmd in ${ST_CMDS} > - cd ${WRKSRC} && ${MODGO_CMD} run build.go -version v${V} \ > + cd ${WRKSRC} && ${MODGO_CMD} run ${MODGO_FLAGS} build.go -version v${V} \ > -no-upgrade install ${cmd} > .endfor > > Index: sysutils/grafana/Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/grafana/Makefile,v > diff -u -p -r1.56 Makefile > --- sysutils/grafana/Makefile 19 Dec 2025 02:30:03 -0000 1.56 > +++ sysutils/grafana/Makefile 25 Jan 2026 10:06:46 -0000 > @@ -35,7 +35,6 @@ WANTLIB += c pthread > > MODGO_GO111MODULE = on > MODGO_FLAGS += -ldflags="-w -X main.version=$V" > -MAKE_ENV = GOMAXPROCS=${MAKE_JOBS} > > do-build: > mkdir -p ${WRKDIR}/go/src/github.com/grafana
