All Projects → TokTok → jvm-toxcore-c

TokTok / jvm-toxcore-c

Licence: GPL-3.0 license
JVM (Java/Scala/Kotlin) bindings to toxcore

Programming Languages

scala
5932 projects
C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
Starlark
911 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to jvm-toxcore-c

pytoxcore
Python binding for ToxCore
Stars: ✭ 37 (+12.12%)
Mutual labels:  tox, toxcore
ToxBlinkenwall
ToxBlinkenwall - VideoConferencing with Tox
Stars: ✭ 16 (-51.52%)
Mutual labels:  tox, toxcore
spec
Tox Protocol Specification
Stars: ✭ 29 (-12.12%)
Mutual labels:  tox, toxcore
minitox
Minimal client for Tox
Stars: ✭ 65 (+96.97%)
Mutual labels:  tox, toxcore
rustybot
A Tox groupchat trivia bot
Stars: ✭ 13 (-60.61%)
Mutual labels:  tox, toxcore
Toxandroidrefimpl
Tox Reference implementation for Android
Stars: ✭ 153 (+363.64%)
Mutual labels:  tox
go-toxcore-c
The golang bindings for libtoxcore (Project Tox).
Stars: ✭ 51 (+54.55%)
Mutual labels:  toxcore
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (+233.33%)
Mutual labels:  tox
qTox
Powerful Tox chat client that follows the Tox design guidelines.
Stars: ✭ 28 (-15.15%)
Mutual labels:  tox
Tox Gh Actions
Seamless integration of tox into GitHub Actions
Stars: ✭ 100 (+203.03%)
Mutual labels:  tox
looong
Discovery of Long Parameter List
Stars: ✭ 16 (-51.52%)
Mutual labels:  tox
Toxygen
Toxygen is pythonic Tox client
Stars: ✭ 231 (+600%)
Mutual labels:  tox
ansible-role-fail2ban
Install and configure fail2ban on your system.
Stars: ✭ 42 (+27.27%)
Mutual labels:  tox
Python Blueprint
🐍 Example Python project using best practices 🔩
Stars: ✭ 123 (+272.73%)
Mutual labels:  tox
ansible-blackbox-exporter
Blackbox prober exporter
Stars: ✭ 60 (+81.82%)
Mutual labels:  tox
ci-testing-python
Sample Microservice App in Python for Testing using pytest, uber/doubles, tox on CI servers like Jenkins and Travis CI using Docker + Docker-Compose for test environment.
Stars: ✭ 37 (+12.12%)
Mutual labels:  tox
Ansible Role Bootstrap
Prepare your system to be managed by Ansible.
Stars: ✭ 106 (+221.21%)
Mutual labels:  tox
ansible-snmp-exporter
Provision SNMP metrics exporter for prometheus monitoring
Stars: ✭ 18 (-45.45%)
Mutual labels:  tox
publishing-python-packages
Examples and exercises for Publishing Python Packages from Manning Books 🐍 📦 ⬆️
Stars: ✭ 25 (-24.24%)
Mutual labels:  tox
toktok-stack
A snapshot of the complete software stack (excluding some external libraries and programs)
Stars: ✭ 12 (-63.64%)
Mutual labels:  tox

Tox4j (C backend)

This repository contains the c-toxcore backed implementation of the generic backend-agnostic JVM toxcore-api.

Contributing

We're using the standard Github workflow for our code reviews. Just open Pull Requests and the reviewer will guide you through the process.

Build status

Build Status
Travis CI Travis Build Status
Coverage Coverage Status
Android arm64 Android arm64 Status
Android armeabi Android armeabi Status
Android x86 Android x86 Status

Building Tox4j

Dependencies: compile

