#!/usr/bin/env bash

#
# Configure, build and install python
#
# Usage:
#
#  build-and-install-python.sh [-version 3.9.5]
# needed packages : libncurses5-dev libgdbm-dev libnss3-dev 
#   libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev

PYTHON_VERSION=3.9.5
while [ $# -gt 0 ]; do
  case "$1" in
    -version|-v)
      PYTHON_VERSION=$2
      shift
      ;;&
    *)
      echo "Usage: Usage: ${0##*/} [-version 3.9.5]"
      exit 1
      ;;
  esac
  shift
done

# Download
wget "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz"
tar xvf "Python-${PYTHON_VERSION}.tgz"
# Configure, build and install
cd "Python-${PYTHON_VERSION}" || exit 1
# Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION}
./configure --with-ensurepip=install
make -j"$(nproc) "
make install #altinstall

ln -s /usr/local/bin/python3 /usr/local/bin/python
ln -s /usr/local/bin/pip3 /usr/local/bin/pip

# Clean
cd ..
rm -rf "Python-${PYTHON_VERSION}"