# Get the source
cd
test -f installed/tcl8.6.13-src.tar.gz && mv installed/tcl8.6.13-src.tar.gz .
test ! -f tcl8.6.13-src.tar.gz &&
wget http://prdownloads.sourceforge.net/tcl/tcl8.6.13-src.tar.gz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "tcl?.*.*" -exec rm -r {} \;
tar xzvf ~/tcl8.6.13-src.tar.gz
cd tcl8.6.13
test $UID = 0 && chown -R root:root .
# Read these:
# README.md
# unix/README
# Do everything in the unix sub-directory
cd unix
# If you want to build a multi-threaded tcl, add --enable-threads to the
# configure lines below
# If you would like man pages compressed, see --enable-man-compression=PROG
# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man \
--enable-man-symlinks --enable-64bit
# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --mandir=/usr/man --enable-man-symlinks
# Build it
make
# Test the build
make test
# Become root to install it
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg tcl
# Install it
make install
# Create symlinks
( cd /usr/bin
rm -f tclsh
ln -s tclsh8.6 tclsh )
( cd /usr/lib
rm -f libtcl.so
test -f libtcl8.6.so && ln -s libtcl8.6.so libtcl.so )
test -d /usr/lib64 &&
( cd /usr/lib64
rm -f libtcl.so
test -f libtcl8.6.so && ln -s libtcl8.6.so libtcl.so )
# Update /etc/ld.so.cache
ldconfig
# Become yourself again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/tcl?.*-src.tar.*
mv tcl8.6.13-src.tar.gz installed/
# If you ever want to uninstall Tcl, this should do it:
cd ~/src/tcl*.*.*
su
VER=`grep TCL_VERSION /usr/lib*/tclConfig.sh | awk -F"'" '{ print $2 }'`
test -d /usr/lib/tcl${VER} && rm -r /usr/lib/tcl${VER}/
rm -f /usr/bin/tclsh${VER} /usr/lib64/libtcl${VER}.so \
/usr/lib64/libtclstub${VER}.a /usr/lib64/tclConfig.sh \
/usr/lib64/tclooConfig.sh /usr/lib64/pkgconfig/tcl.pc
for file in doc/*.n; do rm -f /usr/man/mann/$(basename "$file"); done
unset VER
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "tcl?.*.*" -exec rm -r {} \;
rm -f ~/installed/tcl?.*-src.tar.*