[prev in list] [next in list] [prev in thread] [next in thread]
List: openbsd-ports
Subject: Re: TMPDIR for building go ports ?
From: Matthieu Herrb <matthieu () openbsd ! org>
Date: 2020-10-30 8:53:43
Message-ID: 20201030085343.GA32635 () herrb ! net
[Download RAW message or body]
On Wed, Oct 28, 2020 at 11:01:54PM +0100, Matthieu Herrb wrote:
> On Wed, Oct 28, 2020 at 08:59:14PM +0000, Stuart Henderson wrote:
> > On 2020/10/28 21:34, Matthieu Herrb wrote:
> > > Hi,
> > >
> > > On one of my machines where I'm building ports, I have a /tmp
> > > partition that is a too small (300MB) for building many of the go
> > > ports (gitea, facette,...)
> > >
> > > Those ports seem to unconditionnaly use /tmp as intermediate storage.
> > >
> > > I've plenty of space under /usr/ports. Is there a knob somehere to
> > > tell ports build (via dpb) to write to, let's say /usr/ports/tmp
> > > instead.
> > >
> > > (I've tried seting the TMPDIR environment variable without success...)
> > >
> > > Thanks.
> > > --
> > > Matthieu Herrb
> > >
> >
> > This might be one way to do it..
>
> That works. Thanks a lot.
>
Hi,
I don't know if there is some interest in having this
committed. During my last bulk build I discovered that it's not fully
ok though. I had to add some additionnal manual creation of go-tmp to
several ports. I don't really understand why the SETUP_WORKSAPCE hook
in go.ports.mk doesn't work for them. Here is the full diff I have:
diff --git databases/influxdb/Makefile databases/influxdb/Makefile
index 347954d2d9c..c9ee16f3863 100644
--- databases/influxdb/Makefile
+++ databases/influxdb/Makefile
@@ -42,6 +42,9 @@ NO_TEST = Yes
MODGO_LDFLAGS += -X main.version=$V
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
do-build:
cd ${WRKSRC} && ${MODGO_BUILD_CMD} ./...
cd ${WRKSRC}/man && ${MAKE_PROGRAM}
diff --git lang/go/go.port.mk lang/go/go.port.mk
index fafa318b562..121d9f85e17 100644
--- lang/go/go.port.mk
+++ lang/go/go.port.mk
@@ -45,6 +45,7 @@ MODGO_GOPATH ?= ${MODGO_WORKSPACE}:${MODGO_PACKAGE_PATH}
# to explicitly disable SSE on i386 builds.
MAKE_ENV += GO386=387
MAKE_ENV += GOCACHE="${MODGO_GOCACHE}"
+MAKE_ENV += GOTMPDIR="${WRKDIR}/go-tmp"
MODGO_CMD ?= ${SETENV} ${MAKE_ENV} go
MODGO_BUILD_CMD = ${MODGO_CMD} install ${MODGO_FLAGS}
@@ -108,6 +109,8 @@ WRKSRC ?= ${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION}
MODGO_SETUP_WORKSPACE = ln -sf ${WRKSRC} ${WRKDIR}/${MODGO_MODNAME}
.endif
+MODGO_SETUP_WORKSPACE += mkdir -p ${WRKDIR}/go-tmp;
+
INSTALL_STRIP =
.if ${MODGO_TYPE:L:Mbin}
MODGO_INSTALL_TARGET = ${INSTALL_PROGRAM_DIR} ${PREFIX}/${MODGO_BINDIR} && \
diff --git net/gomuks/Makefile net/gomuks/Makefile
index 8ff935d63ac..c01912c95e2 100644
--- net/gomuks/Makefile
+++ net/gomuks/Makefile
@@ -25,6 +25,9 @@ MAKE_ENV += CGO_CFLAGS=-I${LOCALBASE}/include \
MODULES = lang/go
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
MODGO_MODULES = \
github.com/!puerkito!bio/goquery v1.5.1 \
github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 \
diff --git net/miniflux/Makefile net/miniflux/Makefile
index c0ae8829aac..af9e991fb3d 100644
--- net/miniflux/Makefile
+++ net/miniflux/Makefile
@@ -22,6 +22,9 @@ ALL_TARGET = ${MODGO_MODNAME}/...
SUBST_VARS = VARBASE \
SYSCONFDIR
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
do-install:
${INSTALL_PROGRAM} ${MODGO_WORKSPACE}/bin/miniflux.app \
${PREFIX}/bin/miniflux
diff --git net/termshark/Makefile net/termshark/Makefile
index e5f6c51a3b1..cb4b9c4e744 100644
--- net/termshark/Makefile
+++ net/termshark/Makefile
@@ -25,6 +25,9 @@ WANTLIB += c pthread
MODULES = lang/go
RUN_DEPENDS = net/wireshark,-text
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
MODGO_MODULES = github.com/!burnt!sushi/toml v0.3.1 \
github.com/!d!a!t!a-!d!o!g/go-sqlmock v1.3.3 \
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc \
diff --git security/age/Makefile security/age/Makefile
index 99799b49319..64dd2a16073 100644
--- security/age/Makefile
+++ security/age/Makefile
@@ -44,4 +44,7 @@ MODGO_MODULES = \
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 \
gopkg.in/yaml.v2 v2.2.4
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
.include <bsd.port.mk>
diff --git security/ogvt/Makefile security/ogvt/Makefile
index f166b5d8c73..b5d7de34d6d 100644
--- security/ogvt/Makefile
+++ security/ogvt/Makefile
@@ -21,6 +21,9 @@ WANTLIB += c pthread
MODULES = lang/go
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
do-install:
${INSTALL_PROGRAM_DIR} ${PREFIX}/${MODGO_BINDIR} && \
${INSTALL_PROGRAM} ${MODGO_WORKSPACE}/bin/* \
diff --git sysutils/beats/packetbeat/Makefile sysutils/beats/packetbeat/Makefile
index b7f2829933e..cc6e763a47d 100644
--- sysutils/beats/packetbeat/Makefile
+++ sysutils/beats/packetbeat/Makefile
@@ -9,6 +9,7 @@ CONFIGS = ${BEAT}.{reference.yml,yml}
WANTLIB += pcap
pre-build:
+ mkdir -p ${WRKDIR}/go-tmp
cd ${WRKSRC}/${BEAT}/cmd && ${MODGO_CMD} get ${MODGO_FLAGS} -d -v ./...
chmod u+w \
${MODGO_WORKSPACE}/pkg/mod/github.com/tsg/gopacket@v0.0.0-20200626092518-2ab8e397a786/pcap/pcap_poll_common.go
diff --git sysutils/duf/Makefile sysutils/duf/Makefile
index db43f7a1e60..111f3306565 100644
--- sysutils/duf/Makefile
+++ sysutils/duf/Makefile
@@ -17,6 +17,10 @@ PERMIT_PACKAGE = Yes
MODULES = lang/go
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
+
MODGO_MODULES = \
github.com/davecgh/go-spew v1.1.1 \
github.com/jedib0t/go-pretty/v6 v6.0.5 \
diff --git sysutils/envconsul/Makefile sysutils/envconsul/Makefile
index 06d332cff3f..f850ec85dd2 100644
--- sysutils/envconsul/Makefile
+++ sysutils/envconsul/Makefile
@@ -17,6 +17,9 @@ WANTLIB += c pthread
MODULES= lang/go
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
# go/src/github.com/hashicorp/envconsul/Makefile
MODGO_LDFLAGS += -X github.com/hashicorp/envconsul/version.Name=envconsul
MODGO_LDFLAGS += -X \
github.com/hashicorp/envconsul/version.GitCommit=${MODGO_VERSION}
diff --git sysutils/prometheus/Makefile sysutils/prometheus/Makefile
index adc7eb3e85b..553c06cd27a 100644
--- sysutils/prometheus/Makefile
+++ sysutils/prometheus/Makefile
@@ -24,6 +24,9 @@ USE_GMAKE = Yes
MODULES= lang/go
MODGO_GOPATH= ${MODGO_WORKSPACE}
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
# promu doesn't like the default PREFIX
do-build:
cd ${WRKSRC} && ${MAKE_ENV} GOMAXPROCS=${MAKE_JOBS} PREFIX=. ${MAKE_PROGRAM} \
diff --git sysutils/snmp_exporter/Makefile sysutils/snmp_exporter/Makefile
index f96bed49635..cb085e4bbac 100644
--- sysutils/snmp_exporter/Makefile
+++ sysutils/snmp_exporter/Makefile
@@ -38,8 +38,10 @@ MODGO_GOPATH= ${MODGO_WORKSPACE}
.if $V == $M
post-extract:
mv ${WRKDIR}/mibs ${WRKDIST}/generator/
+ mkdir -p ${WRKDIR}/go-tmp
.endif
+
# promu doesn't like the default PREFIX
do-build:
cd ${WRKSRC} && ${MAKE_ENV} GOMAXPROCS=${MAKE_JOBS} PREFIX=. ${MAKE_PROGRAM} \
diff --git sysutils/terragrunt/Makefile sysutils/terragrunt/Makefile
index 0106529be76..cc13f7a397a 100644
--- sysutils/terragrunt/Makefile
+++ sysutils/terragrunt/Makefile
@@ -21,6 +21,9 @@ MODGO_LDFLAGS= -X main.VERSION=${MODGO_VERSION}
RUN_DEPENDS= sysutils/terraform
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
MODGO_MODULES = \
cloud.google.com/go v0.53.0 \
cloud.google.com/go/bigquery v1.4.0 \
diff --git www/hugo/Makefile www/hugo/Makefile
index 96fa6653d21..b576735e7c5 100644
--- www/hugo/Makefile
+++ www/hugo/Makefile
@@ -37,6 +37,9 @@ WANTLIB += sass
MAKE_ENV += CGO_CPPFLAGS='-I${LOCALBASE}/include -DUSE_LIBSASS_SRC' \
CGO_LDFLAGS='-L${LOCALBASE}/lib -lsass'
.endif
+pre-configure:
+ mkdir -p ${WRKDIR}/go-tmp
+
post-build:
cd ${MODGO_WORKSPACE}/bin/ && ./hugo gen man
--
Matthieu Herrb
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic