52 lines
2 KiB
Bash
Executable file
52 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Update preflight libs (assumes a pyenv approach)
|
|
|
|
# Copyright (c) 2023, SIL International (https://www.sil.org)
|
|
# Released under the MIT License (https://opensource.org/licenses/MIT)
|
|
# maintained by Nicolas Spalinger
|
|
|
|
echo "Update preflight libs pyenv - version 2023-10-19"
|
|
|
|
# checking we have pyenv installed
|
|
if ! [ -x "$(command -v pyenv)" ]; then
|
|
echo 'Error: pyenv is not installed. Check the workflow doc for details. '
|
|
exit 0
|
|
fi
|
|
|
|
echo ""
|
|
echo "Active python version and location (via pyenv):"
|
|
pyenv version
|
|
which python3
|
|
echo ""
|
|
|
|
echo "Installing/Updating pip"
|
|
python3 -m pip install --upgrade pip setuptools wheel setuptools_scm
|
|
echo ""
|
|
|
|
echo "Populating/updating the preflight dependencies for the active pyenv interpreter"
|
|
|
|
# components in editable mode:
|
|
# (with source at the root of the user's home directory so that src/ folders don't appear anywhere else)
|
|
python3 -m pip install -e git+https://github.com/silnrsi/pysilfont.git#egg=silfont --src "$HOME"/src
|
|
|
|
# components from main/master directly from upstream git repositories
|
|
python3 -m pip install git+https://github.com/silnrsi/palaso-python.git git+https://github.com/googlefonts/GlyphsLib.git git+https://github.com/fonttools/ufoLib2.git git+https://github.com/fonttools/fonttools.git git+https://github.com/typemytype/glyphConstruction.git git+https://github.com/robotools/fontParts.git --use-pep517
|
|
|
|
# components from stable releases on pypi
|
|
python3 -m pip install fs mutatorMath defcon fontMath lxml
|
|
|
|
# reload the config file to rehash the path for either bash or zsh
|
|
if [ -n "$ZSH_VERSION" ]; then
|
|
SHELL_PROFILE="$HOME/.zshrc"
|
|
else
|
|
SHELL_PROFILE="$HOME/.bash_profile"
|
|
fi
|
|
if [ -n "$ZSH_VERSION" ]; then
|
|
. $SHELL_PROFILE
|
|
fi
|
|
|
|
# conditional to only run psfpreflightversion if the command is really available otherwise output a guidance message
|
|
if [ -n "$(command -v psfpreflightversion)" ]; then
|
|
psfpreflightversion
|
|
else echo "Open a new Terminal and type psfpreflightversion to check paths and versions of the preflight modules"
|
|
fi
|