mirror of
https://git.freebsd.org/ports.git
synced 2025-07-17 17:29:23 -04:00
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:
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
|
@ -44,6 +44,7 @@
|
|||
SUBDIR += liberator
|
||||
SUBDIR += libktorrent
|
||||
SUBDIR += libpdtp
|
||||
SUBDIR += libswift
|
||||
SUBDIR += libtorrent
|
||||
SUBDIR += libtorrent-rasterbar
|
||||
SUBDIR += libtorrent-rasterbar-python
|
||||
|
|
48
net-p2p/libswift/Makefile
Normal file
48
net-p2p/libswift/Makefile
Normal 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>
|
3
net-p2p/libswift/distinfo
Normal file
3
net-p2p/libswift/distinfo
Normal 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
|
49
net-p2p/libswift/files/libswift.in
Normal file
49
net-p2p/libswift/files/libswift.in
Normal 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"
|
9
net-p2p/libswift/pkg-descr
Normal file
9
net-p2p/libswift/pkg-descr
Normal 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
|
3
net-p2p/libswift/pkg-plist
Normal file
3
net-p2p/libswift/pkg-plist
Normal file
|
@ -0,0 +1,3 @@
|
|||
bin/libswift
|
||||
@dir(%%SWIFT_USER%%,%%SWIFT_GROUP%%,0750) %%SWIFT_PIDDIR%%
|
||||
@dir(%%SWIFT_USER%%,%%SWIFT_GROUP%%,0755) %%SWIFT_SHAREDIR%%
|
Loading…
Add table
Reference in a new issue