svn commit: r397699 - in head/sysutils: . ipfs-go ipfs-go/files

William Grzybowski wg at FreeBSD.org
Thu Sep 24 17:18:15 UTC 2015


Author: wg
Date: Thu Sep 24 17:18:13 2015
New Revision: 397699
URL: https://svnweb.freebsd.org/changeset/ports/397699

Log:
  sysutils/ipfs-go: IPFS implementation in Go
  
  IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas
  from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single
  bittorrent swarm, exchanging git objects. IPFS provides an interface as simple
  as the HTTP web, but with permanence built in.
  
  WWW: https://github.com/ipfs/go-ipfs

Added:
  head/sysutils/ipfs-go/
  head/sysutils/ipfs-go/Makefile   (contents, props changed)
  head/sysutils/ipfs-go/distinfo   (contents, props changed)
  head/sysutils/ipfs-go/files/
  head/sysutils/ipfs-go/files/ipfs-go.in   (contents, props changed)
  head/sysutils/ipfs-go/pkg-descr   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Thu Sep 24 17:07:52 2015	(r397698)
+++ head/sysutils/Makefile	Thu Sep 24 17:18:13 2015	(r397699)
@@ -418,6 +418,7 @@
     SUBDIR += ioping
     SUBDIR += ipa
     SUBDIR += ipad_charge
+    SUBDIR += ipfs-go
     SUBDIR += ipmitool
     SUBDIR += ipsc
     SUBDIR += isc-cron

Added: head/sysutils/ipfs-go/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/ipfs-go/Makefile	Thu Sep 24 17:18:13 2015	(r397699)
@@ -0,0 +1,41 @@
+# $FreeBSD$
+
+PORTNAME=	ipfs-go
+PORTVERSION=	0.3.7
+DISTVERSIONPREFIX=	v
+CATEGORIES=	sysutils
+
+MAINTAINER=	wg at FreeBSD.org
+COMMENT=	IPFS implementation in Go
+
+BUILD_DEPENDS=	${LOCALBASE}/bin/go:${PORTSDIR}/lang/go
+
+USES=		gmake
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ipfs
+GH_PROJECT=	go-ipfs
+
+MAKE_ENV+=	GOPATH=${WRKSRC}
+
+PLIST_FILES=	bin/${PORTNAME}
+
+USE_RC_SUBR=	${PORTNAME}
+
+STRIP=		# stripping can break go binaries
+
+# Prepare for possible extra modules in future
+post-extract:
+	@${MKDIR} ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}
+.for src in CHANGELOG.md Dockerfile Godeps LICENSE Makefile README.md assets bin blocks blockservice circle.yml cmd commands core dev dev.md diagnostics doc.go docs exchange fuse importer ipnsfs jenkins merkledag metrics misc namesys notifications p2p path pin repo routing test thirdparty tour unixfs updates util
+	${MV} ${WRKSRC}/${src} \
+		${WRKSRC}/src/github.com/ipfs/${GH_PROJECT}
+.endfor
+
+do-build:
+	cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} build
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}/cmd/ipfs/ipfs ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>

Added: head/sysutils/ipfs-go/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/ipfs-go/distinfo	Thu Sep 24 17:18:13 2015	(r397699)
@@ -0,0 +1,6 @@
+SHA256 (ipfs-go-ipfs-v0.3.7_GH0.tar.gz) = 4f811ff9a949162513585a073b97973029788561eace2f8b956884af968f717d
+SIZE (ipfs-go-ipfs-v0.3.7_GH0.tar.gz) = 2500872
+SHA256 (golang-crypto-74f810a_GH0.tar.gz) = 25e0c9cb7c6d6a5935aa318c9792fa6e18c8e0238994b5be039f90c8d58fd680
+SIZE (golang-crypto-74f810a_GH0.tar.gz) = 864642
+SHA256 (codahale-metrics-7c37910_GH0.tar.gz) = 6d8da9cd2be5f02afadbd12154a6ebdd5a79bc3dd2904339b017db3cd7607492
+SIZE (codahale-metrics-7c37910_GH0.tar.gz) = 5282

Added: head/sysutils/ipfs-go/files/ipfs-go.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/ipfs-go/files/ipfs-go.in	Thu Sep 24 17:18:13 2015	(r397699)
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: ipfs_go
+# REQUIRE: NETWORKING
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Define these ipfs_go_* variables in /etc/rc.conf[.local]:
+#
+# ipfs_go_enable="YES"
+# ipfs_go_path="/tank/ipfs"
+
+. /etc/rc.subr
+
+ipfs_go_enable=${exp_ipfs_enable-"NO"}
+ipfs_go_path="/var/db/ipfs"
+
+name=ipfs_go
+rcvar=ipfs_go_enable
+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
+}
+
+ipfs_go_start() {
+	echo running ${command} daemon
+	env IPFS_PATH=${ipfs_go_path} daemon -f ${command} daemon
+}
+
+load_rc_config $name
+run_rc_command "$1"

Added: head/sysutils/ipfs-go/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/ipfs-go/pkg-descr	Thu Sep 24 17:18:13 2015	(r397699)
@@ -0,0 +1,6 @@
+IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas
+from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single
+bittorrent swarm, exchanging git objects. IPFS provides an interface as simple
+as the HTTP web, but with permanence built in.
+
+WWW: https://github.com/ipfs/go-ipfs


More information about the svn-ports-all mailing list