Last active
November 6, 2015 18:26
-
-
Save ysangkok/deb293e0530fdc7075ac to your computer and use it in GitHub Desktop.
building irssi and dependencies without root
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
INST=/home/janus/or1k-inst | |
RUNPREFIX=/home/user | |
mkdir $INST | |
CC=/opt/cross/or1k-linux-musl/bin/or1k-linux-musl-gcc | |
wget -O - ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz | tar zx | |
cd libffi-3.2.1 | |
./configure --prefix=$RUNPREFIX/libffi-build #--host=or1k-linux-musl CC=$CC | |
make -j2 | |
make install DESTDIR=$INST | |
cd .. | |
wget -O - "http://ftp.gnome.org/pub/gnome/sources/glib/2.43/glib-2.43.2.tar.xz" | tar Jx | |
cd glib-2.43.2 | |
PKG_CONFIG_PATH=$HOME/libffi-build/lib/pkgconfig ./configure --prefix=$HOME/glib-build | |
make -j2 | |
make install | |
cd .. | |
wget -O - http://install.perlbrew.pl | bash | |
source ~/perl5/perlbrew/etc/bashrc | |
perlbrew install --notest perl-5.21.7 | |
cd perl5/perlbrew/perls/perl-5.21.7/bin | |
ln -s perl5.21.7 perl | |
cd - | |
perlbrew use perl-5.21.7 | |
wget -O - "http://irssi.org/files/irssi-0.8.17.tar.bz2" | tar jx | |
cd irssi-0.8.17 | |
LD_LIBRARY_PATH=$HOME/glib-build/lib/ PKG_CONFIG_PATH=$HOME/glib-build/lib/pkgconfig ./configure --prefix=$HOME/irssi-build --enable-dane --enable-true-color --with-perl-staticlib | |
make -j2 | |
make install | |
cd .. | |
mkdir .irssi | |
cd .irssi | |
ln -s ../irssi-build/share/irssi/scripts . | |
cd .. | |
wget -O - http://downloads.sourceforge.net/project/scons/scons/2.3.4/scons-2.3.4.tar.gz | tar zx | |
cd scons-2.3.4 | |
python setup.py install --prefix=$HOME/scons-build | |
cd .. | |
#install GCRYPT using weechat guide (also gist) | |
wget -O - "https://otr.cypherpunks.ca/libotr-4.1.0.tar.gz" | tar zx | |
cd libotr-4.1.0 | |
PATH=$HOME/libgcrypt-build/bin:$PATH ./configure --prefix=$HOME/libotr-build | |
make | |
make install | |
cd .. | |
wget https://github.com/cryptodotis/irssi-otr/archive/master.zip | |
unzip master.zip | |
rm master.zip | |
mv irssi-otr-master irssi-otr | |
cd irssi-otr/src | |
cat > SConstruct <<END | |
import os, os.path | |
irssi_prefix = os.path.join( os.getenv("HOME") , "irssi-build" ) | |
libgcrypt_prefix = os.getenv("HOME")+"/libgcrypt-build" | |
libotr_prefix = os.getenv("HOME")+"/libotr-build" | |
libgcrypt_config = libgcrypt_prefix + "/bin/libgcrypt-config" | |
env = Environment( | |
CFLAGS=["-ggdb3", "-fPIC", "-I" + irssi_prefix + "/include/irssi", "-I" + irssi_prefix + "/include/irssi/src", "-I" + irssi_prefix + "/include/irssi/src/core"], | |
CPPDEFINES = {"VERSION": "\\\\\"1.0.1\\\\\""}, | |
STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME=1, | |
RPATH = [libgcrypt_prefix + "/lib", libotr_prefix + "/lib"] | |
) | |
env.ParseConfig("PKG_CONFIG_PATH=$HOME/glib-build/lib/pkgconfig pkg-config glib-2.0 --cflags --libs") | |
env.ParseConfig(libgcrypt_config + " --cflags --libs") | |
env.ParseConfig("PKG_CONFIG_PATH="+libotr_prefix+"/lib/pkgconfig pkg-config libotr --cflags --libs") | |
files = Glob("*.c") | |
objects = [env.Object(x) for x in files] | |
env.SharedLibrary("libotr.so", objects) | |
END | |
~/scons-build/bin/scons | |
mkdir -p ~/irssi-build/lib/irssi/modules | |
ln -s $PWD/libotr.so ~/irssi-build/lib/irssi/modules/ | |
cd ../.. | |
screen irssi-build/bin/irssi | |
/load otr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Unfortunately this script requires a number of newer libs and doesn't offer much of a workaround for when they're missing. Looks like without su access I'm out of luck.