mirror of
https://github.com/ComradCollective/Comrad
synced 2024-11-16 00:12:48 +00:00
280 lines
4.5 KiB
Bash
280 lines
4.5 KiB
Bash
#!/bin/bash
|
|
|
|
|
|
# install pyenv?
|
|
|
|
echo "
|
|
### ## # # ### ## ###
|
|
# # # #### # # # # # #
|
|
# # # #### ### # # # #
|
|
# # # # # # # #### # #
|
|
### ## # # # # # # ###
|
|
|
|
|
|
installing...
|
|
|
|
"
|
|
|
|
|
|
###
|
|
# Create paths
|
|
######
|
|
|
|
|
|
echo '
|
|
1) setting up folders...
|
|
|
|
'
|
|
# install dir?
|
|
echo "Where should comrad live on your device?"
|
|
path_comrad_default="`realpath ~/comrad`"
|
|
|
|
if [ "$1" = "-n" ]
|
|
then
|
|
read -p "[$path_comrad_default] " path_comrad
|
|
else
|
|
path_comrad=$path_comrad_default
|
|
fi
|
|
|
|
|
|
if [ -z "$path_comrad" ]
|
|
then
|
|
path_comrad=$path_comrad_default
|
|
fi
|
|
|
|
if [ ! -d "$path_comrad" ]
|
|
then
|
|
mkdir -p $path_comrad
|
|
echo "created $path_comrad"
|
|
fi
|
|
|
|
path_lib="$path_comrad/lib"
|
|
if [ ! -d "$path_lib" ]
|
|
then
|
|
mkdir -p $path_lib
|
|
echo "created $path_lib"
|
|
fi
|
|
|
|
|
|
path_repo="$path_comrad/code"
|
|
path_bin="$path_repo/bin"
|
|
|
|
|
|
|
|
|
|
echo '
|
|
2) configuring OS environment...
|
|
|
|
'
|
|
|
|
|
|
|
|
####
|
|
# Package manager setups
|
|
#
|
|
pacman -S --needed curl wget unzip gcc make openssl-devel git libcrypt-devel python3 python3-pip mingw-w64-x86_64-python3-pandas python-devel mingw-w64-x86_64-python3-numpy mingw-w64-x86_64-python3-pep517 mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-python3-pillow mingw-w64-x86_64-zbar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Downloading via git!
|
|
|
|
echo '
|
|
|
|
2) downloading Comrad...
|
|
|
|
'
|
|
# if exists, pull
|
|
if [ -d "$path_repo" ]
|
|
then
|
|
cd $path_repo
|
|
git pull
|
|
else
|
|
cd $path_comrad
|
|
git clone https://github.com/ComradOrg/Comrad.git
|
|
mv Comrad code
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
############################################################
|
|
|
|
|
|
echo '
|
|
|
|
5) creating virtual environment...
|
|
|
|
'
|
|
path_venv="$path_repo/venv"
|
|
echo "Now using python (t1): `which python`"
|
|
python -m pip install -U setuptools pip wheel
|
|
|
|
# python -m pip install virtualenv
|
|
|
|
python -m venv "$path_venv"
|
|
source "$path_venv/bin/activate"
|
|
|
|
echo "Now using python (t2): `which python`"
|
|
python -m pip install -U setuptools pip wheel
|
|
|
|
|
|
|
|
|
|
###########################################################
|
|
|
|
echo '
|
|
|
|
Install python requirements
|
|
|
|
'
|
|
|
|
cd $path_repo
|
|
python -m pip install --prefer-binary -r requirements.txt
|
|
|
|
|
|
|
|
|
|
|
|
exit 1
|
|
#############################################################
|
|
|
|
# echo '
|
|
# Installing other requirements
|
|
|
|
# Rlite, hardware based redis database
|
|
|
|
# '
|
|
|
|
# cd $path_lib
|
|
# git clone https://github.com/seppo0010/rlite.git
|
|
# cd rlite
|
|
# make
|
|
# make all
|
|
|
|
|
|
|
|
# exit 1
|
|
|
|
|
|
|
|
#########################################################################
|
|
|
|
if [ "$machine" = "Mac" ]
|
|
then
|
|
echo "Installing Mac native GUI bridge"
|
|
python -m pip install git+https://github.com/kivy/pyobjus
|
|
fi
|
|
|
|
|
|
#######################################
|
|
|
|
echo '
|
|
|
|
Themis, cryptography backend...
|
|
|
|
'
|
|
|
|
|
|
if [ "$machine" = "Mac" ]
|
|
then
|
|
echo 'installing themis with brew'
|
|
/usr/local/bin/brew tap cossacklabs/tap
|
|
/usr/local/bin/brew install libthemis
|
|
else
|
|
if [ ! -f "/usr/local/lib/libthemis.so" ]
|
|
then
|
|
if [ ! -f "/usr/lib/libthemis.so" ]
|
|
then
|
|
echo 'building themis'
|
|
cd "$path_lib"
|
|
# pwd
|
|
#git clone https://github.com/cossacklabs/themis.git
|
|
curl https://codeload.github.com/cossacklabs/themis/zip/master -o themis.zip
|
|
unzip -q -o themis.zip
|
|
#mv themis-master themis
|
|
cd themis-master
|
|
make
|
|
make install
|
|
# sudo make install
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo '
|
|
|
|
Completing...
|
|
|
|
'
|
|
|
|
commands_app="
|
|
source $path_conda/etc/profile.d/conda.sh\n
|
|
export PATH=\"$path_conda/bin:\$PATH\"\n
|
|
conda activate $path_venv\n
|
|
python -m pip install -r $path_repo/requirements.txt\n
|
|
python $path_repo/comrad/app/main.py\n
|
|
"
|
|
|
|
|
|
|
|
export PATH="$path_bin:$PATH"
|
|
bashline="export PATH=\"$path_bin:\$PATH\" # comrad installation"
|
|
bashfn="`realpath ~/.bashrc`"
|
|
|
|
# add to bashrc?
|
|
if grep -Fxq "$bashline" "$bashfn"
|
|
then
|
|
# code if found
|
|
echo "setting already in $bashfn: $bashline"
|
|
else
|
|
# code if not found
|
|
echo "$bashline" >> "$bashfn"
|
|
fi
|
|
|
|
|
|
echo -e "Now run Comrad with:
|
|
|
|
comrad-app [GUI interface -- alpha]
|
|
|
|
If that doesn't work, try running this series of comands:
|
|
|
|
$commands_app
|
|
|
|
"
|
|
|
|
|
|
if [ "$machine" = "Mac" ]
|
|
then
|
|
cd /Applications
|
|
unzip -q -o "$path_bin/Comrad.app.zip"
|
|
echo "You may run the app by looking for 'Comrad.app' in your /Applications folder."
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# run?
|
|
. $path_bin/comrad-app
|
|
|