61. ncurses

wget http://www.gnuwakes.org/depot/1.0/main/sources/ncurses-5.9.tar.gz

tar -xf ncurses-5.9.tar.gz

SOURCES_DIR=$PWD/ncurses-5.9
INSTALL_DIR=$PWD/ncurses-5.9-install
BUILD_DIR=$PWD/ncurses-5.9-build

mkdir $INSTALL_DIR $BUILD_DIR
cd $BUILD_DIR

$SOURCES_DIR/configure      \
    --prefix=/usr           \
    --mandir=/usr/share/man \
    --with-shared           \
    --without-debug         \
    --enable-pc-files       \
    --enable-widec &&       \
  make && make DESTDIR=$INSTALL_DIR install

# Move the shared libraries to the /lib directory,
# where they are expected to reside:
mkdir $INSTALL_DIR/lib
mv -v $INSTALL_DIR/usr/lib/libncursesw.so.5* $INSTALL_DIR/lib
ln -sfv ../../lib/$(readlink $INSTALL_DIR/usr/lib/libncursesw.so) \
  $INSTALL_DIR/usr/lib/libncursesw.so

# Many applications still expect the linker to be able to find
# non-wide-character Ncurses libraries. Do the trick.
for lib in ncurses form panel menu
do
  rm -vf                    $INSTALL_DIR/usr/lib/lib${lib}.so
  echo "INPUT(-l${lib}w)" > $INSTALL_DIR/usr/lib/lib${lib}.so
  ln -sfv lib${lib}w.a      $INSTALL_DIR/usr/lib/lib${lib}.a
  ln -sfv ${lib}w.pc        $INSTALL_DIR/usr/lib/pkgconfig/${lib}.pc
done
ln -sfv libncurses++w.a $INSTALL_DIR/usr/lib/libncurses++.a

# make sure that old applications that look for -lcurses
# at build time are still buildable:
rm -vf                     $INSTALL_DIR/usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" > $INSTALL_DIR/usr/lib/libcursesw.so
ln -sfv libncurses.so      $INSTALL_DIR/usr/lib/libcurses.so
ln -sfv libncursesw.a      $INSTALL_DIR/usr/lib/libcursesw.a
ln -sfv libncurses.a       $INSTALL_DIR/usr/lib/libcurses.a

# install the Ncurses documentation:
mkdir -pv $INSTALL_DIR/usr/share/doc/ncurses-5.9
cp -v -R ../sources/doc/* $INSTALL_DIR/usr/share/doc/ncurses-5.9