# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # yggdrasil # yggdrasil/pkg-descr # yggdrasil/distinfo # yggdrasil/Makefile # yggdrasil/files # yggdrasil/files/yggdrasil.in # echo c - yggdrasil mkdir -p yggdrasil > /dev/null 2>&1 echo x - yggdrasil/pkg-descr sed 's/^X//' >yggdrasil/pkg-descr << '023722dcb05da491ddaf4c62cede0704' XYggdrasil is an early-stage implementation of a fully end-to-end encrypted IPv6 Xnetwork. It is lightweight, self-arranging, supported on multiple platforms and Xallows pretty much any IPv6-capable application to communicate securely with Xother Yggdrasil nodes. Yggdrasil does not require you to have IPv6 Internet Xconnectivity - it also works over IPv4. X XWWW: https://yggdrasil-network.github.io/ 023722dcb05da491ddaf4c62cede0704 echo x - yggdrasil/distinfo sed 's/^X//' >yggdrasil/distinfo << '72534f496b34a8dd2ca6b764d2bfa2ba' XTIMESTAMP = 1556142271 XSHA256 (yggdrasil/yggdrasil-network-yggdrasil-go-0.3.5-v0.3.5_GH0.tar.gz) = 2c69029adeb053ad049e90f1e4b7efa986094779868da77464d3c869984e861b XSIZE (yggdrasil/yggdrasil-network-yggdrasil-go-0.3.5-v0.3.5_GH0.tar.gz) = 139430 XSHA256 (yggdrasil/docker-libcontainer-v2.2.1_GH0.tar.gz) = 3dc621731db53591d643611e2d7bb2efc942a6208e5178c335caecf9dc5f8826 XSIZE (yggdrasil/docker-libcontainer-v2.2.1_GH0.tar.gz) = 348704 XSHA256 (yggdrasil/golang-crypto-505ab14_GH0.tar.gz) = 66208e5bab6d39db520fb59b79a597ddb38cd6160e7ae7fb3e5c212fe9146125 XSIZE (yggdrasil/golang-crypto-505ab14_GH0.tar.gz) = 1644620 XSHA256 (yggdrasil/golang-net-6105869_GH0.tar.gz) = c5f270f04c327363dca769421547484be0c2bed796a4385abe8a3f54ce20f1d1 XSIZE (yggdrasil/golang-net-6105869_GH0.tar.gz) = 966007 XSHA256 (yggdrasil/golang-sys-70b957f_GH0.tar.gz) = 441e259f5e287d6a83794e53a601208e895884828dd2df457da8492e8d635d00 XSIZE (yggdrasil/golang-sys-70b957f_GH0.tar.gz) = 1119114 XSHA256 (yggdrasil/golang-text-v0.3.0_GH0.tar.gz) = 8f4c9a048345befc7beccd09267737ee1f55c7b35e5ff80f344ec9e0aa90febb XSIZE (yggdrasil/golang-text-v0.3.0_GH0.tar.gz) = 6102619 XSHA256 (yggdrasil/gologme-log-4e5d8cc_GH0.tar.gz) = e5b54beab3e597695e50d440a4c9f187fc21bb38b8e9bf2fdb3e91d0b3614d64 XSIZE (yggdrasil/gologme-log-4e5d8cc_GH0.tar.gz) = 5606 XSHA256 (yggdrasil/hjson-hjson-go-a25ecf6_GH0.tar.gz) = dedb859105f094b696659b790e6b12c6fb9fc88afb9c3c445a3d7357ab0df160 XSIZE (yggdrasil/hjson-hjson-go-a25ecf6_GH0.tar.gz) = 25654 XSHA256 (yggdrasil/kardianos-minwinsvc-cad6b2b_GH0.tar.gz) = 9a107928d08032682f77fabfe7b9150e94ff8bebe3b6e13648c63ba3b20c4abc XSIZE (yggdrasil/kardianos-minwinsvc-cad6b2b_GH0.tar.gz) = 1804 XSHA256 (yggdrasil/mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 53fbc06b125ff1c9c73a4eb1764346932671a29c67a45a92e2ebc6855635069b XSIZE (yggdrasil/mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 20980 XSHA256 (yggdrasil/songgao-packets-549a10c_GH0.tar.gz) = 3f1e07237f5cc1496c7c10359edc1ada5ebcfdb96a53a4a0074ab78cef3db305 XSIZE (yggdrasil/songgao-packets-549a10c_GH0.tar.gz) = 3520 XSHA256 (yggdrasil/yggdrasil-network-water-f732c88_GH0.tar.gz) = 2d949c8a99a0ab8624d45190681c0ad4736c0d4b30ae63378fcbfd661d23b21d XSIZE (yggdrasil/yggdrasil-network-water-f732c88_GH0.tar.gz) = 14996 72534f496b34a8dd2ca6b764d2bfa2ba echo x - yggdrasil/Makefile sed 's/^X//' >yggdrasil/Makefile << '08414c2ec341a0cbdf4e978f465352dc' X# $FreeBSD$ X XPORTNAME= yggdrasil XPORTVERSION= 0.3.5 XCATEGORIES= net ipv6 XMASTER_SITES= https://github.com/yggdrasil-network/yggdrasil-go/ XDIST_SUBDIR= yggdrasil X XMAINTAINER= neilalexander@users.noreply.github.com XCOMMENT= Experimental end-to-end encrypted self-arranging IPv6 network X XLICENSE= LGPL3 XLICENSE_FILE= ${WRKSRC}/LICENSE X XBUILD_DEPENDS= go>=1.11:lang/go X XUSE_GITHUB= yes XGH_ACCOUNT= yggdrasil-network XGH_PROJECT= yggdrasil-go XGH_TAGNAME= v0.3.5 XGH_TUPLE= \ X docker:libcontainer:v2.2.1:docker_libcontainer/vendor/github.com/docker/libcontainer \ X golang:crypto:505ab14:golang_crypto/vendor/golang.org/x/crypto \ X golang:net:6105869:golang_net/vendor/golang.org/x/net \ X golang:sys:70b957f:golang_sys/vendor/golang.org/x/sys \ X golang:text:v0.3.0:golang_text/vendor/golang.org/x/text \ X gologme:log:4e5d8cc:gologme_log/vendor/github.com/gologme/log \ X hjson:hjson-go:a25ecf6:hjson_hjson_go/vendor/github.com/hjson/hjson-go \ X kardianos:minwinsvc:cad6b2b:kardianos_minwinsvc/vendor/github.com/kardianos/minwinsvc \ X mitchellh:mapstructure:v1.1.2:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \ X songgao:packets:549a10c:songgao_packets/vendor/github.com/songgao/packets \ X yggdrasil-network:water:f732c88:yggdrasil_network_water/vendor/github.com/yggdrasil-network/water X XPLIST_FILES= bin/yggdrasil \ X bin/yggdrasilctl XMAKE_ENV+= GOFLAGS=-mod=vendor X XUSE_RC_SUBR= yggdrasil X Xpre-build: X @${REINPLACE_CMD} -e 's/set -ef/set -f/' ${WRKSRC}/build X Xdo-build: X cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} PKGNAME=${PORTNAME} PKGVER=${PORTVERSION} ./build X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/yggdrasil ${STAGEDIR}${PREFIX}/bin/yggdrasil X ${INSTALL_PROGRAM} ${WRKSRC}/yggdrasilctl ${STAGEDIR}${PREFIX}/bin/yggdrasilctl X X.include 08414c2ec341a0cbdf4e978f465352dc echo c - yggdrasil/files mkdir -p yggdrasil/files > /dev/null 2>&1 echo x - yggdrasil/files/yggdrasil.in sed 's/^X//' >yggdrasil/files/yggdrasil.in << 'b80588c5db68a9262cc8bdf7e3a8cd36' X#!/bin/sh X# X# PROVIDE: yggdrasil X# REQUIRE: networking X# KEYWORD: shutdown X X. /etc/rc.subr X Xname="yggdrasil" Xrcvar="yggdrasil_enable" X Xstart_cmd="${name}_start" Xstart_precmd="${name}_prestart" Xstop_cmd="${name}_stop" Xstop_postcmd="${name}_poststop" X Xpidfile="/var/run/yggdrasil/${name}.pid" Xcommand="/usr/sbin/daemon" Xcommand_args="-P ${pidfile} -r -f ${yggdrasil_command}" X Xyggdrasil_prestart() X{ X test ! -x %%PREFIX%%/bin/yggdrasil && ( X logger -s -t yggdrasil "Warning: %%PREFIX%%/bin/yggdrasil is missing or not executable" X logger -s -t yggdrasil "Copy the yggdrasil binary into %%PREFIX%%/bin and then chmod +x %%PREFIX%%/bin/yggdrasil" X return 1 X ) X X test ! -f %%PREFIX%%/etc/yggdrasil.conf && ( X logger -s -t yggdrasil "Generating new configuration file into %%PREFIX%%/etc/yggdrasil.conf" X %%PREFIX%%/bin/yggdrasil -genconf > %%PREFIX%%/etc/yggdrasil.conf X ) X X tap_path="$(cat %%PREFIX%%/etc/yggdrasil.conf | egrep -o '/dev/tap[0-9]{1,2}$')" X tap_name="$(echo -n ${tap_path} | tr -d '/dev/')" X X /sbin/ifconfig ${tap_name} >/dev/null 2>&1 || ( X logger -s -t yggdrasil "Creating ${tap_name} adapter" X /sbin/ifconfig ${tap_name} create || logger -s -t yggdrasil "Failed to create ${tap_name} adapter" X ) X X mkdir -p /var/run/yggdrasil X} X Xyggdrasil_start() X{ X /sbin/ifconfig ${tap_name} >/dev/null 2>&1 || ( X logger -s -t yggdrasil "Creating ${tap_name} adapter" X /sbin/ifconfig ${tap_name} create || logger -s -t yggdrasil "Failed to create ${tap_name} adapter" X ) X X logger -s -t yggdrasil "Starting yggdrasil" X ${command} ${command_args} %%PREFIX%%/bin/yggdrasil -useconffile %%PREFIX%%/etc/yggdrasil.conf \ X 1>/var/log/yggdrasil.stdout.log \ X 2>/var/log/yggdrasil.stderr.log & X} X Xyggdrasil_stop() X{ X logger -s -t yggdrasil "Stopping yggdrasil" X test -f /var/run/yggdrasil/${name}.pid && kill -TERM $(cat /var/run/yggdrasil/${name}.pid) X} X Xyggdrasil_poststop() X{ X tap_path="$(cat %%PREFIX%%/etc/yggdrasil.conf | grep /dev/tap | egrep -o '/dev/.*$')" X tap_name="$(echo -n ${tap_path} | tr -d '/dev/')" X X /sbin/ifconfig ${tap_name} >/dev/null 2>&1 && ( X logger -s -t yggdrasil "Destroying ${tap_name} adapter" X /sbin/ifconfig ${tap_name} destroy || logger -s -t yggdrasil "Failed to destroy ${tap_name} adapter" X ) X} X Xload_rc_config $name X: ${yggdrasil_enable:=no} X Xrun_rc_command "$1" b80588c5db68a9262cc8bdf7e3a8cd36 exit