10.24. Bibliothèques Ncurses-5.9 32 bits

Le paquet Ncurses contient les bibliothèques de gestion des écrans type caractère, indépendant des terminaux.

10.24.1. Installation de Ncurses

Le correctif suivant incorpore les mises à jour de la branche 5.9 issue des développeurs de Ncurses :

patch -Np1 -i ../ncurses-5.9-branch_update-4.patch

Préparez la compilation de Ncurses :

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
   ./configure --prefix=/usr --libdir=/lib \
   --with-shared --without-debug --enable-widec \
   --with-manpage-format=normal \
   --with-default-terminfo-dir=/usr/share/terminfo

Compilez le paquet :

make

Ce paquet a une suite de tests qu'on peut lancer après avoir installé le paquet. Les tests se trouvent dans le répertoire test/. Voir le fichier README de ce répertoire pour les détails.

Installez le paquet :

make install

Préparez ncursesw5-config à être enballé par le multiarch wrapper :

mv -v /usr/bin/ncursesw5-config{,-32}

Déplacez les bibliothèques statiques de Ncurses au bon endroit :

mv -v /lib/lib{panelw,menuw,formw,ncursesw,ncurses++w}.a /usr/lib

Créez des liens symboliques dans /usr/lib:

rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so
ln -svf ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so
ln -svf ../../lib/libmenuw.so.5 /usr/lib/libmenuw.so
ln -svf ../../lib/libpanelw.so.5 /usr/lib/libpanelw.so
ln -svf ../../lib/libformw.so.5 /usr/lib/libformw.so

Maintenant, nous allons rendre notre Ncurses compatible pour que les vieux programmes non compatibles avec widec se construisent correctement :

for lib in curses ncurses form panel menu ; do
        echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
        ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a
done
ln -sfv libcurses.so /usr/lib/libcursesw.so
ln -sfv libncurses.so /usr/lib/libcurses.so
ln -sfv libncursesw.a /usr/lib/libcursesw.a
ln -sfv libncurses.a /usr/lib/libcurses.a
ln -sfv libncurses++w.a /usr/lib/libncurses++.a
ln -sfv ncursesw5-config-32 /usr/bin/ncurses5-config-32

Maintenant, nous allons créer un lien symbolique pour /usr/share/terminfo dans /usr/lib pour des questions de compatibilité :

ln -sfv ../share/terminfo /usr/lib/terminfo

Les détails sur ce paquet sont disponibles dans Section 10.25.2, « Contenu de Ncurses. »