slang - Screen management, keymap, terminal I/O, etc. language and library ChangeLog

HOWTO


# S-Lang
# ======
# Some of the programs that can use S-Lang are:
# lynx
# mc (Midnight Commander)
# mutt
# most
# libcaca

# Slackware 8.1 and 9.0's 'slang' packages include version 1.4.5, 9.1's,
# 10.0's, 10.1's, and 10.2's include 1.4.9  Slackware 11.0 and up have a
# 'slang1' package and a 'slang' package.
#
# Slackware 11.0: 1.4.9/2.0.6
# Slackware 12.0: 1.4.9/2.0.7

# I include the latest 1.4.x and 2.x versions below.  2.x is considered the
# current release.
#
# You can install both as long as you put the includes in seperate
# directories and know that libslang.so will point to whichever version you
# install last.

# If you have trouble downloading it from the URL below, you can get it
# here too:
# ftp://ftp.fu-berlin.de/pub/unix/misc/slang/
# ftp://ftp.ntua.gr/pub/lang/slang/slang/
# ftp://ftp.plig.org/pub/slang/


# S-Lang 1.4.9
# ============
cd
test -f installed/slang-1.4.9.tar.bz2 && mv installed/slang-1.4.9.tar.bz2 .
test ! -f slang-1.4.9.tar.bz2 &&
wget ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.bz2

# Verify tarball w/ md5sum:
# (this came from a tarball I downloaded April 10, 2003 and matches one I
# downloaded October 14, 2004, and one I downloaded April 8, 2008)
echo "4fbb1a7f1257e065ca830deefe13d350  slang-1.4.9.tar.bz2" | md5sum -c

mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "slang-1.*" -exec rm -r {} \;
tar xjvf ~/slang-1.4.9.tar.bz2
cd slang-1.4.9
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --includedir=/usr/include/slang1
make
make elf

# Become root to install it
su

# Remove the Slackware package and old shared library files
test -x /sbin/removepkg && /sbin/removepkg slang slang1
( cd /usr/lib
  rm -f libslang.a libslang.so libslang.so.1 libslang.so.1.* libslang1.* )

# Install it
make install
make install-elf
( cd /usr/lib ; ln -s libslang.so.1.4.9 libslang1.so )
ldconfig

# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/slang-1.*.tar.*
mv slang-1.4.9.tar.bz2 installed/


# S-Lang 2.1.3
# ============
# Prerequisites:
# libpcre (if you want the pcre module)
# onig (optional)
# libpng (if you want the png module)
# iconv
# readline (optional; if you pass --with-readline=gnu)

cd
test -f installed/slang-2.1.3.tar.bz2 && mv installed/slang-2.1.3.tar.bz2 .
test ! -f slang-2.1.3.tar.bz2 &&
wget ftp://space.mit.edu/pub/davis/slang/v2.1/slang-2.1.3.tar.bz2

# Verify tarball w/ md5sum:
# (this came from my gpg-verified tarball)
echo "0e4ae3aac75441eaa230bceb7811f088  slang-2.1.3.tar.bz2" | md5sum -c

# Verify tarball w/ sha1sum:
# (this also came from my gpg-verified tarball)
echo "31fc6162684f69d9dd0377372dfdc336f0c4343a  slang-2.1.3.tar.bz2" \
| sha1sum -c

mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "slang-2.*" -exec rm -r {} \;
tar xjvf ~/slang-2.1.3.tar.bz2
cd slang-2.1.3
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --includedir=/usr/include/slang
make

# A regular 'make' builds the shared library, run this to also build the
# static (.a) library
make static

# Become root to install it
su

# In Slackware >= 11.0 'slang' is S-Lang 2.x and 'slang1' is the 1.x version
# If you have an older version installed, you won't have a 'slang1' package
test -x /sbin/removepkg && /sbin/removepkg slang slang1

# Remove old library files, install it
( cd /usr/lib ; rm -f libslang.a libslang.so libslang.so.2 libslang.so.2.* )
make install
make install-static
ldconfig

# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .

# If you have apps that were linked against the 1.x version, and you don't
# also have that version installed, you can try this, but you may want to
# try re-building them against this version.  For more info, read
# doc/text/slang.txt
#
# If it turns out that you have an app that can't use S-Lang 2.x, uninstall
# this one (see below), then install 1.x again, then wait until that apps's
# author updates it for S-Lang 2.x
( cd /usr/lib ; ln -sf libslang.so.2 libslang.so.1 ; ldconfig )

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/slang-2.*.tar.*
mv slang-2.1.3.tar.bz2 installed/

# Skip down to the bottom for a note about elflibs and info about
# uninstalling S-Lang


# If you removed the /usr/lib/libslang.so.* file that's mentioned in the
# 'elflibs' package, run this remove references to that file:
su
FNAME=`find /var/adm/packages/*elflibs* -type f | head -1`
test -f "$FNAME" && grep -v "^usr/lib/libslang\.so\." $FNAME > $FNAME.new
test -s $FNAME.new &&
( mkdir -p -m 0700 ~/backup/packages
   mv -f $FNAME $FNAME.`date +%Y%m%d`
   mv $FNAME.`date +%Y%m%d` ~/backup/packages/
   mv -f $FNAME.new $FNAME )
unset FNAME
exit

# If you ever decide to uninstall S-Lang, try something like this:
su
rm -f /etc/slsh.rc /usr/bin/slsh /usr/man/man1/slsh.1
test -d /usr/include/slang && rm -r /usr/include/slang
test -d /usr/include/slang1 && rm -r /usr/include/slang1
(cd /usr/lib ; rm -f libslang.a libslang.so libslang.so.* )
test -d /usr/lib/slang && rm -r /usr/lib/slang
test -d /usr/share/doc/slang && rm -r /usr/share/doc/slang
test -d /usr/share/slsh && rm -r /usr/share/slsh
exit
find ~/src -maxdepth 1 -type d -name "slang-*" -exec rm -r {} \;
rm -f ~/installed/slang-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2008-04-08 6:49pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]