To build the package itself, the following dependencies are required:

  • com.chuusai:shapeless_2.11:2.3.3
  • com.google.code.findbugs:jsr305:3.0.0
  • com.google.guava:guava:19.0
  • com.google.protobuf:protobuf-java:3.5.0
  • com.intellij:annotations:12.0
  • com.lihaoyi:fastparse-utils_2.11:0.3.7
  • com.lihaoyi:fastparse_2.11:0.3.7
  • com.lihaoyi:sourcecode_2.11:0.1.1
  • com.trueaccord.lenses:lenses_2.11:0.4.7
  • com.trueaccord.scalapb:scalapb-runtime-grpc_2.11:0.5.43
  • com.trueaccord.scalapb:scalapb-runtime_2.11:0.5.43
  • com.typesafe.scala-logging:scala-logging_2.11:3.7.2
  • io.grpc:grpc-context:1.0.1
  • io.grpc:grpc-core:1.0.1
  • io.grpc:grpc-stub:1.0.1
  • org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4
  • org.scala-lang.modules:scala-xml_2.11:1.0.5
  • org.scala-lang:scala-compiler:2.11.12
  • org.scala-lang:scala-reflect:2.11.12
  • org.slf4j:slf4j-api:1.7.25
  • org.toktok:macros_2.11:0.1.1
  • org.toktok:tox4j-api_2.11:0.1.4
  • org.toktok:tox4j-c_2.11:0.1.4
  • org.typelevel:macro-compat_2.11:1.1.1

Dependencies: test

For testing, the following additional dependencies are required:

  • com.fasterxml.jackson.core:jackson-annotations:2.5.2
  • com.fasterxml.jackson.core:jackson-core:2.5.2
  • com.fasterxml.jackson.core:jackson-databind:2.5.2
  • com.fasterxml.jackson.module:jackson-module-scala_2.11:2.5.2
  • com.github.wookietreiber:scala-chart_2.11:0.4.2
  • com.storm-enroute:scalameter-core_2.11:0.7
  • com.storm-enroute:scalameter_2.11:0.7
  • com.thoughtworks.paranamer:paranamer:2.6
  • jline:jline:2.14.2
  • junit:junit:4.12
  • log4j:log4j:1.2.17
  • org.apache.commons:commons-lang3:3.4
  • org.apache.commons:commons-math3:3.2
  • org.hamcrest:hamcrest-core:1.3
  • org.jfree:jcommon:1.0.21
  • org.jfree:jfreechart:1.0.17
  • org.ow2.asm:asm:5.0.4
  • org.scala-lang.modules:scala-swing_2.11:1.0.1
  • org.scala-sbt:test-interface:1.0
  • org.scala-tools.testing:test-interface:0.5
  • org.scalacheck:scalacheck_2.11:1.13.4
  • org.scalactic:scalactic_2.11:3.0.1
  • org.scalatest:scalatest_2.11:3.0.1
  • org.scalaz:scalaz-concurrent_2.11:7.2.8
  • org.scalaz:scalaz-core_2.11:7.2.8
  • org.scalaz:scalaz-effect_2.11:7.2.8
  • org.slf4j:slf4j-log4j12:1.7.22
  • xml-apis:xml-apis:1.3.04

C/C++ dependencies

Native code

  • Toxcore
  • Toxav
    • We require the latest git version of these libraries, so you will need to build them yourself.
  • CMake (>= 2.8.7)
    • Debian/Ubuntu: cmake
  • protobuf 3.0.0
    • Debian/Ubuntu: You need to build this from source.
  • Clang 3.5 or newer (older versions of clang segfault. G++ support is untested, the build script enforces clang-3.5 for now. If you do not have clang 3.5 installed, your build may fail.)
    • Debian/Ubuntu: clang-3.5

Building

  • Build and install toxcore and toxav.
  • Run the sbt console with sbt.

Now you can use compile to build, test to run unit tests (these are a lot of tests with high timeouts, might take 10 minutes or longer), and package to create a jar and the native library.

Developing on Mac OS X

Getting the required tools for development on OS X is very easy. If you have XCode installed, you will already be able to compile the C++ part of tox4j,

Importing in IDEA

To import the project in IDEA, launch IDEA and:

  • On the "Welcome to IntelliJ IDEA" screen, select "Import Project".
  • Select the directory jvm-toxcore-c (this git repository).
  • Press "OK".
  • Select "Import project from external model".
  • Select "SBT".
  • Press "Next".
  • Select "Use auto-import", "Download sources and docs", and "Download SBT sources and docs".
  • Create and select a JDK if you don't have one, yet.
  • Press "Finish".

Now you need to wait while IDEA builds the project info from the SBT project. When it is done, it shows a list of modules, all are selected. Leave them selected and press "OK". After IDEA opens, it will say "Unregistered VCS root detected". Press "Add root" so you can use git from IDEA. If you have the protobuf extension installed, you can register the proto files with that as well (another notification will show for that).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].