1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00
profanity/install-all.sh

194 lines
4.3 KiB
Bash
Raw Normal View History

2014-02-25 10:47:45 -05:00
#!/bin/bash
set -o errtrace
2012-07-09 21:14:07 -04:00
STATUS=development
2014-02-25 10:47:45 -05:00
error_handler()
{
ERR_CODE=$?
echo "Error $ERR_CODE with command '$BASH_COMMAND' on line ${BASH_LINENO[0]}. Exiting."
exit $ERR_CODE
}
trap error_handler ERR
2012-09-08 12:28:33 -04:00
debian_prepare()
2012-07-21 19:49:19 -04:00
{
echo
echo Profanity installer ... updating apt repositories
echo
sudo apt-get update
echo
echo Profanity installer... installing dependencies
echo
sudo apt-get -y install git automake autoconf libssl-dev libexpat1-dev libncursesw5-dev libglib2.0-dev libnotify-dev libcurl3-dev libxss-dev libotr5-dev
2012-07-21 19:49:19 -04:00
}
2012-09-08 12:28:33 -04:00
fedora_prepare()
2012-07-21 19:49:19 -04:00
{
echo
echo Profanity installer... installing dependencies
echo
ARCH=`arch`
2014-02-25 10:36:19 -05:00
sudo yum -y install gcc git autoconf automake openssl-devel.$ARCH expat-devel.$ARCH ncurses-devel.$ARCH glib2-devel.$ARCH libnotify-devel.$ARCH libcurl-devel.$ARCH libXScrnSaver-devel.$ARCH libotr3-devel.$ARCH
2012-07-21 19:49:19 -04:00
}
opensuse_prepare()
{
echo
echo Profanity installer...installing dependencies
echo
sudo zypper -n in gcc git automake make autoconf libopenssl-devel expat libexpat-devel ncurses-devel glib2-devel libnotify-devel libcurl-devel libXScrnSaver-devel libotr-devel
}
2012-09-08 12:28:33 -04:00
cygwin_prepare()
{
echo
echo Profanity installer... installing dependencies
echo
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
#wget --no-check-certificate https://raw.github.com/boothj5/apt-cyg/master/apt-cyg
2013-08-11 12:00:06 -04:00
#wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
2012-09-08 12:28:33 -04:00
chmod +x apt-cyg
mv apt-cyg /usr/local/bin/
if [ -n "$CYG_MIRROR" ]; then
apt-cyg -m $CYG_MIRROR install git make gcc-core m4 automake autoconf pkg-config openssl-devel libexpat-devel zlib-devel libncursesw-devel libglib2.0-devel libcurl-devel libidn-devel libssh2-devel libkrb5-devel openldap-devel libgcrypt-devel
else
apt-cyg install git make gcc-core m4 automake autoconf pkg-config openssl-devel libexpat-devel zlib-devel libncursesw-devel libglib2.0-devel libcurl-devel libidn-devel libssh2-devel libkrb5-devel openldap-devel libgcrypt-devel
fi
2012-09-08 12:28:33 -04:00
}
2012-07-21 19:49:19 -04:00
install_lib_strophe()
{
echo
echo Profanity installer... installing libstrophe
echo
git clone git://github.com/strophe/libstrophe.git
2012-07-21 19:49:19 -04:00
cd libstrophe
git checkout 0.8.6
2012-07-21 19:49:19 -04:00
./bootstrap.sh
./configure
make
sudo make install
cd ..
}
install_profanity()
{
echo
echo Profanity installer... installing Profanity
echo
if [ "${STATUS}" = "development" ]; then
./bootstrap.sh
fi
2012-07-21 19:49:19 -04:00
./configure
make
sudo make install
}
2012-09-08 12:58:42 -04:00
cyg_install_lib_strophe()
{
echo
echo Profanity installer... installing libstrophe
echo
git clone git://github.com/strophe/libstrophe.git
2012-09-08 12:58:42 -04:00
cd libstrophe
git checkout 0.8.6
2012-09-08 12:58:42 -04:00
./bootstrap.sh
./bootstrap.sh # second call seems to fix problem on cygwin
./configure --prefix=/usr
2012-09-08 12:58:42 -04:00
make
make install
cd ..
}
cyg_install_profanity()
{
echo
echo Profanity installer... installing Profanity
echo
if [ "${STATUS}" = "development" ]; then
./bootstrap.sh
fi
2012-09-08 12:58:42 -04:00
./configure
make
make install
}
2012-07-21 19:49:19 -04:00
cleanup()
{
echo
echo Profanity installer... cleaning up
echo
echo Removing libstrophe repository...
rm -rf libstrophe
echo
echo Profanity installer... complete!
echo
echo Type \'profanity\' to run.
echo
}
while getopts m: opt
do
case "$opt" in
m) CYG_MIRROR=$OPTARG;;
esac
done
OS=`uname -s`
2012-07-21 19:49:19 -04:00
DIST=unknown
if [ "${OS}" = "Linux" ]; then
if [ -f /etc/fedora-release ]; then
DIST=fedora
2012-09-08 10:07:03 -04:00
elif [ -f /etc/debian_version ]; then
DIST=debian
elif [ -f /etc/os-release ]; then
DIST=opensuse
fi
2012-09-08 12:28:33 -04:00
else
echo $OS | grep -i cygwin
if [ "$?" -eq 0 ]; then
DIST=cygwin
fi
2012-07-21 19:49:19 -04:00
fi
case "$DIST" in
unknown) echo The install script will not work on this OS.
echo Try a manual install instead.
2012-07-21 19:49:19 -04:00
exit
;;
2012-09-08 12:28:33 -04:00
fedora) fedora_prepare
2012-09-08 12:58:42 -04:00
install_lib_strophe
install_profanity
2012-09-08 12:28:33 -04:00
;;
debian) debian_prepare
2012-09-08 12:58:42 -04:00
install_lib_strophe
install_profanity
2012-07-21 19:49:19 -04:00
;;
opensuse) opensuse_prepare
install_lib_strophe
install_profanity
;;
2012-09-08 12:28:33 -04:00
cygwin) cygwin_prepare
2012-09-08 12:58:42 -04:00
cyg_install_lib_strophe
cyg_install_profanity
2012-07-21 19:49:19 -04:00
;;
esac
cleanup