forked from oomer/bellatui
185 lines
5.1 KiB
Markdown
185 lines
5.1 KiB
Markdown
# bellatui
|
|
|
|
Command line bella renderer with encrypted networking ,text user interface and file monitoring.
|
|
|
|
## Usage
|
|
|
|
commands: help, send, get, stat, render, stop
|
|
|
|
### Server
|
|
```
|
|
bellatui --server
|
|
BellaTUI server started ...
|
|
Awaiting new client ...
|
|
Client connected
|
|
```
|
|
|
|
### Client
|
|
```
|
|
bellatui --serverAddress:discord.beantip.ca
|
|
|
|
bellatui connecting to discord.beantip.ca ...
|
|
Connection to discord.beantip.ca successful
|
|
send orange-juice.bsz
|
|
Sending:orange-juice.bsz
|
|
Server Readiness: RDY
|
|
sending
|
|
.........................................................................
|
|
render
|
|
Server response: render started...type stat to get progress
|
|
stat
|
|
Server response: Saturn | Elapsed: 6s | Bench: 1704
|
|
stat
|
|
Server response: Saturn | Elapsed: 41s | Progress: 22.65%
|
|
```
|
|
|
|
# Build
|
|
```
|
|
workdir/
|
|
├── bella_engine_sdk/
|
|
├── libsodium/
|
|
├── libzmq/
|
|
├── cppzmq/
|
|
├── efsw/
|
|
├── bellatui/
|
|
├── cmake/ (macos)
|
|
├── pkg-config/ (macos)
|
|
|
|
```
|
|
|
|
## MacOS x64 and arm64
|
|
|
|
```
|
|
# Install xcode
|
|
xcode-select --install
|
|
|
|
mkdir workdir && cd workdir
|
|
mkdir cmake libsodium pkg-config libzmq cppzmq efsw bellatui
|
|
|
|
# Build cmake
|
|
cd cmake
|
|
git clone https://github.com/Kitware/CMake.git .
|
|
./configure
|
|
make -j$(sysctl -n hw.ncpu)
|
|
|
|
# Build libsodium
|
|
cd ../libsodium
|
|
curl -LO https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
|
|
tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
|
|
./configure
|
|
./configure --prefix=$(pwd)/install
|
|
make -j$(sysctl -n hw.ncpu)
|
|
install_name_tool -id @rpath/libsodium.26.dylib src/libsodium/.libs/libsodium.26.dylib
|
|
|
|
# Build pkg-config
|
|
cd ../pkg-config
|
|
curl -LO https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
|
|
tar xvf pkg-config-0.29.2.tar.gz --strip-components=1
|
|
LDFLAGS="-framework CoreFoundation -framework Carbon" CFLAGS="-Wno-int-conversion" CXXFLAGS="-Wno-int-conversion" ./configure --with-internal-glib
|
|
make -j$(sysctl -n hw.ncpu)
|
|
|
|
# Build libzmq
|
|
cd ../libzmq && git clone https://github.com/zeromq/libzmq .
|
|
../cmake/bin/cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=ON -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.dylib -DPKG_CONFIG_EXECUTABLE=../pkg-config/pkg-config
|
|
/Applications/CMake.app/Contents/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
|
|
|
# Build cppzmq
|
|
cd ../cppzmq && git clone https://github.com/zeromq/cppzmq .
|
|
../cmake/bin/cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.dylib -DZeroMQ_INCLUDE_DIR=../libzmq/include
|
|
../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
|
|
|
# Build efsw
|
|
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
|
|
../cmake/bin/cmake -B ./build
|
|
../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
|
|
|
# Get bella sdk
|
|
cd ..
|
|
curl -LO https://downloads.bellarender.com/bella_engine_sdk-25.3.0-macos.zip
|
|
tar -xvf bella_engine_sdk-25.3.0-macos.zip
|
|
|
|
# Get oom
|
|
git clone https://git.indoodle.com/oomer/oom.git
|
|
|
|
cd bellatui
|
|
git clone https://github.com/oomer/bellatui.git .
|
|
make all -j4
|
|
```
|
|
|
|
## Ubuntu Linux x64
|
|
```
|
|
sudo apt install -y build-essential cmake mesa-vulkan-drivers libgl1
|
|
mkdir workdir && cd workdir
|
|
mkdir libsodium libzmq cppzmq efsw bellatui
|
|
|
|
# Build libsodium
|
|
cd libsodium
|
|
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
|
|
tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
|
|
./configure
|
|
make -j$(nproc)
|
|
|
|
# Build libzmq
|
|
cd ../libzmq && git clone https://github.com/zeromq/libzmq .
|
|
cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.so
|
|
cmake --build ./build -j$(nproc)
|
|
|
|
# Build cppzmq
|
|
cd ../cppzmq && git clone https://github.com/zeromq/cppzmq .
|
|
cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.so -DZeroMQ_INCLUDE_DIR=../libzmq/include
|
|
cmake --build ./build -j$(nproc)
|
|
|
|
# Build efsw
|
|
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
|
|
cmake -B ./build
|
|
cmake --build ./build -j$(nproc)
|
|
|
|
# Get bella sdk
|
|
cd ..
|
|
wget https://downloads.bellarender.com/bella_engine_sdk-25.3.0-linux.tar.gz
|
|
tar -xvf bella_engine_sdk-25.3.0-linux.tar.gz
|
|
|
|
# Get oom
|
|
cd ..
|
|
git clone https://git.indoodle.com/oomer/oom.git
|
|
|
|
# Build bellatui
|
|
cd ../bellatui
|
|
git clone https://github.com/oomer/bellatui.git .
|
|
make all -j$(nproc)
|
|
```
|
|
|
|
[TODO]
|
|
Fix in Makefile
|
|
cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/
|
|
|
|
# Windows
|
|
https://aka.ms/vs/17/release/vs_BuildTools.exe
|
|
[ ] Desktop development with C++
|
|
|
|
Get bella_engine_sdk
|
|
|
|
#### x64 Developer console
|
|
```
|
|
git clone https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg
|
|
bootstrap-vcpkg.bat
|
|
vcpkg install zeromq[sodium]:x64-windows
|
|
vcpkg.exe install cppzmq:x64-windows
|
|
vcpkg integrate install
|
|
cd ..
|
|
git clone https://github.com/SpartanJ/efsw.git
|
|
mkdir -p efsw/build
|
|
cd efsw/build
|
|
cmake ..
|
|
msbuild efsw.sln /p:Configuration=Release /p:Platform=x64
|
|
cd ../..
|
|
git clone https://github.com/oomer/bellatui.git
|
|
|
|
msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143
|
|
```
|
|
|
|
|
|
|
|
|