|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DOCKER=false |
|
MAYBE_SUDO="" |
|
|
|
GRAPHVIZ_REPO=https://gitlab.com/graphviz/graphviz.git |
|
GRAPHVIZ_LATEST_RELEASE=9.0.0 |
|
GRAPHVIZ_PY_REPO=https://github.com/xflr6/graphviz |
|
GRAPHVIZ_PY_LATEST_RELEASE=448d1a0 |
|
|
|
if [[ $* == *--docker* ]]; then |
|
echo "Docker installation" |
|
DOCKER=true |
|
else |
|
echo "Local installation" |
|
if [[ $(sudo -n -v 2) ]]; then |
|
MAYBE_SUDO="sudo" |
|
else |
|
echo "No sudo detected" |
|
fi |
|
fi |
|
|
|
{ |
|
$MAYBE_SUDO apt-get update |
|
$MAYBE_SUDO apt-get remove -y graphviz |
|
pip uninstall -y graphviz |
|
if [[ $DOCKER == false ]]; then |
|
$MAYBE_SUDO apt-get install -y libtool libltdl-dev automake autoconf bison flex tcl \ |
|
ghostscript libgd-dev fontconfig libcairo2-dev libpango1.0-dev libgts-dev |
|
fi |
|
git clone ${GRAPHVIZ_REPO} -b ${GRAPHVIZ_LATEST_RELEASE} && cd graphviz |
|
./autogen.sh && ./configure --disable-python --disable-perl |
|
$MAYBE_SUDO make -j && $MAYBE_SUDO make install |
|
cd .. && $MAYBE_SUDO rm -rf graphviz |
|
pip install -v "git+${GRAPHVIZ_PY_REPO}@${GRAPHVIZ_PY_LATEST_RELEASE}#egg=graphviz" |
|
} || { echo "graphviz installed with errors! Please check installation manually."; exit 1; } |
|
echo "graphviz (re-) installed successfully!" |
|
|