Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Sun, 4 Feb 2001 16:34:33 -0500 Message-Id: <200102042134.f14LYXW14414@rtl.cygnus.com> From: "Charles S. Wilson" To: cygwin AT sources DOT redhat DOT com Subject: [ANNOUNCEMENT] Updated: ncurses-5.2-4 Reply-To: cygwin AT sources DOT redhat DOT com The ncurses package has been updated to ncurses-5.2-4. ncurses is a package that provides character and terminal handling libraries, including 'gui-like' panels and menus. It is often used instead of termcap. Unfortunately, this 'official announcement' is somewhat overdue. I uploaded ncurses as a test release and announced it on the cygwin list (*not* cygwin-announce) as such. However, because I goofed in writing the setup.hint file, the mirrors did *not* recognize it as a test release -- so many folks have been using it as an 'official' version for two weeks now. Sorry about that. Fortunately, it seems okay. So, for those of you on the cygwin-announce list, here's the official release announcement! CHANGES from ncurses-5.2-3 o header files are now installed into /usr/include/ncurses (although there are a few compatibility symlinks in /usr/include. Implication: since the ncurses termcap.h header is installed into /usr/include/ncurses, it is NOT renamed to "termcapn.h" as it was in ncurses-5.2-3 and previous. Note that configure scripts will look in /usr/include/ncurses for the ncurses headers automatically, so this change should not break well-written packages which depend on ncurses. o Therefore, if you want to use ncurses as a termcap *replacement* without using additional curses features -- that is, your source code #include's , NOT -- then you need to specify -I/usr/include/ncurses when compiling. This forces gcc to include the proper termcap.h file for ncurses. Also, remember to use -lncurses instead of -ltermcap when linking. (Of course, if you want to use ncurses and the terminfo database is all their glory, just #include and link to -lncurses as usual). o Some documentation updates in /usr/doc/ncurses-5.2.README o supports the '-DALL_STATIC' compile-time flag as a synonym for -DNCURSES_STATIC. This should help make it easier to compile statically a project with many dependencies. However, this is a long-term project: each 'dll-ized' library must be updated before '-DALL_STATIC' is useful. Don't hold your breath. So far, the following libraries support -DALL_STATIC: zlib-1.1.3-6 libpng-1.0.9-3 ncurses-5.2-4 o Now available in "cygwin/latest", not "cygwin/contrib" o While this is not really an ncurses update, it reflects on ncurses' operation: as of cygwin-1.1.7, there is a new CYGWIN setting: "CYGWIN=codepage:oem". If you use this setting, then the ACS (linedraw) characters provided by ncurses work properly within a DOS box with no other special steps. o see the note below titled "CONNECTING TO REMOTE SYSTEMS" o cygwin-1.1.7 and previous included a non-functional "/usr/include/unctrl.h". This package will overwrite that one with its own, functional version. cygwin-1.1.8 does not include that file, but you may run into problems during the cygwin upgrade -- setup might mistakenly uninstall unctrl.h. If it does, just (cd /usr/include; ln -s ncurses/unctrl.h unctrl.h). I recommend upgrading cygwin to 1.1.8 FIRST, and then re-run setup to upgrade ncurses to 5.2-4. Of course, that's a moot point since many of you probably already upgraded ncurses thanks to my mistake with the setup.hint file. INSTALLATION: To update your installation, click on the "Install Cygwin now" link on the http://sources.redhat.com/cygwin web page. This downloads setup.exe to your system. Run setup and answer all of the questions. PLEASE, PLEASE, PLEASE choose a mirror site for your download. The 'sources.redhat.com' site is badly overloaded. Try these mirrors: ftp://ftp.geekgadgets.org/pub/mirrors/cygwin/ (US) ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/ (Germany) ftp://ftp.ntua.gr/pub/pc/cygwin/ (Greece) The setup.exe program will figure out what needs to be updated on your system and should install the ncurses package automatically. If you want to make a point or ask a question the Cygwin mailing list is the appropriate place. *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO *** If you want to unsubscribe to the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format: cygwin-announce-unsubscribe-you=yourdomain DOT com AT sources DOT redhat DOT com NOTES: o Building the package from source requires gcc-2.95.2-7 and binutils-20001221-1 or later o A cygwin-specific README and two PATCHES are stored in the source archive, under /CYGWIN-PATCHES/* (although the first patch, ncurses-5.2-X.patch, has already been applied to the archive itself). The cygwin-specific README is also installed by the binary distribution as described above. o If you are building a package that depends on the ncurses library, and you wish to link *statically*, define -DNCURSES_STATIC (or -DALL_STATIC) to get the 'correct' #define's in ncurses.h &tc. when compiling the .o files in your package. Also, use 'gcc -static' when linking your package. o No special -Ddefine options or link options are needed when building a package that depends any of the ncurses libraries and you want to link dynamically (recommended). o resolved the known conflicts. Ncurses provides some files that conflict with the files included in other packages. Those conflicts were resolved as follows: clear package: /usr/bin/clear.exe resolution: 5.2-4 installs its clear.exe as clearn.exe termcap package: /usr/include/termcap.h resolution: ncurses-5.2-4 installs its termcap into /usr/include/ncurses/ cygwin package: /usr/include/unctrl.h resolution: ncurses overwrites the version included in older cygwins. However, as of cygwin-1.1.8 there is no conflict. --Chuck Wilson ------------------------------------------ *********** TERMINFO ENTRIES *********** ------------------------------------------ CYGWIN: ----changes relative to base ncurses-5.2 distribution---- o updated the cygwin terminfo entry -- basically Earnie's "original" version which appeared in 5.2-1, with some additional suggestions from Ehud Karni: http://www.cygwin.com/ml/cygwin/2000-11/msg01007.html point (2) only. point (1) in that message is a cygwin issue (and is probably a non-issue, according to JJ Farell): http://www.cygwin.com/ml/cygwin/2000-11/msg01097.html Comments concerning my test results with this terminfo entry appear below. o updated the rxvt terminfo entry with some changes from rxvt-2.6.3. o added rxvt-xpm, rxvt-color aliases for rxvt in the terminfo database o added rxvt-cygwin and rxvt-cygwin-native terminfo entries These entries combine mostly rxvt stuff with the ACSC stuff that Earnie worked out for Windows/DOS line graphics. Comments concerning my test results with these terminfo entries appear below. If you use TERM=rxvt-cygwin or TERM=rxvt-cygwin-native you'll also need to edit your /etc/termcap so that non-curses programs won't get confused (see below) --------- end terminfo changes log, begin commentary ------------- BASH in a DOS box: You must set TERM=cygwin, *not* linux (otherwise you get lots of garbage characters at the command prompt after running any ncurses program.) If you want ACS character to work, add 'codepage:oem' to your CYGWIN variable. RXVT-CYGWIN and RXVT-CYGWIN-NATIVE I tested these entries under the following configuration: 1) X-Win32 Xserver, rxvt-2.6.2 from cygutils, 'TERM=rxvt-cygwin' using the '-fn sabvga' font (which is available from http://cygutils.netpedia.net/unversioned/bashprompt/vgafonts.tar.gz. sabvga and the other fonts in that package provide the linedraw characters that most window fonts do not -- 'normal' windows fonts provide the accented characters used by most European languages) 2) Bubba's native rxvt-2.7.2 port (http://www.io.com/~bub/rxvt.html), 'TERM=rxvt-cygwin-native', using the Lucida ConsoleP font (-fn "Lucida ConsoleP-12" (which is available from http://cygutils.netpedia.net/unversioned/bashprompt/luconP.zip). LuconP is encoded as DOS codepage 437 by default -- this codepage includes the linedraw characters -- rather than ANSI or a different national font.) Note that if you intend to use "rxvt-cygwin" or "rxvt-cygwin-native" often, you should probably edit your /etc/termcap file; otherwise, non-curses programs (like the existing vim package) will get really confused. I appended duplicate copies of the existing 'rxvt' entry in /etc/termcap, and changed the names to these aliases. If you're not concerned about the linedraw characters, or use a non-codepage437 font, then 'TERM=rxvt' will work just fine in both X-Win32+cygutils-rxvt-2.6.2 and in bubba's native rxvt-2.7.2. BACK to CYGWIN: If you use bash in a dos box, none of the preceding applies to you. Keep 'TERM=cygwin' and you'll be fine. (You might want to add 'codepage:oem' to your CYGWIN var, as described above). CONNECTING TO REMOTE SYSTEMS: Using these customized TERM settings can sometimes mess things up when you telnet/ssh to a remote system that does not know about TERMinals like 'rxvt-cygwin' or 'cygwin'. There are a number of workarounds: 1) after connecting to the remote host, set your TERM variable to some least-common-denominator, like TERM=xterm. This works, but you won't be able to use the full capabilities of your actual console (be it a DOSbox==cygwin, or rxvt-cygwin, or rxvt-cygwin-native). One trick is to strip off the extra modifiers -- e.g. your .login on the remote system can test $TERM, and map "TERM=rxvt-cygwin-native" to "TERM=rxvt" (since 'rxvt' exists on every ncurses installation). 2) teach the remote system to understand these new TERM settings. However, this requires you to set TERMINFO at each login, to point to your local terminfo database with the new definitions. To teach the remote system, connect to it, and download the following file to the remote system: http://www.neuro.gatech.edu/users/cwilson/cygutils/cygwin.terminfo-5.2-4 That file contains an excerpt from the full terminfo.src in ncurses-5.2-4 While still on the remote system, do the following a) export TERMINFO=~/.terminfo (or 'setenv TERMINFO ~/.terminfo' for csh) b) tic cygwin.terminfo-5.2-4 c) change your login script on the remote machine to set TERMINFO to point to ~/.terminfo Now, this may cause problems if you happen to login to that remote machine *non-remotely* on occaision; you may need to copy some appropriate terminfo definitions from the main database on the remote machine to your personal version. The main database is usually somewhere like /usr/share/terminfo or /usr/local/lib/terminfo. If you want to avoid all that and just install a *full* terminfo database in your ~/.terminfo, use http://www.neuro.gatech.edu/users/cwilson/cygutils/terminfo.src-5.2-4 instead. (takes 1.5M on an NTFS file system, 650 files + 36 subdirectories) cygwin.terminfo-5.2-4 provides the following small set of terminal descriptions: ansi linux xterm, xterm-color rxvt, rxvt-color, rxvt-cygwin, rxvt-native, rxvt-xpm kvt (KDE terminal) gnome (GNOME terminal) cygwin, cygwinB19, cygwinDBG nxterm (Red Hat color xterm from 5.2) The following are dependencies of the preceeding. I doubt anybody would ever set TERM equal to one of these: ansi.sys, ansi.sys-old, ansi-m, pcansi-m color_xterm, cx, cx100 ecma+color klone+acs, klone+color, klone+sgr, klone+sgr-dumb rxvt-basic xterm-old, xterm-r6 ------------------------------------------ ********* TEST RESULTS, DLL's ********** ------------------------------------------ see ncurses-5.2-3 announcement: http://www.cygwin.com/ml/cygwin-announce/2000/msg00101.html ------------------------------------------------------ --Chuck -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple