Skip to content

Instantly share code, notes, and snippets.

@rcmdnk
Last active October 13, 2021 00:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rcmdnk/7956aaeee1db7edb206b to your computer and use it in GitHub Desktop.
Save rcmdnk/7956aaeee1db7edb206b to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
#####################################################
# Install stow
#####################################################
p=stow
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
$v/bin/stow stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install m4
#####################################################
p=m4
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install autoconf
#####################################################
p=autoconf
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install curl
#####################################################
p=autoconf
targz=$(curl "http://curl.haxx.se/download/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://curl.haxx.se/download/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install expat
#####################################################
p=expat
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install git
#####################################################
p=git
cd ~/tmp
wget --no-check-certificate https://github.com/git/git/archive/master.zip
unzip master.zip
cd git-master
make configure
v=git-$(grep 'PACKAGE_VERSION=' configure|cut -d"'" -f2|sed s/.GIT//)
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make all
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
rm -rf ~/tmp/master.zip
#####################################################
# Install automake
#####################################################
p=automake
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install texinfo
#####################################################
p=texinfo
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install ncurses
#####################################################
p=ncurses
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install screen
#####################################################
p=screen
cd ~/tmp
git clone git://git.sv.gnu.org/screen.git
cd screen
wget --no-check-certificate https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch
wget --no-check-certificate https://gist.githubusercontent.com/rcmdnk/143cb56d31335dbccf70/raw/4b3e175946f2366b4076088c1c8f2bbe65b32e16/screen-utf8-osc.diff
patch -p1 < screen-utf8-nfd.patch >/dev/null
patch -p1 < screen-utf8-osc.diff >/dev/null
cd src/
v=screeen-$(grep Version ChangeLog |head -n1|cut -d' ' -f2)
./autogen.sh >/dev/null
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v --enable-colors256
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install readline
#####################################################
p=readline
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install bzip2
#####################################################
p=bzip2
v=$p-1.0.6
targz=$v.tar.gz
cd ~/tmp
wget --no-check-certificate http://www.bzip.org/1.0.6/$targz
tar xzf $targz
cd $v
make -f Makefile-libbz2_so
make install PREFIX=$HOME/usr/local/stow/$v
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install Python
#####################################################
p=Python
cd ~/tmp
targz=Python-2.7.8.tgz
wget --no-check-certificate http://www.python.org/ftp/python/2.7.9/$targz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tgz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install Mercurial
#####################################################
p=Mercurial
targz="tip.tar.gz"
cd ~/tmp
wget --no-check-certificate http://selenic.com/repo/hg/archive/$targz
tar xzf tip.tar.gz
cd Mercurial-*
v=Mercurial-$(tail -1 .hgtags|cut -d' ' -f2)
make build
python setup.py install --prefix=$HOME/usr/local/$v --force
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install termcap
#####################################################
p=termcap
targz=$(curl "http://ftp.gnu.org/gnu/$p/?C=M;O=A" 2>/dev/null|
grep ".tar.gz<"|grep "$p"|grep -v "\-doc\-"|tail -n1|
awk '{split($0, tmp, "</a>")}{n=split(tmp[1], tmp2, ">")}{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://ftp.gnu.org/gnu/$p/$tartz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
CFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
CPPFLAGS="-L$HOME/usr/local/lib -I$HOME/usr/local/include" \
LDFLAGS="-L$HOME/usr/local/lib" \
./configure --prefix=/$HOME/usr/local/stow/$v
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install lua
#####################################################
p=lua
targz=$(curl http://www.lua.org/ftp/ 2>/dev/null|
grep -v all|grep "tar.gz"|head -1|
awk '{split($0, tmp, "</A>")}{n=split(tmp[1], tmp2, ">")}
{print tmp2[n]}')
cd ~/tmp
wget --no-check-certificate http://www.lua.org/ftp/$targz
tar xzf $targz
v=`ls -d $p-*|grep -v 'tar.gz'`
cd $v
make linux MYLIBS=" -ltermcap" MYLDFLAGS=" -L$HOME/usr/local/lib" \
MYCFLAGS=" -I$HOME/usr/local/include"
make install INSTALL_TOP=$HOME/usr/local/stow/$v
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
#####################################################
# Install vim
#####################################################
p=vim
cd ~/tmp
hg clone https://vim.googlecode.com/hg/ vim
cd vim
v=vim-$(tail -n1 .hgtags|cut -d' ' -f2)
./configure LDFLAGS="-L$HOME/usr/local/lib/"
--prefix="$HOME/usr/local/stow/$v" --with-lua-prefix="$HOME/usr/local"
--with-local-dir="$HOME/usr/local" --enable-luainterp=yes
--enable-perlinterp=yes --enable-pythoninterp=yes
--enable-python3interp=yes --enable-rubyinterp=yes --enable-cscope
--enable-multibyte --enable-gui=no
make
make install
cd $HOME/usr/local/stow
stow $v
rm -rf ~/tmp/${v%%-*}*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment