All Projects → TokTok → toktok-stack

TokTok / toktok-stack

Licence: other
A snapshot of the complete software stack (excluding some external libraries and programs)

Programming Languages

Starlark
911 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
c
50402 projects - #5 most used programming language
Dockerfile
14818 projects
perl
6916 projects

Labels

Projects that are alternatives of or similar to toktok-stack

paper-store
Cold store small files on paper as QR codes -- PGP keys, Bitcoin keys, Tox keys or any other small files in general.
Stars: ✭ 28 (+133.33%)
Mutual labels:  tox
sbt-bazel
Easily convert SBT projects to Bazel workspaces
Stars: ✭ 55 (+358.33%)
Mutual labels:  bazel
isotoxin
Isotoxin source
Stars: ✭ 69 (+475%)
Mutual labels:  tox
rules ruby
Ruby Rules for Bazel. It is, perhaps, production-ready. This project builds atop the work of Yugui, whose original rules can be found at https://github.com/yugui/rules_ruby. Please be aware there is an active fork of this project maintained by Coinbase at https://github.com/coinbase/rules_ruby.
Stars: ✭ 85 (+608.33%)
Mutual labels:  bazel
eclipse
Eclipse For Bazel (deprecated, see https://github.com/salesforce/bazel-eclipse instead)
Stars: ✭ 31 (+158.33%)
Mutual labels:  bazel
minitox
Minimal client for Tox
Stars: ✭ 65 (+441.67%)
Mutual labels:  tox
bazel-website
Website for Bazel, a fast, scalable, multi-language and extensible build system
Stars: ✭ 16 (+33.33%)
Mutual labels:  bazel
vim-ft-bzl
No description or website provided.
Stars: ✭ 26 (+116.67%)
Mutual labels:  bazel
vim-bazel
Trigger bazel from vim and load errors into the quickfix list
Stars: ✭ 15 (+25%)
Mutual labels:  bazel
copr-build-bazel
copr build of bazel | https://copr.fedorainfracloud.org/coprs/vbatts/bazel/
Stars: ✭ 14 (+16.67%)
Mutual labels:  bazel
rules java
Java rules for Bazel
Stars: ✭ 44 (+266.67%)
Mutual labels:  bazel
ansible-blackbox-exporter
Blackbox prober exporter
Stars: ✭ 60 (+400%)
Mutual labels:  tox
vim-bazel
Vim support for Bazel
Stars: ✭ 118 (+883.33%)
Mutual labels:  bazel
Grazel
A tool to migrate Android projects from Gradle to Bazel incrementally and automatically
Stars: ✭ 222 (+1750%)
Mutual labels:  bazel
publishing-python-packages
Examples and exercises for Publishing Python Packages from Manning Books 🐍 📦 ⬆️
Stars: ✭ 25 (+108.33%)
Mutual labels:  tox
wollemi
No description or website provided.
Stars: ✭ 25 (+108.33%)
Mutual labels:  bazel
pytoxcore
Python binding for ToxCore
Stars: ✭ 37 (+208.33%)
Mutual labels:  tox
buildkube
Bazel Remote Cache + Remote Execution in Kubernetes
Stars: ✭ 60 (+400%)
Mutual labels:  bazel
AlphaZero-Renju
No description or website provided.
Stars: ✭ 17 (+41.67%)
Mutual labels:  bazel
stuff
All stuff in a single repo (tests, ideas, benchmarks)
Stars: ✭ 13 (+8.33%)
Mutual labels:  bazel

TokTok stack

Dev Containers

YouCompleteMe

See dev containers for details.

Downloading

To download the TokTok stack, use git:

git clone --recursive https://github.com/TokTok/toktok-stack

Configuring

You may pass a compiler config for additional compiler-specific warnings and optimisations. If you use Clang (default on OSX), pass --config=clang. If you use GCC, pass --config=gcc. On Windows, you don't need any compiler flag because we assume it's MSVC.

There are also --config=release and --config=debug and more. See .bazelrc in this repository for more config flags you can pass. If you're using the Docker build, then --config=asan, tsan, and msan are also available.

We recommend copying .bazelrc.local.example to .bazelrc.local and customising it according to the comments in that file.

Building

After installing prerequisites (instructions below), run the following command in the toktok-stack directory:

bazel build //...

Installing prerequisites

To build the stack, first you need to install some software. This guide assumes an installation of Debian GNU/Linux version 9 and that you are in the toktok-stack directory. There is partial support for Mac OS X and FreeBSD, but not all targets can be built on those systems.

Bazel

Install the latest version of Bazel, e.g.:

wget https://github.com/bazelbuild/bazel/releases/download/4.2.1/bazel_4.2.1-linux-x86_64.deb
sudo dpkg -i bazel_4.2.1-linux-x86_64.deb

On OSX:

brew install bazel

On FreeBSD:

sudo pkg install bazel

On Windows:

choco install bazel

Qt5

To build Qt-based binaries such as qtox, you need an installation of Qt development headers and libraries and tools.

sudo apt install qttools5-dev qttools5-dev-tools libqt5svg5-dev

On OSX:

brew install qt

On FreeBSD:

sudo pkg install qt5

On Windows:

choco install qt

If your Qt installation doesn't live in a standard location, make changes to the detector script in tools/workspace/qt.bzl and consider sending us a pull request. If your version of Qt is different, edit WORKSPACE and adjust it in the qt_repository declaration.

Extra development packages

Some libraries have not yet been imported into third_party, so must be installed on the system.

For //qtox:

sudo apt install libasound2-dev libxss-dev

For //toxic:

sudo apt install libxss-dev

On OSX (for both qtox and toxic):

brew install ncurses

On FreeBSD:

sudo pkg install ncurses

Note that toxic also needs Python 3. See the section on Python for how to install its development files.

Python

To build py-toxcore-c and other programs using Python FFI, you need Python development headers. py-toxcore-c and toxic both need Python 3. Any of 3.5, 3.6, or 3.7 works.

sudo apt install python3.5-dev

On FreeBSD:

sudo pkg install python3

Native javacpp libraries

Streambot needs native libraries that need to be downloaded from Maven.

wget https://repo1.maven.org/maven2/org/bytedeco/javacpp-presets/ffmpeg/3.4.1-1.4/ffmpeg-3.4.1-1.4-linux-x86_64.jar -O third_party/javacpp/ffmpeg/jar/ffmpeg-3.4.1-1.4-linux-x86_64.jar
wget https://repo1.maven.org/maven2/org/bytedeco/javacpp-presets/opencv/3.4.0-1.4/opencv-3.4.0-1.4-linux-x86_64.jar -O third_party/javacpp/opencv/jar/opencv-3.4.0-1.4-linux-x86_64.jar

Troubleshooting

Xcode version must be specified to use an Apple CROSSTOOL

Try running the following:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
bazel clean --expunge

See this GitHub comment or this stackoverflow answer for more details.

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].