aboutsummaryrefslogtreecommitdiff
path: root/sysutils/ipfs-go
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2018-08-30 19:37:36 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2018-08-30 19:37:36 +0000
commit86634cc750edf0a425ff53e53eaa01ebcee4cd96 (patch)
tree6b2fcc8b89ee3904dff87ee750d49a9590c17672 /sysutils/ipfs-go
parent001acc6fa01e02462b869909e10f9484b6cdf654 (diff)
downloadports-86634cc750edf0a425ff53e53eaa01ebcee4cd96.tar.gz
ports-86634cc750edf0a425ff53e53eaa01ebcee4cd96.zip
Notes
Diffstat (limited to 'sysutils/ipfs-go')
-rw-r--r--sysutils/ipfs-go/Makefile48
-rw-r--r--sysutils/ipfs-go/distinfo8
-rw-r--r--sysutils/ipfs-go/files/ipfs-go.in35
-rw-r--r--sysutils/ipfs-go/pkg-plist5
4 files changed, 73 insertions, 23 deletions
diff --git a/sysutils/ipfs-go/Makefile b/sysutils/ipfs-go/Makefile
index a42b65ce773f..55fd21b769dd 100644
--- a/sysutils/ipfs-go/Makefile
+++ b/sysutils/ipfs-go/Makefile
@@ -1,29 +1,61 @@
# $FreeBSD$
PORTNAME= ipfs
-PORTVERSION= 0.4.15
DISTVERSIONPREFIX= v
-PORTREVISION= 1
+DISTVERSION= 0.4.17
CATEGORIES= sysutils
-MASTER_SITES= https://dist.ipfs.io/go-ipfs/${DISTVERSIONPREFIX}${DISTVERSION}/
+MASTER_SITES= LOCAL/yuri:gx
PKGNAMESUFFIX= -go
-DISTNAME= go-ipfs_${DISTVERSIONPREFIX}${DISTVERSION}_freebsd-${ARCH}
+DISTFILES= ${FULLNAME}-gx-${DISTVERSION}.tar.xz:gx
MAINTAINER= jhixson@FreeBSD.org
COMMENT= IPFS implementation in Go
LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
-ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS= amd64 i386
-PLIST_FILES= bin/${PORTNAME}${PKGNAMESUFFIX}
+BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
-NO_BUILD= yes
-WRKSRC= ${WRKDIR}/go-ipfs
+USE_GITHUB= yes
+GH_PROJECT= go-ipfs
+GH_SUBDIR= src/github.com/ipfs/go-ipfs
USE_RC_SUBR= ${PORTNAME}${PKGNAMESUFFIX}
+SUB_FILES= ${FULLNAME}
+SUB_LIST= IPFS_USER=${IPFS_USER} \
+ IPFS_GROUP=${IPFS_GROUP} \
+ IPFS_LOGDIR=${IPFS_LOGDIR}
+PLIST_SUB= IPFS_USER=${IPFS_USER} \
+ IPFS_GROUP=${IPFS_GROUP} \
+ IPFS_HOME=${IPFS_HOME} \
+ IPFS_LOGDIR=${IPFS_LOGDIR}
+
+IPFS_USER= ${FULLNAME}
+IPFS_GROUP= ${FULLNAME}
+IPFS_HOME= /var/db/${PORTNAME}${PKGNAMESUFFIX}
+IPFS_LOGDIR= /var/log/${PORTNAME}${PKGNAMESUFFIX}
+
+USERS= ${IPFS_USER}
+GROUPS= ${IPFS_GROUP}
+
+FULLNAME= ${PORTNAME}${PKGNAMESUFFIX}
+
+post-patch:
+ @${RLN} ${WRKDIR}/gx ${WRKSRC}/src
+
+do-build:
+ # To update ipfs-go-gx-${DISTVERSION}.tar.xz deps bundle:
+ # comment out post-patch, run the command below, tar ${WRKSRC}/src/gx and re-upload .tar.xz
+ # cd ${WRKSRC}/${GH_SUBDIR} && ${SETENV} ${MAKE_ENV} GOPATH=${WRKSRC} gx install
+ @cd ${WRKSRC}/${GH_SUBDIR} && \
+ ${SETENV} ${MAKE_ENV} GOPATH=${WRKSRC} go build ./cmd/ipfs
+
do-install:
+ @${MKDIR} ${STAGEDIR}${IPFS_HOME}
+ @${MKDIR} ${STAGEDIR}${IPFS_LOGDIR}
${INSTALL_PROGRAM} ${WRKSRC}/ipfs ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${PKGNAMESUFFIX}
.include <bsd.port.mk>
diff --git a/sysutils/ipfs-go/distinfo b/sysutils/ipfs-go/distinfo
index 26c88c01e09d..e46db4c36ee6 100644
--- a/sysutils/ipfs-go/distinfo
+++ b/sysutils/ipfs-go/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1528920460
-SHA256 (go-ipfs_v0.4.15_freebsd-amd64.tar.gz) = 13e2514a62b17a81e2e1ce2dbcb38d7924a932c62f6a775f090a7458ef9fcccd
-SIZE (go-ipfs_v0.4.15_freebsd-amd64.tar.gz) = 9888465
+TIMESTAMP = 1534183965
+SHA256 (ipfs-go-gx-0.4.17.tar.xz) = 7f9f233048b61416789ff8573ec4adddbccdc21557f135d998167f2c2b04144f
+SIZE (ipfs-go-gx-0.4.17.tar.xz) = 11255440
+SHA256 (ipfs-go-ipfs-v0.4.17_GH0.tar.gz) = 2562401bee0609d321bbf5e9c383de4124f634dcfd9394f1d23146a49f281718
+SIZE (ipfs-go-ipfs-v0.4.17_GH0.tar.gz) = 728972
diff --git a/sysutils/ipfs-go/files/ipfs-go.in b/sysutils/ipfs-go/files/ipfs-go.in
index e867bffd29b2..63263da72688 100644
--- a/sysutils/ipfs-go/files/ipfs-go.in
+++ b/sysutils/ipfs-go/files/ipfs-go.in
@@ -4,35 +4,46 @@
#
# PROVIDE: ipfs_go
-# REQUIRE: NETWORKING
+# REQUIRE: DAEMON NETWORKING
# BEFORE: LOGIN
# KEYWORD: shutdown
-# Define these ipfs_go_* variables in /etc/rc.conf[.local]:
-#
+# Add the following lines to /etc/rc.conf to enable ipfs_go:
# ipfs_go_enable="YES"
-# ipfs_go_path="/tank/ipfs"
+#
+# ipfs_go_enable (bool): Set to YES to enable ipfs_go
+# Default: NO
+# ipfs_go_user (str): ipfs_go daemon user
+# Default: %%IPFS_USER%%
+# ipfs_go_group (str): ipfs_go daemon group
+# Default: %%IPFS_GROUP%%
. /etc/rc.subr
-: ${ipfs_go_enable:="NO"}
-: ${ipfs_go_path:="/root/.ipfs"}
-
name=ipfs_go
rcvar=ipfs_go_enable
-command="%%PREFIX%%/bin/ipfs-go"
+load_rc_config $name
+
+: ${ipfs_go_enable:="NO"}
+: ${ipfs_go_user:="%%IPFS_USER%%"}
+: ${ipfs_go_group:="%%IPFS_GROUP%%"}
+logfile="%%IPFS_LOGDIR%%/${name}.log"
+pidfile="/var/run/${name}.pid"
+command="%%PREFIX%%/bin/ipfs-go"
start_precmd="ipfs_go_prestart"
start_cmd="ipfs_go_start"
ipfs_go_prestart() {
- [ -d ${ipfs_go_path}/datastore ] || env IPFS_PATH=${ipfs_go_path} ${command} init
+ install -d -o ${ipfs_go_user} -g ${ipfs_go_group} -m750 %%IPFS_LOGDIR%%
+ [ -d ~%%IPFS_USER%%/.ipfs ] || /usr/bin/su - ${ipfs_go_user} -c "${command} init"
}
ipfs_go_start() {
- echo running ${command} daemon
- env IPFS_PATH=${ipfs_go_path} daemon -f ${command} daemon
+ echo running ${command} daemon
+ export USER=${ipfs_go_user}
+ export HOME=$(echo ~%%IPFS_USER%%)
+ /usr/sbin/daemon -p ${pidfile} -u ${ipfs_go_user} ${command} daemon >> ${logfile} 2>&1
}
-load_rc_config $name
run_rc_command "$1"
diff --git a/sysutils/ipfs-go/pkg-plist b/sysutils/ipfs-go/pkg-plist
new file mode 100644
index 000000000000..e2eb333c3a0b
--- /dev/null
+++ b/sysutils/ipfs-go/pkg-plist
@@ -0,0 +1,5 @@
+bin/ipfs-go
+@owner %%IPFS_USER%%
+@group %%IPFS_GROUP%%
+@dir %%IPFS_HOME%%
+@dir %%IPFS_LOGDIR%%