Last active
October 13, 2021 00:11
-
-
Save rcmdnk/7956aaeee1db7edb206b to your computer and use it in GitHub Desktop.
This file contains 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
#!/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