diff options
Diffstat (limited to 'packages/net-libs/toxcore')
-rw-r--r-- | packages/net-libs/toxcore/files/confd | 2 | ||||
-rw-r--r-- | packages/net-libs/toxcore/files/initd | 30 | ||||
-rw-r--r-- | packages/net-libs/toxcore/files/systemd/tox-bootstrapd.service | 15 | ||||
-rw-r--r-- | packages/net-libs/toxcore/files/tox-bootstrapd.conf | 65 | ||||
-rw-r--r-- | packages/net-libs/toxcore/toxcore-0.2.4.exheres-0 | 6 | ||||
-rw-r--r-- | packages/net-libs/toxcore/toxcore-scm.exheres-0 | 6 | ||||
-rw-r--r-- | packages/net-libs/toxcore/toxcore.exlib | 74 |
7 files changed, 198 insertions, 0 deletions
diff --git a/packages/net-libs/toxcore/files/confd b/packages/net-libs/toxcore/files/confd new file mode 100644 index 0000000..33f850b --- /dev/null +++ b/packages/net-libs/toxcore/files/confd @@ -0,0 +1,2 @@ +TOX_GROUP=tox +TOX_USER=tox diff --git a/packages/net-libs/toxcore/files/initd b/packages/net-libs/toxcore/files/initd new file mode 100644 index 0000000..101d329 --- /dev/null +++ b/packages/net-libs/toxcore/files/initd @@ -0,0 +1,30 @@ +#!/sbin/openrc-run + +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 -- --config /etc/tox-bootstrapd.conf + + eend $? +} + +stop() { + ebegin "Stopping tox-dht-bootstrap daemon" + + start-stop-daemon --stop \ + --pidfile "${PIDFILE}" + + eend $? +} diff --git a/packages/net-libs/toxcore/files/systemd/tox-bootstrapd.service b/packages/net-libs/toxcore/files/systemd/tox-bootstrapd.service new file mode 100644 index 0000000..ae2f238 --- /dev/null +++ b/packages/net-libs/toxcore/files/systemd/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 --config /etc/tox-bootstrapd.conf +#CapabilityBoundingSet=CAP_NET_BIND_SERVICE + +[Install] +WantedBy=multi-user.target diff --git a/packages/net-libs/toxcore/files/tox-bootstrapd.conf b/packages/net-libs/toxcore/files/tox-bootstrapd.conf new file mode 100644 index 0000000..3413f59 --- /dev/null +++ b/packages/net-libs/toxcore/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/packages/net-libs/toxcore/toxcore-0.2.4.exheres-0 b/packages/net-libs/toxcore/toxcore-0.2.4.exheres-0 new file mode 100644 index 0000000..8e145c2 --- /dev/null +++ b/packages/net-libs/toxcore/toxcore-0.2.4.exheres-0 @@ -0,0 +1,6 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +require toxcore + +PLATFORMS="~amd64 ~x86" diff --git a/packages/net-libs/toxcore/toxcore-scm.exheres-0 b/packages/net-libs/toxcore/toxcore-scm.exheres-0 new file mode 100644 index 0000000..8e145c2 --- /dev/null +++ b/packages/net-libs/toxcore/toxcore-scm.exheres-0 @@ -0,0 +1,6 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +require toxcore + +PLATFORMS="~amd64 ~x86" diff --git a/packages/net-libs/toxcore/toxcore.exlib b/packages/net-libs/toxcore/toxcore.exlib new file mode 100644 index 0000000..63b2927 --- /dev/null +++ b/packages/net-libs/toxcore/toxcore.exlib @@ -0,0 +1,74 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +require github [ user=TokTok project=c-toxcore tag=v${PV} ] +#require scm-git +require systemd-service +require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.13 1.12 1.11 ] need_libtool=false ] + +export_exlib_phases src_configure src_install + +SLOT="0" +SUMMARY="Encrypted P2P, messaging, and audio/video calling platform" +DESCRIPTION="" +HOMEPAGE="https://tox.chat" +LICENCES="GPL-3+" +MYOPTIONS=" + av [[ description = [ Enable audio/video support ] ]] + daemon [[ description = [ Build and install tox network booststrap daemon ] ]] + ntox [[ description = [ Build testing console-based client ] ]] + ( + log-debug [[ description = [ Turn on debug logging ] ]] + log-error [[ description = [ Turn on error logging ] ]] + log-info [[ description = [ Turn on info logging ] ]] + log-trace [[ description = [ Turn on trace logging ] ]] + log-warn [[ description = [ Turn on warn logging ] ]] + ) + [[ number-selected = at-most-one ]] +" + +DEPENDENCIES=" + build+run: + av? ( media-libs/libvpx media-libs/opus ) + daemon? ( dev-libs/libconfig ) + ntox? ( sys-libs/ncurses ) + dev-libs/libsodium +" + +toxcore_src_configure() { + myconf=() + if option log-debug; then + myconf+=( --enable-logging ) + myconf+=( --with-log-level=DEBUG ) + elif option log-error; then + myconf+=( --enable-logging ) + myconf+=( --with-log-level=ERROR ) + elif option log-info; then + myconf+=( --enable-logging ) + myconf+=( --with-log-level=INFO ) + elif option log-trace; then + myconf+=( --enable-logging ) + myconf+=( --with-log-level=TRACE ) + elif option log-warn; then + myconf+=( --enable-logging ) + myconf+=( --with-log-level=WARNING ) + fi + econf \ + $(option_enable av av ) \ + $(option_enable ntox ntox ) \ + $(option_enable daemon daemon ) \ + "${myconf[@]}" + +} + +toxcore_src_install() { + default_src_install + if option daemon; then + newconfd "${FILESDIR}"/confd tox-dht-daemon + insinto /etc + doins "${FILESDIR}"/tox-bootstrapd.conf + install_systemd_files + else + edo rmdir "${IMAGE}"/usr/$(exhost --target)/bin + fi +} |