New port: net-p2p/libswift

LibSwift is the reference UDP-based implementation of IETF RFC7574,
a multi-peer transport layer protocol. Its mission is to disseminate
content among a swarm of peers.

Given a root hash, the data is received from whatever source available
and data integrity is checked cryptographically with Merkle hash
trees.

WWW: https://tools.ietf.org/html/rfc7574

PR:		211945
Submitted by:	Dave Cottlehuber <dch@skunkwerks.at>
This commit is contained in:
Kurt Jaeger 2016-08-17 18:10:01 +00:00
parent f7b3456c92
commit b6618efec3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420360
6 changed files with 113 additions and 0 deletions

View file

@ -44,6 +44,7 @@
SUBDIR += liberator SUBDIR += liberator
SUBDIR += libktorrent SUBDIR += libktorrent
SUBDIR += libpdtp SUBDIR += libpdtp
SUBDIR += libswift
SUBDIR += libtorrent SUBDIR += libtorrent
SUBDIR += libtorrent-rasterbar SUBDIR += libtorrent-rasterbar
SUBDIR += libtorrent-rasterbar-python SUBDIR += libtorrent-rasterbar-python

48
net-p2p/libswift/Makefile Normal file
View file

@ -0,0 +1,48 @@
# Created by: Dave Cottlehuber <dch@skunkwerks.at>
# $FreeBSD$
PORTNAME= libswift
PORTVERSION= 20160817
CATEGORIES= net-p2p
MAINTAINER= dch@skunkwerks.at
COMMENT= IETF Peer-to-Peer Streaming Peer Protocol implementation
LICENSE= LGPL21
LIB_DEPENDS= libevent.so:devel/libevent2
USE_GITHUB= yes
GH_TAGNAME= dda307f
USES= gmake ssl
PORTDOCS= README.md
SUB_FILES= ${PORTNAME}
SUB_LIST+= SWIFT_USER=${SWIFT_USER} \
SWIFT_GROUP=${SWIFT_GROUP} \
SWIFT_SHAREDIR=${SWIFT_SHAREDIR} \
SWIFT_PIDDIR=${SWIFT_PIDDIR}
PLIST_SUB= SWIFT_USER=${SWIFT_USER} \
SWIFT_GROUP=${SWIFT_GROUP} \
SWIFT_SHAREDIR=${SWIFT_SHAREDIR} \
SWIFT_PIDDIR=${SWIFT_PIDDIR}
SWIFT_USER?= www
SWIFT_GROUP?= www
SWIFT_SHAREDIR= /var/db/${PORTNAME}/
SWIFT_PIDDIR= /var/run/${PORTNAME}/
USE_RC_SUBR= ${PORTNAME}
do-install:
${MKDIR} ${STAGEDIR}${DOCSDIR} \
${STAGEDIR}${SWIFT_SHAREDIR} \
${STAGEDIR}${SWIFT_PIDDIR}
${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
${INSTALL_PROGRAM} ${WRKSRC}/swift ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1471446348
SHA256 (libswift-libswift-20160817-dda307f_GH0.tar.gz) = 3ba3153097bb2c516c94393f3d376b8c5bc36c284138b49219ec45bbcd821281
SIZE (libswift-libswift-20160817-dda307f_GH0.tar.gz) = 3329674

View file

@ -0,0 +1,49 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: libswift
# REQUIRE: LOGIN NETWORKING SERVERS
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# libswift_enable (bool): Set to NO by default.
# Set it to YES to enable swift.
#
# libswift_user (user): Set to www by default.
# libswift_group (group): Set to www by default.
# libswift_port (num): Port for daemon to listen on, 7777 by default.
# libswift_dir (string): Optional full path to streaming content directory.
. /etc/rc.subr
name=libswift
rcvar=libswift_enable
load_rc_config ${name}
# defaults
libswift_enable=${libswift_enable:-"NO"}
libswift_user=${libswift_user:-"www"}
libswift_port=${libswift_port:-"7777"}
libswift_dir=${libswift_dir:-"/var/db/${name}"}
libswift_options=${libswift_options:-" --dir ${libswift_dir} --listen ${libswift_port}"}
# daemon
libswift_pidfile="%%SWIFT_PIDDIR%%${name}.pid"
procname="%%PREFIX%%/bin/${name}"
command=/usr/sbin/daemon
command_args=" -c -f -p ${libswift_pidfile} ${procname} ${libswift_flags} ${libswift_options}"
start_precmd=libswift_precmd
libswift_precmd()
{
# create empty pidfile with correct permissions
install -o ${libswift_user} /dev/null ${libswift_pidfile}
}
run_rc_command "$1"

View file

@ -0,0 +1,9 @@
LibSwift is the reference UDP-based implementation of IETF RFC7574,
a multi-peer transport layer protocol. Its mission is to disseminate
content among a swarm of peers.
Given a root hash, the data is received from whatever source available
and data integrity is checked cryptographically with Merkle hash
trees.
WWW: https://tools.ietf.org/html/rfc7574

View file

@ -0,0 +1,3 @@
bin/libswift
@dir(%%SWIFT_USER%%,%%SWIFT_GROUP%%,0750) %%SWIFT_PIDDIR%%
@dir(%%SWIFT_USER%%,%%SWIFT_GROUP%%,0755) %%SWIFT_SHAREDIR%%