Thursday, May 02, 2019

go.port.mk: MODGO_ENV vs MAKE_ENV

On 2019/05/01 23:03, Anthony J. Bentley wrote:
> CVSROOT: /cvs
> Module name: ports
> Changes by: bentley@cvs.openbsd.org 2019/05/01 23:03:08
>
> Modified files:
> www/honk : Makefile distinfo
> www/honk/pkg : PLIST
>
> Log message:
> Update to honk-0.4.0.
>
> From Horia Racoviceanu; thanks!
>
> ok jturner@
>
> While here, disable ccache, which breaks the build.

There's no reason for www/honk to do anything special with ccache -
ccache is expected to be transparent and only disabled for exceptional
cases, normally to break a dependency loop.

So it seems this is happening because go.port.mk has its own special
MODGO_ENV instead of using MAKE_ENV like the rest of the tree. Therefore
it doesn't pass through either the variables to control ccache or the
standard variables like PATH/HOME/CFLAGS, as a result of this several
go.port.mk users are having to pass these in by hand.

I think this is the way to go: switch go.port.mk across and fix up
the ports using MODGO_ENV. I've built packages for everything using
MODULES=lang/go, everything is still happy, and run of a sample of
tests (some work, some fail, but that's not new).

OK?

Index: lang/go/go.port.mk
===================================================================
RCS file: /cvs/ports/lang/go/go.port.mk,v
retrieving revision 1.21
diff -u -p -w -r1.21 go.port.mk
--- lang/go/go.port.mk 16 Mar 2019 13:36:01 -0000 1.21
+++ lang/go/go.port.mk 2 May 2019 10:07:46 -0000
@@ -23,8 +23,8 @@ MODGO_TYPE ?= bin
MODGO_WORKSPACE ?= ${WRKDIR}/go
MODGO_GOCACHE ?= ${WRKDIR}/go-cache
MODGO_GOPATH ?= ${MODGO_WORKSPACE}:${MODGO_PACKAGE_PATH}
-MODGO_ENV += GOCACHE="${MODGO_GOCACHE}" GOPATH="${MODGO_GOPATH}" PATH="${PORTPATH}"
-MODGO_CMD ?= ${SETENV} ${MODGO_ENV} go
+MAKE_ENV += GOCACHE="${MODGO_GOCACHE}" GOPATH="${MODGO_GOPATH}"
+MODGO_CMD ?= ${SETENV} ${MAKE_ENV} go
MODGO_BUILD_CMD = ${MODGO_CMD} install ${MODGO_FLAGS}
MODGO_TEST_CMD = ${MODGO_CMD} test ${MODGO_FLAGS} ${MODGO_TEST_FLAGS}

Index: databases/influxdb/Makefile
===================================================================
RCS file: /cvs/ports/databases/influxdb/Makefile,v
retrieving revision 1.8
diff -u -p -w -r1.8 Makefile
--- databases/influxdb/Makefile 30 Mar 2019 11:16:15 -0000 1.8
+++ databases/influxdb/Makefile 2 May 2019 10:07:46 -0000
@@ -36,6 +36,8 @@ WRKDIST = ${WRKSRC}
USE_GMAKE = Yes
SUBST_VARS = VARBASE

+NO_TEST = Yes
+
do-build:
cd ${WRKSRC} && ${MODGO_BUILD_CMD} ./...
cd ${WRKSRC}/man && ${MAKE_PROGRAM}
@@ -53,7 +55,7 @@ tarball: clean distclean
ftp -o ${WRKDIR}/gpm https://raw.githubusercontent.com/pote/gpm/v1.4.0/bin/gpm
ftp -o ${WRKDIR}/${DISTFILES} https://github.com/influxdata/influxdb/archive/v${V}/${DISTFILES}
tar -s /influxdb-${V}/influxdb/ -C ${WRKDIR}/go/src/github.com/influxdata/ -xzf ${WRKDIR}/${DISTFILES}
- ${SETENV} ${MODGO_ENV} bash ${WRKDIR}/gpm get ${WRKSRC}/Godeps
+ ${SETENV} ${MAKE_ENV} bash ${WRKDIR}/gpm get ${WRKSRC}/Godeps
find ${WRKDIR}/go -name .git -type d | xargs rm -Rf
cd ${WRKDIR} && tar -czf /usr/ports/distfiles/${DISTFILES} go

Index: devel/go-tools/Makefile
===================================================================
RCS file: /cvs/ports/devel/go-tools/Makefile,v
retrieving revision 1.22
diff -u -p -w -r1.22 Makefile
--- devel/go-tools/Makefile 24 Apr 2019 16:26:55 -0000 1.22
+++ devel/go-tools/Makefile 2 May 2019 10:07:46 -0000
@@ -15,7 +15,6 @@ PERMIT_PACKAGE_CDROM = Yes
WANTLIB += c pthread

MODULES = lang/go
-MODGO_ENV = PATH="${PORTPATH}"
MODGO_TYPE = bin

BUILD_DEPENDS = net/go-net
Index: devel/hub/Makefile
===================================================================
RCS file: /cvs/ports/devel/hub/Makefile,v
retrieving revision 1.6
diff -u -p -w -r1.6 Makefile
--- devel/hub/Makefile 14 Apr 2018 22:53:54 -0000 1.6
+++ devel/hub/Makefile 2 May 2019 10:07:46 -0000
@@ -20,8 +20,6 @@ WANTLIB += c pthread

MODULES = lang/go

-MODGO_ENV= PATH="${PORTPATH}" CFLAGS="${CFLAGS}"
-
RUN_DEPENDS = devel/git

post-install:
Index: editors/micro/Makefile
===================================================================
RCS file: /cvs/ports/editors/micro/Makefile,v
retrieving revision 1.2
diff -u -p -w -r1.2 Makefile
--- editors/micro/Makefile 14 Apr 2018 22:53:54 -0000 1.2
+++ editors/micro/Makefile 2 May 2019 10:07:46 -0000
@@ -22,7 +22,6 @@ MODULES = lang/go
MODGO_TYPE = bin
WRKDIST = ${WRKDIR}/micro

-MAKE_ENV += MODGO_CMD="${MODGO_CMD}"
do-build:
cd ${WRKSRC} && ${MAKE_ENV} ${MAKE} build-quick ${MAKE_FLAGS}

Index: editors/micro/patches/patch-Makefile
===================================================================
RCS file: editors/micro/patches/patch-Makefile
diff -N editors/micro/patches/patch-Makefile
--- editors/micro/patches/patch-Makefile 10 Dec 2016 16:48:07 -0000 1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.1.1.1 2016/12/10 16:48:07 edd Exp $
---- Makefile.orig Mon Nov 28 15:27:32 2016
-+++ Makefile Mon Nov 28 15:27:45 2016
-@@ -15,7 +15,7 @@ build-all: runtime build
-
- # Builds micro without checking for dependencies
- build-quick:
-- go build -ldflags "-s -w -X main.Version=$(VERSION) -X main.CommitHash=$(HASH) -X 'main.CompileDate=$(DATE)'" ./cmd/micro
-+ ${MODGO_CMD} build -ldflags "-s -w -X main.Version=$(VERSION) -X main.CommitHash=$(HASH) -X 'main.CompileDate=$(DATE)'" ./cmd/micro
-
- # Same as 'build' but installs to $GOBIN afterward
- install: deps
Index: net/dnscrypt-proxy/Makefile
===================================================================
RCS file: /cvs/ports/net/dnscrypt-proxy/Makefile,v
retrieving revision 1.40
diff -u -p -w -r1.40 Makefile
--- net/dnscrypt-proxy/Makefile 30 Apr 2019 08:51:13 -0000 1.40
+++ net/dnscrypt-proxy/Makefile 2 May 2019 10:07:46 -0000
@@ -19,7 +19,7 @@ WANTLIB = c pthread

MODULES = lang/go
MODGO_TYPE = bin
-MODGO_ENV = PATH="${PORTPATH}" HOME="${PORTHOME}"
+NO_TEST = Yes

INSTDIR = ${PREFIX}/share/examples/dnscrypt-proxy

Index: net/mattermost-server/Makefile
===================================================================
RCS file: /cvs/ports/net/mattermost-server/Makefile,v
retrieving revision 1.11
diff -u -p -w -r1.11 Makefile
--- net/mattermost-server/Makefile 21 Mar 2019 11:36:24 -0000 1.11
+++ net/mattermost-server/Makefile 2 May 2019 10:07:46 -0000
@@ -25,7 +25,6 @@ PERMIT_PACKAGE_CDROM = Yes
WANTLIB += c pthread

MODULES = lang/go
-MODGO_ENV = PATH="${PORTPATH}" HOME="${PORTHOME}"
MODGO_LDFLAGS = -X github.com/mattermost/mattermost-server/model.BuildNumber=${V}
NO_TEST = Yes

Index: net/syncthing/Makefile
===================================================================
RCS file: /cvs/ports/net/syncthing/Makefile,v
retrieving revision 1.24
diff -u -p -w -r1.24 Makefile
--- net/syncthing/Makefile 7 Feb 2019 15:50:09 -0000 1.24
+++ net/syncthing/Makefile 2 May 2019 10:07:46 -0000
@@ -24,7 +24,6 @@ SUBST_VARS += VARBASE

MODULES = lang/go
MODGO_TYPE = bin
-MODGO_ENV = PATH="${PORTPATH}" HOME="${PORTHOME}"

do-build:
cd ${WRKSRC} && ${MODGO_CMD} run build.go \
Index: security/gopass/Makefile
===================================================================
RCS file: /cvs/ports/security/gopass/Makefile,v
retrieving revision 1.12
diff -u -p -w -r1.12 Makefile
--- security/gopass/Makefile 23 Jan 2019 00:56:46 -0000 1.12
+++ security/gopass/Makefile 2 May 2019 10:07:46 -0000
@@ -26,7 +26,7 @@ RUN_DEPENDS = devel/git \

ALL_TARGET = github.com/gopasspw/gopass

-# Tests require MODGO_ENV, but break in weird ways when it is set.
-NO_TEST = Yes
+# for tests; some still fail
+PORTHOME = ${WRKDIR}

.include <bsd.port.mk>
Index: security/keybase/Makefile
===================================================================
RCS file: /cvs/ports/security/keybase/Makefile,v
retrieving revision 1.14
diff -u -p -w -r1.14 Makefile
--- security/keybase/Makefile 20 Dec 2018 14:13:17 -0000 1.14
+++ security/keybase/Makefile 2 May 2019 10:07:46 -0000
@@ -31,7 +31,6 @@ WRKSRC = ${WRKDIR}/go/src/github.com/ke

MODULES = lang/go
MODGO_TYPE = bin
-MODGO_ENV = PATH="${PORTPATH}" HOME="${PORTHOME}"

NO_TEST = Yes

Index: sysutils/telegraf/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/telegraf/Makefile,v
retrieving revision 1.2
diff -u -p -w -r1.2 Makefile
--- sysutils/telegraf/Makefile 25 Dec 2018 22:40:11 -0000 1.2
+++ sysutils/telegraf/Makefile 2 May 2019 10:07:46 -0000
@@ -40,8 +40,8 @@ tarball: clean distclean
mkdir -p ${WRKDIR}/go/src/github.com/influxdata/
ftp -o ${WRKDIR}/${DISTFILES} https://github.com/influxdata/telegraf/archive/${GH_TAGNAME}/${DISTFILES}
tar -C ${WRKDIR}/go/src/github.com/influxdata/ -xzf ${WRKDIR}/${DISTFILES}
- ${SETENV} ${MODGO_ENV} go get github.com/golang/dep/cmd/dep
- cd ${WRKDIR}/go/src/github.com/influxdata/${DISTNAME} && ${SETENV} ${MODGO_ENV} ${WRKDIR}/go/bin/dep ensure
+ ${SETENV} ${MAKE_ENV} go get github.com/golang/dep/cmd/dep
+ cd ${WRKDIR}/go/src/github.com/influxdata/${DISTNAME} && ${SETENV} ${MAKE_ENV} ${WRKDIR}/go/bin/dep ensure
rm -Rf ${WRKDIR}/go/{bin,pkg} ${WRKDIR}/go/src/github.com/influxdata/${DISTNAME}/vendor/github.com/influxdata/telegraf ${WRKDIR}/${DISTFILES}
cd ${WRKDIR}/go/src/github.com/influxdata/ && tar -czf /usr/ports/distfiles/${DISTFILES} ${DISTNAME}

Index: www/gitea/Makefile
===================================================================
RCS file: /cvs/ports/www/gitea/Makefile,v
retrieving revision 1.19
diff -u -p -w -r1.19 Makefile
--- www/gitea/Makefile 17 Apr 2019 13:19:49 -0000 1.19
+++ www/gitea/Makefile 2 May 2019 10:07:46 -0000
@@ -20,7 +20,6 @@ WANTLIB += c pthread

MODULES = lang/go

-MODGO_ENV = PATH="${PORTPATH}" CFLAGS="${CFLAGS}"
MODGO_FLAGS += -tags "sqlite cert"

RUN_DEPENDS = devel/git
Index: www/honk/Makefile
===================================================================
RCS file: /cvs/ports/www/honk/Makefile,v
retrieving revision 1.2
diff -u -p -w -r1.2 Makefile
--- www/honk/Makefile 2 May 2019 05:03:07 -0000 1.2
+++ www/honk/Makefile 2 May 2019 10:07:46 -0000
@@ -1,7 +1,5 @@
# $OpenBSD: Makefile,v 1.2 2019/05/02 05:03:07 bentley Exp $

-NO_CCACHE = Yes
-
COMMENT = federated status updater

DISTNAME = honk-0.4.0

No comments:

Post a Comment