122 lines
3.0 KiB
Bash
122 lines
3.0 KiB
Bash
|
#!/bin/sh
|
||
|
# -*- mode: sh; tab-width: 8; encoding: utf-8-unix -*-
|
||
|
|
||
|
prog=`basename $0 .bash`
|
||
|
PREFIX=/usr/local
|
||
|
[ -f /usr/local/etc/testforge/testforge.bash ] && \
|
||
|
. /usr/local/etc/testforge/testforge.bash
|
||
|
ROLE=toxcore
|
||
|
|
||
|
DESC=""
|
||
|
. $PREFIX/bin/usr_local_tput.bash || exit 1
|
||
|
|
||
|
PKG=toxcore
|
||
|
DIR=c-$PKG
|
||
|
GIT_HUB=github.com
|
||
|
GIT_USER=TokTok
|
||
|
GIT_DIR=$DIR
|
||
|
GIT_BRAN=master
|
||
|
VERS=2.18.0
|
||
|
|
||
|
cd $PREFIX/src || exit 2
|
||
|
WD=$PWD
|
||
|
|
||
|
if [ "$#" -eq 0 ] ; then
|
||
|
|
||
|
WD=$PWD
|
||
|
if [ ! -d "$DIR" ] ; then
|
||
|
if [ ! -d "$PREFIX/net/Git/$GIT_HUB/$GIT_USER/$GIT_DIR" ] ; then
|
||
|
[ -d "$PREFIX/net/Git/$GIT_HUB/$GIT_USER" ] || \
|
||
|
mkdir "$PREFIX/net/Git/$GIT_HUB/$GIT_USER"
|
||
|
ols_are_we_connected || { DEBUG not connected ; exit 0 ; }
|
||
|
cd "$PREFIX/net/Git/$GIT_HUB/$GIT_USER"
|
||
|
git clone -b $GIT_BRAN --depth=1 https://$GIT_HUB/$GIT_USER/$GIT_DIR || exit 4
|
||
|
git clone --depth=1 https://$GIT_HUB/$GIT_USER/dockerfiles
|
||
|
cd $WD
|
||
|
# wget -xcP ../net/Http/ https://github.com/TokTok/c-toxcore/releases/download/v0.2.18/c-toxcore-0.2.18.tar.gz
|
||
|
fi
|
||
|
cp -rip "$PREFIX/net/Git/$GIT_HUB/$GIT_USER"/$GIT_DIR $DIR
|
||
|
fi
|
||
|
|
||
|
cd "$DIR" || exit 5
|
||
|
|
||
|
[ -f third_party/cmp/Makefile ] || git submodule update --init || exit 6
|
||
|
|
||
|
# ols_apply_testforge_patches
|
||
|
# # [ -f CMakeLists.txt.dst ] || patch -b -z.dst < toxcore.diff || exit 7
|
||
|
|
||
|
[ -f cmake.sh ] || cat > cmake.sh << EOF
|
||
|
#!/bin/sh
|
||
|
# -*- mode: sh; fill-column: 75; tab-width: 8; coding: utf-8-unix -*-
|
||
|
|
||
|
PREFIX=$PREFIX
|
||
|
ROLE=$ROLE
|
||
|
|
||
|
CORE=$PREFIX/src/c-toxcore
|
||
|
DIR=_build
|
||
|
LIB=\$CORE/\$DIR
|
||
|
|
||
|
cd \$CORE | exit 3
|
||
|
|
||
|
mkdir _build
|
||
|
cd _build
|
||
|
cmake \
|
||
|
-DCMAKE_BUILD_TYPE="Debug" \
|
||
|
-DCMAKE_UNITY_BUILD=ON \
|
||
|
-DMIN_LOGGER_LEVEL=TRACE \
|
||
|
-DMUST_BUILD_TOXAV=ON \
|
||
|
-DNON_HERMETIC_TESTS=ON \
|
||
|
-DSTRICT_ABI=ON \
|
||
|
-DTEST_TIMEOUT_SECONDS=120 \
|
||
|
-DUSE_IPV6=OFF \
|
||
|
-DAUTOTEST=ON \
|
||
|
-DBUILD_MISC_TESTS=ON \
|
||
|
-DBUILD_FUN_UTILS=ON \
|
||
|
-DBOOTSTRAP_DAEMON=ON \
|
||
|
.. > cmake.log 2>&1
|
||
|
#sed -e 's/-DNDEBUG/-g/' -i CMakeCache.txt
|
||
|
make .. > make.log 2>&1
|
||
|
|
||
|
ls \$LIB/*so* || { echo ERROR \$LIB ; exit 2 ; }
|
||
|
|
||
|
EOF
|
||
|
bash cmake.sh || {
|
||
|
retval=$?
|
||
|
ERROR cmake $retval
|
||
|
exit 3$retval
|
||
|
}
|
||
|
cd _build
|
||
|
make >> make.log 2>&1 || {
|
||
|
retval=$?
|
||
|
ERROR cmake $retval
|
||
|
exit 3$retval
|
||
|
}
|
||
|
|
||
|
cp -p other/bootstrap_daemon/tox-bootstrapd $PREFIX/bin
|
||
|
cp -p other/bootstrap_daemon/tox-bootstrapd.sh $PREFIX/etc/init.d/tox-bootstrapd
|
||
|
# ln -s $PREFIX/etc/init.d/tox-bootstrapd /etc/init.d
|
||
|
exit 0
|
||
|
|
||
|
elif [ $1 = 'check' ] ; then # 1*
|
||
|
# ols_test_bins && exit 0 || exit $?
|
||
|
|
||
|
[ ! -d $DIR/_build ] && WARN not built yet $DIR && exit 11
|
||
|
[ -f $DIR/_build/libtoxcore.so.${VERS} ] && WARN not compiled yet $DIR && exit 12
|
||
|
ldd $DIR/_build/libtoxcore.so.${VERS} | grep found && ERROR ldd fails $DIR && exit 13
|
||
|
exit 0
|
||
|
|
||
|
elif [ "$1" = 'test' ] ; then # 3*
|
||
|
cd $PREFIX/src/$DIR/_build || exit 30
|
||
|
ctest || exit 31
|
||
|
|
||
|
elif [ "$1" = 'refresh' ] ; then # 6*
|
||
|
|
||
|
cd $PREFIX/src/$DIR || exit 60
|
||
|
/usr/local/sbin/base_diff_from_dst.bash $ROLE || exit 6$?
|
||
|
|
||
|
elif [ "$1" = 'update' ] ; then # 7*
|
||
|
ols_are_we_connected || exit 0
|
||
|
cd $PREFIX/src/$DIR || exit 70
|
||
|
git pull || exit 7$?
|
||
|
fi
|