Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5036332666 | ||
|
2810b5740f | ||
|
aa6cb4359c |
|
@ -1,5 +1,31 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
_get_last_tag()
|
||||||
|
{
|
||||||
|
[[ $1 =~ ^[23.]\.[0-9]+\.[0-9]+$ ]] && echo $1 || \
|
||||||
|
curl -s https://www.python.org/ftp/python/ \
|
||||||
|
| grep -o ">[0-9.]\+/<" \
|
||||||
|
| sed "s/^>//;s|/<$||" \
|
||||||
|
| grep ^$1 \
|
||||||
|
| sort --version-sort \
|
||||||
|
| tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
_get_last_instable()
|
||||||
|
{
|
||||||
|
[[ $1 =~ ^[23.]\.[0-9]+\.0$ ]] && \
|
||||||
|
curl -s https://www.python.org/ftp/python/$1/ \
|
||||||
|
| grep -o "Python-[0-9]\.[0-9]\+\.0[a-z0-9]\+" \
|
||||||
|
| sort \
|
||||||
|
| uniq \
|
||||||
|
| sed "s/Python-[0-9.]*//;" \
|
||||||
|
| sort --version-sort \
|
||||||
|
| tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
compile-python()
|
compile-python()
|
||||||
{
|
{
|
||||||
# Inspired from the great https://gitlab.com/python-devs/ci-images/
|
# Inspired from the great https://gitlab.com/python-devs/ci-images/
|
||||||
|
@ -8,16 +34,18 @@ compile-python()
|
||||||
# Needs:
|
# Needs:
|
||||||
# sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
# sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
||||||
|
|
||||||
local PY_VERSION="$1"
|
local PY_VERSION=`_get_last_tag $1`
|
||||||
local BETA="$2"
|
local BETA=${2:-`_get_last_instable $PY_VERSION`}
|
||||||
local URL="https://www.python.org/ftp/python"
|
local URL="https://www.python.org/ftp/python"
|
||||||
(
|
(
|
||||||
cd /tmp || return 1
|
cd /tmp || return 1
|
||||||
|
[ -f $HOME/.local/bin/python${PY_VERSION}${BETA} ] || return 2
|
||||||
wget -qO- "$URL/$PY_VERSION/Python-$PY_VERSION$BETA.tgz" | tar -xzf - || (
|
wget -qO- "$URL/$PY_VERSION/Python-$PY_VERSION$BETA.tgz" | tar -xzf - || (
|
||||||
echo "Version not found, check on $URL."
|
echo "Version not found, check on $URL."
|
||||||
)
|
)
|
||||||
[ -d "Python-$PY_VERSION$BETA" ] && (cd "Python-$PY_VERSION$BETA"; ./configure --prefix="$HOME/.local/" && make -j "$(nproc)" && make altinstall) &&
|
[ -d "Python-$PY_VERSION$BETA" ] && (cd "Python-$PY_VERSION$BETA"; ./configure --prefix="$HOME/.local/" && make -j "$(nproc)" && make altinstall) &&
|
||||||
rm -r "Python-$PY_VERSION$BETA"
|
rm -r "Python-$PY_VERSION$BETA" &&
|
||||||
|
cp $HOME/.local/bin/python${PY_VERSION%.*} $HOME/.local/bin/python${PY_VERSION}${BETA}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user