1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ffsync_ynh.git synced 2024-09-03 18:26:38 +02:00
ffsync_ynh/scripts/_common.sh
2022-08-21 09:12:56 +02:00

60 lines
2.2 KiB
Bash

#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
# Note that we also need some specific pkg_dependencies for build with arm architectures
# dependencies used by the app
pkg_dependencies="pypy pypy-dev python3-virtualenv build-essential libssl-dev libffi-dev libmariadb-dev-compat"
#=================================================
# PERSONAL HELPERS
#=================================================
call_pip() {
ynh_exec_warn_less pip $@
}
install_sources() {
ynh_setup_source --dest_dir "$final_path"
# pip installation
python3 -m virtualenv --python=$(which pypy | head -n 1) "$final_path/local"
# Install manually pip v20.1 because the installed version from the system don't work any more with pyp v2.7
cp -r ../sources/pip_20.1/. $final_path/local/site-packages/pip
# Init virtualenv
set +o nounset
source "$final_path/local/bin/activate"
set -o nounset
pushd "$final_path"
call_pip install --upgrade 'pip<20.2'
call_pip install setuptools==44.1.1
call_pip install --upgrade pyramid_chameleon 'soupsieve<2.0'
CFLAGS="-Wno-error -Wno-error=format-security" \
ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" \
call_pip install --upgrade --requirement "$final_path/requirements.txt"
pypy "$final_path/setup.py" develop
test -e $final_path/local/lib_pypy/_sysconfigdata.py || ln -s /usr/lib/pypy/lib_pypy/_sysconfigdata.py $final_path/local/lib_pypy/_sysconfigdata.py
test -e $final_path/local/lib_pypy/cffi || ln -s /usr/lib/pypy/lib_pypy/cffi $final_path/local/lib_pypy/cffi
popd
# Add nice homepage
cp -r ../sources/page $final_path/syncserver/
(cd "$final_path/syncserver" && patch -p1 < $YNH_CWD/../sources/homepage.patch) || echo "Unable to apply patches"
}
set_permissions() {
chown $app -R $final_path
chmod u=rwX,g=rX,o= -R $final_path
}
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================