10.32. Bibliothèques Ncurses-5.9 N32

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

10.32.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 ${BUILDN32}" CXX="g++ ${BUILDN32}" \
   ./configure --prefix=/usr --libdir=/lib32 \
   --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 emballé par le multiarch wrapper :

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

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

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

Créez les liens symboliques dans /usr/lib32 :

rm -v /lib32/lib{ncursesw,menuw,panelw,formw}.so
ln -svf ../../lib32/libncursesw.so.5 /usr/lib32/libncursesw.so
ln -svf ../../lib32/libmenuw.so.5 /usr/lib32/libmenuw.so
ln -svf ../../lib32/libpanelw.so.5 /usr/lib32/libpanelw.so
ln -svf ../../lib32/libformw.so.5 /usr/lib32/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/lib32/lib${lib}.so
        ln -sfv lib${lib}w.a /usr/lib32/lib${lib}.a
done
ln -sfv libcurses.so /usr/lib32/libcursesw.so
ln -sfv libncurses.so /usr/lib32/libcurses.so
ln -sfv libncursesw.a /usr/lib32/libcursesw.a
ln -sfv libncurses.a /usr/lib32/libcurses.a
ln -sfv libncurses++w.a /usr/lib32/libncurses++.a
ln -sfv ncurses5w-config-32 /usr/bin/ncurses5-config-32

Puis nous créerons un lien vers /usr/share/terminfo dans /usr/lib32 pour préserver la compatibilité :

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

Les détails sur ce paquet sont disponibles dans Section 10.33.2, “Contenu de Ncurses.”