DeveloperWiki:Ncurses Todo List

From ArchWiki
Revision as of 06:55, 1 August 2008 by Allan (Talk | contribs) (New page: This page is to help me keep track of the ncurses rebuild so we can purge Arch of packages that link to libncurses.so. ==FAQ== ====Are there really FAQs?==== No ====Why are you doing th...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page is to help me keep track of the ncurses rebuild so we can purge Arch of packages that link to libncurses.so.

FAQ

Are there really FAQs?

No

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.

Rebuild List

Stage 1

Packages required for bash to continue working with only ncursesw library. Note: this requires some bootstraping

ncurses
readline  (Fix man directory)
bash

Stage 2

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)'

Stage 3

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)

Stage 4

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)

Stage 5

Rest of [extra]:

Done

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)

TODO

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

Voting

Add a vote below this for a package you use that is broken by this and I will prioritize its rebuild