summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZetok Zalbavar <zetok@openmailbox.org>2015-10-27 19:52:26 +0000
committerZetok Zalbavar <zetok@openmailbox.org>2016-02-01 07:00:48 +0000
commit8cb4eb39c75a1bc1d2676f5d8c82053265110f87 (patch)
tree47dbaca10529122143ee1bf36f1873c455c408c6 /net-libs/tox
parentmedia-sound/mpdas: remove old (diff)
downloadgentoo-8cb4eb39c75a1bc1d2676f5d8c82053265110f87.tar.gz
gentoo-8cb4eb39c75a1bc1d2676f5d8c82053265110f87.tar.bz2
gentoo-8cb4eb39c75a1bc1d2676f5d8c82053265110f87.zip
net-libs/tox: add ebuild
Diffstat (limited to 'net-libs/tox')
-rw-r--r--net-libs/tox/files/confd2
-rw-r--r--net-libs/tox/files/initd30
-rw-r--r--net-libs/tox/files/tox-bootstrapd.conf65
-rw-r--r--net-libs/tox/files/tox-bootstrapd.service15
-rw-r--r--net-libs/tox/metadata.xml24
-rw-r--r--net-libs/tox/tox-9999.ebuild77
6 files changed, 213 insertions, 0 deletions
diff --git a/net-libs/tox/files/confd b/net-libs/tox/files/confd
new file mode 100644
index 000000000000..33f850bff01b
--- /dev/null
+++ b/net-libs/tox/files/confd
@@ -0,0 +1,2 @@
+TOX_GROUP=tox
+TOX_USER=tox
diff --git a/net-libs/tox/files/initd b/net-libs/tox/files/initd
new file mode 100644
index 000000000000..84ae908af5a7
--- /dev/null
+++ b/net-libs/tox/files/initd
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+
+PIDDIR=/run/tox-bootstrapd
+PIDFILE="${PIDDIR}"/tox-bootstrap.pid
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting tox-dht-bootstrap daemon"
+
+ checkpath -d -q -o "${TOX_USER}":"${TOX_GROUP}" "${PIDDIR}"
+
+ start-stop-daemon --start \
+ --pidfile "${PIDFILE}" \
+ --user="${TOX_USER}" --group="${TOX_GROUP}" \
+ --exec /usr/bin/tox-bootstrapd -- /etc/tox-bootstrapd.conf
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tox-dht-bootstrap daemon"
+
+ start-stop-daemon --stop \
+ --pidfile "${PIDFILE}"
+
+ eend $?
+}
diff --git a/net-libs/tox/files/tox-bootstrapd.conf b/net-libs/tox/files/tox-bootstrapd.conf
new file mode 100644
index 000000000000..3413f5907d46
--- /dev/null
+++ b/net-libs/tox/files/tox-bootstrapd.conf
@@ -0,0 +1,65 @@
+// Tox DHT bootstrap daemon configuration file.
+
+// Listening port (UDP).
+port = 33445
+
+// A key file is like a password, so keep it where no one can read it.
+// If there is no key file, a new one will be generated.
+// The daemon should have permission to read/write it.
+keys_file_path = "/var/lib/tox-bootstrapd/keys"
+
+// The PID file written to by the daemon.
+// Make sure that the user that daemon runs as has permissions to write to the
+// PID file.
+pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"
+
+// Enable IPv6.
+enable_ipv6 = true
+
+// Fallback to IPv4 in case IPv6 fails.
+enable_ipv4_fallback = true
+
+// Automatically bootstrap with nodes on local area network.
+enable_lan_discovery = true
+
+enable_tcp_relay = true
+
+// While Tox uses 33445 port by default, 443 (https) and 3389 (rdp) ports are very
+// common among nodes, so it's encouraged to keep them in place.
+tcp_relay_ports = [443, 3389, 33445]
+
+// Reply to MOTD (Message Of The Day) requests.
+enable_motd = true
+
+// Just a message that is sent when someone requests MOTD.
+// Put anything you want, but note that it will be trimmed to fit into 255 bytes.
+motd = "tox-bootstrapd"
+
+// Any number of nodes the daemon will bootstrap itself off.
+//
+// Remember to replace the provided example with your own node list.
+// There is a maintained list of bootstrap nodes on Tox's wiki, if you need it
+// (https://wiki.tox.chat/users/nodes).
+//
+// You may leave the list empty or remove "bootstrap_nodes" completely,
+// in both cases this will be interpreted as if you don't want to bootstrap
+// from anyone.
+//
+// address = any IPv4 or IPv6 address and also any US-ASCII domain name.
+bootstrap_nodes = (
+ { // Example Node 1 (IPv4)
+ address = "127.0.0.1"
+ port = 33445
+ public_key = "728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854"
+ },
+ { // Example Node 2 (IPv6)
+ address = "::1/128"
+ port = 33445
+ public_key = "3E78BACF0F84235B30054B54898F56793E1DEF8BD46B1038B9D822E8460FAB67"
+ },
+ { // Example Node 3 (US-ASCII domain name)
+ address = "example.org"
+ port = 33445
+ public_key = "8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858"
+ }
+)
diff --git a/net-libs/tox/files/tox-bootstrapd.service b/net-libs/tox/files/tox-bootstrapd.service
new file mode 100644
index 000000000000..c841b3c2cd9d
--- /dev/null
+++ b/net-libs/tox/files/tox-bootstrapd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Tox DHT Bootstrap Daemon
+After=network.target
+
+[Service]
+User=tox
+Group=tox
+RuntimeDirectory=tox-bootstrapd
+PIDFile=/run/tox-bootstrapd/tox-bootstrapd.pid
+WorkingDirectory=/var/lib/tox-bootstrapd
+ExecStart=/usr/bin/tox-bootstrapd /etc/tox-bootstrapd.conf
+#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-libs/tox/metadata.xml b/net-libs/tox/metadata.xml
new file mode 100644
index 000000000000..f75d824cd0e8
--- /dev/null
+++ b/net-libs/tox/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zexavexxe@gmail.com</email>
+ <name>Zetok Zalbavar</name>
+ <description>Proxy maintainers. CC him on bugs</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="av">Adds support for audio and video.</flag>
+ <flag name="no-log">Log level: 0 (no debug info logged)</flag>
+ <flag name="log-error">Log level: 1</flag>
+ <flag name="log-warn">Log level: 2</flag>
+ <flag name="log-info">Log level: 3</flag>
+ <flag name="log-debug">Log level: 4</flag>
+ <flag name="log-trace">Log level: 5</flag>
+ <flag name="ntox">Enable the testing nTox client.</flag>
+ <flag name="daemon">Enable the DHT Bootstrap Daemon.</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/tox/tox-9999.ebuild b/net-libs/tox/tox-9999.ebuild
new file mode 100644
index 000000000000..68f7e956c9f8
--- /dev/null
+++ b/net-libs/tox/tox-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils git-r3 user systemd
+
+DESCRIPTION="Encrypted P2P, messaging, and audio/video calling platform"
+HOMEPAGE="https://tox.chat"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/irungentoo/toxcore.git
+ git://github.com/irungentoo/toxcore.git"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS=""
+IUSE="+av daemon log-debug log-error log-info log-trace log-warn +no-log ntox static-libs test"
+
+REQUIRED_USE="^^ ( no-log log-trace log-debug log-info log-warn log-error )"
+
+RDEPEND="
+ av? ( media-libs/libvpx
+ media-libs/opus )
+ daemon? ( dev-libs/libconfig )
+ ntox? ( sys-libs/ncurses )
+ >=dev-libs/libsodium-0.6.1[asm,urandom]"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/check )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(usex log-trace "--enable-logging --with-log-level=TRACE" "") \
+ $(usex log-debug "--enable-logging --with-log-level=DEBUG" "") \
+ $(usex log-info "--enable-logging --with-log-level=INFO" "") \
+ $(usex log-warn "--enable-logging --with-log-level=WARNING" "") \
+ $(usex log-error "--enable-logging --with-log-level=ERROR" "") \
+ $(use_enable av) \
+ $(use_enable test tests) \
+ $(use_enable ntox) \
+ $(use_enable daemon) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ if use daemon; then
+ newinitd "${FILESDIR}"/initd tox-dht-daemon
+ newconfd "${FILESDIR}"/confd tox-dht-daemon
+ insinto /etc
+ doins "${FILESDIR}"/tox-bootstrapd.conf
+ systemd_dounit "${FILESDIR}"/tox-bootstrapd.service
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ if use daemon; then
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+ if [[ -f ${EROOT}var/lib/tox-dht-bootstrap/key ]]; then
+ ewarn "Backwards compatability with the bootstrap daemon might have been"
+ ewarn "broken a while ago. To resolve this issue, REMOVE the following files:"
+ ewarn " /var/lib/tox-dht-bootstrap/key"
+ ewarn " /etc/tox-bootstrapd.conf"
+ ewarn " /run/tox-dht-bootstrap/tox-dht-bootstrap.pid"
+ ewarn "Then just re-emerge net-libs/tox"
+ fi
+ fi
+}