DeveloperWiki:Ncurses Todo List
This page is to help me keep track of the ncurses rebuild so we can purge Arch of packages that link to libncurses.so.
- 1 FAQ
- 1.1 Are there really FAQs?
- 1.2 Why are you doing this?
- 1.3 Will this cause trouble building packages that look for the ncurses.so library?
- 1.4 Can help I test the new ncurses packages?
- 1.5 How do I access the rebuilt packages to help testing?
- 1.6 Are there x86_64 pacakges?
- 1.7 Some packages need libncurses.so
- 1.8 You broke stuff! Can I go back?
- 1.9 You sunk my battleship!
- 2 Rebuild List
- 3 Voting
Are there really FAQs?
Why are you doing this?
Once upon a time, it was thought 8-bits was enough to code characters and life was good for people using English locales. But along came people who speak different languages that require many more characters and 8-bits was no longer enough. Thus the ncurses package introduced a wide-character library that could handle both 8-bit and multi-byte characters.
Currently the Arch package is a mixture of both the short (ncurses) and wide (ncursew) libraries. Given the wide-character version does everything the short-character version does and more, it would be good to remove the short character one completely. This should also fix some localization/UTF8 bugs.
Will this cause trouble building packages that look for the ncurses.so library?
No. A fancy bit of packaging will trick these packages into linking against the wide-character version. The two libraries are code compatible so there should be no build trouble (currently, only the wide character headers are packaged anyway).
Can help I test the new ncurses packages?
Yes you can, provided
- You use the testing repo and are comfortable fixing problems
- You realize that although everything is working for me, this could stop some packages working, hopefully only until they are rebuilt.
- Look below for a list of packages I know need rebuilt. If you rely on one of them, then add a vote and wait for me to rebuild it.
How do I access the rebuilt packages to help testing?
This is currently unavailable
Add this to your pacman.conf above your uncommented [testing] repo entry
[ncursesw] Server = http://dev.archlinux.org/~allan/ncursesw/os/i686
Are there x86_64 pacakges?
Not yet. The previous ncurses PKGBUILD had extra configure flags in the x86_64 version compared to the i686 version to ensure backward compatibility with old packages. This seems a good time to remove that and so the x86_64 rebuild may be (slightly) more extensive.
Some packages need libncurses.so
Add them to the rebuild list below and I will update them soon. In the meantime you (should) know what to do...
You broke stuff! Can I go back?
I told you that could happen! Here is how to revert...
pacman -S pacman-contrib paclist ncurses | cut -f1 -d" " > ncursesw.list (remove ncursesw repo from pacman.conf) pacman -S ncurses pacman -S $(cat ncursesw.list)
You sunk my battleship!
See the list below with packages that need to be rebuilt and note that bc has not been rebuilt yet.
Packages required for bash to continue working with only ncursesw library. Note: this requires some bootstraping
ncurses readline (Fix man directory) bash
The rest of base and base-devel:
dialog gettext grub less (Not needed for i686) nano (Not needed for i686) procinfo procps psmisc texinfo util-linux-ng (Requires update and new patch to build. Fix man directory) vi (Requires gettext)'
Rebuild rest of [core]:
gpm heimdal initscrits (No rebuild needed. Only runtime dependancy) isdn4k-utils (Not needed for i686) links netkit-telnet (Not needed for i686)
Packages I use in [extra]:
aalib alsa-utils (Not needed for i686) aspell gdb (Fix man directory) gnuchess (Add arch array. Requires patch for gcc4) gnutls gstreamer-good-plugins (Requires aalib, gnutls, libxml2) jack-audio-connection-ket lame libcdio libxml2 lynx (Change md5sum for upstream -release5. Fix man directory) mplayer (Requires aalib, gnutls, jack-audio-connection-kit, lame, smbclient. Replace libungif with giflib) r (Not needed for i686) screen (Fix man directory) sqlite3 smbclient terminal (Requires vte) vte (Requires gnutls, libxml2) xorg-server xterm (Add license. Fix man directory)
Rest of [extra]:
gnome-terminal (Not needed for i686) mc (Not needed for i686) openupsmart (Not needed for i686) termcap-compat (Not needed for i686) zsh (Not needed for i686)
achessclock alpine archboot (Dependancies cannot be satisfied) blassic bs cdargs cmatrix cscope ddd duhdraw emacs (Replace libungif with giflib) enigma erlang ethstatus ettercap fortunelock giftcurs gnugo gphoto2 hexcurse hexedit htop iptraf irssi ispell joe kismet lexter libnjb moon-buggy (Remove empty /usr/com directory) mp3blaster mtr multitail naim ncftp ncmpc ne nethack (Add arch array) netkit-ftp netris nppangband pente php pinentry proftpd tcsh tin w3m xaos yabasic zile zsnes
Add a vote below this for a package you use that is broken by this and I will prioritize its rebuild