summaryrefslogtreecommitdiff
path: root/devel/ncurses
AgeCommit message (Collapse)AuthorFilesLines
2009-07-13Add BUILDLINK_INCDIRS. Fixes tmux build and more correct in general.ahoka2-3/+4
2009-07-12Fix typos in comment.wiz1-2/+2
2009-07-12Install ncurses headers to include/ncurses. This fixes a bug, when havingahoka3-34/+48
/usr/pkg/include in the header search path shadows some of the system's curses headers (happens when building or developing curses application outside of the pkgsrc build system).
2009-07-07Make USE_NCURSES more specific. Allow selecting chgat as feature, sojoerg1-5/+11
that more packages can work without ncurses on NetBSD 5.99.14+.
2009-06-14Remove @dirrm entries from PLISTsjoerg1-45/+1
2009-03-20Simply and speed up buildlink3.mk files and processing.joerg1-14/+6
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
2008-11-16Add screen.{mlterm,rxvt} to the list of files that dont get installed on SunOSadrianp3-5/+8
PKGREVISION++
2008-11-05Update to 5.7:wiz5-29/+89
New features and improvements: * library o new flavor of the ncurses library provides rudimentary support for POSIX threads. Several functions are reentrant, but most require either a window-level or screen-level mutex. (This is API-compatible, but not ABI-compatible with the normal library). o add NCURSES_OPAQUE symbol to curses.h, will use to make structs opaque in selected configurations. o add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols to curses.h to make it simpler to tell if the extended functions and/or colors are declared. o add wresize to C++ binding o eliminate fixed-buffer vsprintf calls in C++ binding. o add several functions to C++ binding which wrap C functions that pass a WINDOW* parameter. o adapt mouse-handling code from menu library in form-library o improve tracing for form library, showing created forms, fields, etc. o make $NCURSES_NO_PADDING feature work for termcap interface . o add check to trace-file open, if the given name is a directory, add ".log" to the name and try again. o several new manpages: curs_legacy.3x, curs_memleaks.3x, curs_opaque.3x and curs_threads.3x * programs: o modified three test-programs to demonstrate the threading support in this version: ditto, rain, worm. o several new test-programs: demo_panels, dots_mvcur, inch_wide, inchs, key_name, key_names, savescreen, savescreen.sh test_arrays, test_get_wstr, test_getstr, test_instr, test_inwstr and test_opaque. o add adacurses-config to the Ada95 install. o modify tic -f option to format spaces as \s to prevent them from being lost when that is read back in unformatted strings. o The tack program is now distributed separately from ncurses. * terminal database o added entries: + Eterm-256color, Eterm-88color and rxvt-88color + aterm + konsole-256color + mrxvt + screen.mlterm + screen.rxvt + teraterm4.59 is now the primary primary teraterm entry, renamed original to teraterm2.3 + 9term terminal + Newbury Data entries o updated/improved entries: + gnome to version 2.22.3 + h19, z100 + konsole to version 1.6.6 + mlterm, mlterm+pcfkeys + xterm, and building-blocks for function-keys to xterm patch #230. Major bug fixes: * add logic to tic for cancelling strings in user-defined capabilities (this is needed for current konsole terminfo entry). * modify mk-1st.awk so the generated makefile rules for linking or installing shared libraries do not first remove the library, in case it is in use, e.g., libncurses.so by /bin/sh. * correct check for notimeout in wgetch. * fix a sign-extension bug in infocmp's repair_acsc function. * change winnstr to stop at the end of the line. * make Ada95 demo_panels example work. * fix for adding a non-spacing character at the beginning of a line. * fill in extended-color pair to make colors work for wide-characters using extended-colors. * improve refresh of window on top of multi-column characters, taking into account split characters on left/right window boundaries. * modify win_wchnstr to ensure that only a base cell is returned for each multi-column character. * improve waddch and winsch handling of EILSEQ from mbrtowc by using unctrl to display illegal bytes rather than trying to append further bytes to make up a valid sequence. * restore curs_set state after endwin/refresh * modify keyname to use "^X" form only if meta has been called, or if keyname is called without initializing curses, e.g., via initscr or newterm. * modify unctrl to check codes in 128-255 range versus isprint. If they are not printable, and locale was set, use a "M-" or "~" sequence. * improve resizeterm by moving ripped-off lines, and repainting the soft-keys. * modify form library to accept control characters such as newline in set_field_buffer, which is compatible with Solaris. * use NCURSES_MOUSE_MASK in definition of BUTTON_RELEASE, etc., to make those work properly with the --enable-ext-mouse configuration * correct some functions in Ada95 binding which were using return value from C where none was returned. * reviewed/fixed issues reported by Coverity and Klocwork tools. Portability: * configure script: o new options: --disable-big-strings control whether static string tables are generated as single large strings (to improve startup performance), or as array of individual strings. --disable-relink control whether shared libraries are relinked (during install) when rpath is enabled. --disable-tic-depends make explicit whether tic library depends on ncurses/ncursesw library. --enable-mixed-case override the configure script's check if the filesystem supports mixed-case filenames. This allows one to control how the terminal database maps to the filesystem. For filesystems that do not support mixed-case, the library uses generate 2-character (hexadecimal) codes for the lower-level of the filesystem terminfo database --enable-reentrant builds a different flavor of the ncurses library (ncursest) which improves reentrant use of the library by reducing global and static variables (see the "--with-pthread" option for the threaded support). --enable-weak-symbols use weak-symbols for linking to the POSIX thread library, and use the same soname for the ncurses shared library as the normal library (caveat: the ABI is for the threaded library, which makes global data accessed via functions). --with-pthread build with the POSIX thread library (tested with AIX, GNU/Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64). --with-ticlib build/install the tic-support functions in a separate library o improved options: --enable-ext-colors requires the wide-character configuration. --with-chtype ignore option value "unsigned" is always added to the type in curses.h; do the same for --with-mmask-t. --with-dmalloc build-fix for redefinition of strndup. --with-hashed-db + accepts a parameter which is the install-prefix of a given Berkeley Database. + the $LIBS environment variable overrides the search for the db library. --without-hashed-db assumed when "--disable-database" is used. * other configure/build issues: o build-fixes for LynxOS o modify shared-library rules to allow FreeBSD 3.x to use rpath. o build-fix for FreeBSD "contemporary" TTY interface. o build-fixes for AIX with libtool. o build-fixes for Darwin and libtool. o modify BeOS-specific ifdef's to build on Haiku. o corrected gcc options for building shared libraries on Solaris and IRIX64. o change shared-library configuration for OpenBSD, make rpath work. o build-fixes for using libutf8, e.g., on OpenBSD 3.7 o add "-e" option in ncurses/Makefile.in when generating source-files to force earlier exit if the build environment fails unexpectedly. o add support for shared libraries for QNX. o change delimiter in MKlib_gen.sh from '%' to '@', to avoid substitution by IBM xlc to '#' as part of its extensions to digraphs. * library: o rewrite wrapper for wcrtomb, making it work on Solaris. This is used in the form library to determine the length of the buffer needed by field_buffer. o add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding type for data manipulated by signal handlers. o set locale in misc/ncurses-config.in since it uses a range o disable GPM mouse support when $TERM does not happen to contain "linux", since Gpm_Open no longer limits its assertion to terminals that it might handle, e.g., within "screen" in xterm. o reset mouse file-descriptor when unloading GPM library. * test programs: o update test programs to build/work with various UNIX curses for comparisons.
2008-04-12Convert to use PLIST_VARS instead of manually passing "@comment "jlam2-19/+20
through PLIST_SUBST to the plist module.
2008-02-29Actually, BUILTIN_LIBNAME.ncurses can be empty, but fix the case wherejlam1-3/+3
we actually have libnurses in the base system.
2008-02-29+ Always ensure that BUILTIN_LIBNAME.ncurses is defined (this should havejlam1-2/+3
been the case before, but wasn't due to a missing default vaule. + Move the BUILDLINK_TRANSFORM remapping of -lncurses into the section which only applies if we're using the built-in ncurses, and map it to -l${BUILTIN_LIBNAME.ncurses}. This should fix the issue reported for Mac OS X where "-lncurses" was being mapped to nothing by the wrapper scripts.
2008-02-29Backout last change, it breaks the build under NetBSD.tron1-4/+2
2008-02-29Don't setup bogus remapping of the "ncurses" library if we don't needtron1-2/+4
to change the name. This fixes the build on platforms which provide "libncurses" (e.g. Mac OS X).
2008-02-27If FOO is empty, then ${FOO:S/^/-l/} has a value of "-l". This is notjlam1-2/+3
what we want. Instead, use another pattern to strip away lone "-l" in BUILDLINK_LDADD.*.
2008-02-27+ Define BUILTIN_LIBNAME.* unconditionally so that their values canjlam1-10/+9
always be used in other builtin.mk files. + In the USE_BUILTIN.* == "yes" case, set BUILDLINK_LIBNAME.* to the corresponding BUILTIN_LIBNAME.* value so that BUILDLINK_LIBNAME.* can always be used in other buildlink3.mk files.
2008-02-27Define BUILTIN_LIBNAME.* outside of the CHECK_BUILTIN.*-protectedjlam1-14/+20
section to be the name of the built-in library if USE_BUILTIN.* is "yes". These variables can be used in other builtin.mk files.
2008-02-27Protect against possibly empty BUILDLINK_LIBNAME.* variables whenjlam1-2/+2
defining BUILDLINK_LDADD.* by using a substitution instead of directly prepending "-l".
2008-02-27+ The termlib.buildlink3.mk file is meant to be included by packagesjlam2-10/+9
that need basic termlib functionality, i.e. tgetent(), tgoto(), tputs(), etc. Together with the termlib.builtin.mk file, they will use either a built-in termcap library, a built-in X/Open "enhanced" curses library, or ncurses to provide these functions. + Add BUILDLINK_LIBNAME.* definitions to the various curses buildlink3.mk and builtin.mk files that give the "base" library name of the curses library, e.g. curses, ncurses, etc. These are used by the termlib files to set BUILDLINK_LIBNAME.termlib.
2008-02-26Always make ncurses headers and libraries available as <curses.h> andjlam2-7/+4
-lcurses so that GNU configure scripts that check for those ahead of <ncurses.h> and -lncurses will still use ncurses instead of picking up a system curses. This was a regression introduced by my recent ncurses commits.
2008-02-26whitespacejlam1-2/+2
2008-02-26Add fake seed for ncurses.h with NetBSD's curses.obache1-1/+2
2008-02-25+ Introduce a way for a user to set the default curses implementationjlam2-17/+49
used by packages that need curses. From curses.buildlink3.mk: CURSES_DEFAULT This value represents the type of curses we wish to use on the system. Setting this to "curses" means that the system curses implementation is fine. Possible: curses, ncurses, pdcurses + Move all code to detect a built-in version of curses into a curses.builtin.mk file. + Add code to {n,pd}curses/buildlink3.mk so make the headers and libraries usable as <curses.h> and -lcurses if _PKG_USE_CURSES is defined. _PKG_USE_CURSES is only defined by curses.buildlink3.mk. + Improve the detection of native ncurses in ncurses/builtin.mk and allow headers and libraries to be usable as <ncurses.h> and -lncurses.
2007-12-22Fix build on DragonFly.joerg2-4/+13
2007-12-11Add a distribution patch (by Thomas Dickey) containing Coverity fixes.bjs3-4/+11
Bump revisions of both ncurses and ncursesw packages. fixes based on Coverity report: ------------------------------ - remove dead code in test/bs.c - remove dead code in test/demo_defkey.c - remove an unused assignment in progs/infocmp.c - fix a limit check in tack/ansi.c tools_charset() - fix tack/ansi.c tools_status() to perform the VT320/VT420 tests in request_cfss(). The function had exited too soon. - fix a memory leak in tic.c's make_namelist() - fix a couple of places in tack/output.c which did not check for EOF. - fix a loop-condition in test/bs.c - add index checks in lib_color.c for color palettes - add index checks in progs/dump_entry.c for version_filter() handling of V_BSD case. - fix a possible null-pointer dereference in copywin() - fix a possible null-pointer dereference in waddchnstr() - add a null-pointer check in _nc_expand_try() - add a null-pointer check in tic.c's make_namelist() - add a null-pointer check in _nc_expand_try() - add null-pointer checks in test/cardfile.c - fix a double-free in ncurses/tinfo/trim_sgr0.c - fix a double-free in ncurses/base/wresize.c - add try/catch block to c++/cursesmain.cc other fixes prompted by inspection for Coverity report: ------------------------------------------------------ - modify ifdef's for c++ binding to use try/catch/throw statements - add a null-pointer check in tack/ansi.c request_cfss() - fix a memory leak in ncurses/base/wresize.c - corrected check for valid memu/meml capabilities in progs/dump_entry.c when handling V_HPUX case.
2007-09-25Back out previous. Pointed out by uebayasi@ and martti@.hira1-3/+3
2007-09-25mv -> ${MV}.hira1-3/+3
2007-07-02On platforms that have neither a builtin groff nor builtin cursestnn1-1/+13
we can end up with a circular dependency: ncurses -> groff -> netpbm -> flex -> bison -> gtexinfo -> ncurses ncurses may depend on groff because of USE_TOOLS+=tbl. Break the circular dependency by using --without-manpage-tbl if there is no tbl(1) available and we're unable to build groff because of missing curses.
2007-02-06When TERMINFODIR does not exist, tic tries to write the terminforillig2-3/+6
database into ~/.terminfo, so make sure that directory exists.
2007-01-23Make sure ${TERMINFODIR}/s is removed; bump PKGREVISION.wiz2-2/+4
2007-01-17Repair this package on solaris after being broken by the last update.dmcmahill2-11/+22
Addresses PR/35387.
2007-01-17Renamed BUILDLINK_TRANSFORM.* to BUILDLINK_FNAME_TRANSFORM.*, to makerillig1-2/+2
clear that these variables are completely unrelated to BUILDLINK_TRANSFORM. Added a legacy check that catches appearances of BUILDLINK_TRANSFORM.*. XXX: Where should incompatible changes in pkgsrc be documented?
2007-01-11This package cannot handle parallel make(1).rillig1-1/+2
2007-01-08Changes 5.6:adam9-52/+84
Hashed-databases are supported for storing terminal descriptions. Support for magic-cookies such as hpterm was improved. Support for rpath in shared libraries was revised. Many bugfixes were made for memory leaks, wide-character support, portability, and more.
2006-11-05DESTDIR support.joerg2-3/+4
2006-10-13Add "ncursesw" package:tron2-43/+47
Wide character CRT screen handling and optimization package This package brings us one step closer to fixing PR pkg/34777.
2006-10-08Add patch addressing PR 33916, supplied by David Holland.wiz3-2/+19
Bump PKGREVISION.
2006-07-08Change the format of BUILDLINK_ORDER to contain depth information as well,jlam1-2/+2
and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
2006-07-08Track information in a new variable BUILDLINK_ORDER that informs usjlam1-1/+2
of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
2006-07-02Switched to the SUBST framework.rillig1-7/+11
2006-04-06Over 1200 files touched but no revisions bumped :)reed2-5/+5
RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
2006-04-04Export BUILDLINK_LDADD.ncurses, which is the flags to link directlyjlam1-1/+3
against the curses library used.
2006-03-30Avoid extra stat() calls by not repeatedly checking whether a filejlam1-3/+4
exists on the disk -- we can just check whether a variable defined by find-files.mk is "__nonexistent__" or not.
2006-03-14Drop maintainership for packages that I no longer have time to maintain.jlam1-2/+2
2005-12-17Change my MAINTAINER email address to the one I've been using forjlam1-2/+2
pkgsrc work.
2005-12-05Fixed pkglint warnings. The warnings are mostly quoting issues, forrillig1-2/+2
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some other changes are outlined in http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-10-20Update to 5.5. Solaris PLIST should be checked for correctness.wiz7-41/+42
This release is designed to be upward compatible from ncurses 5.0 through 5.4; very few applications will require recompilation, depending on the platform. These are the highlights from the change-log since ncurses 5.4 release. Interface changes: * terminfo installs "xterm-new" as "xterm" entry rather than "xterm-old" (aka xterm-r6). * terminfo data is installed using the tic -x option (few systems still use ncurses 4.2). * modify C++ binding to work with newer C++ compilers by providing initializers and using modern casts. Old-style header names are still used in this release to allow compiling with not-so-old compilers. * modify parameter type in c++ binding for insch() and mvwinsch() to be consistent with underlying ncurses library (was char, is chtype). * change NCursesWindow::err_handler() to a virtual function. * form and menu libraries now work with wide-character data. Applications which bypassed the form library and manipulated the FIELD.buf data directly will not work properly with libformw, since that no longer points to an array of char. The set_field_buffer() and field_buffer() functions translate to/from the actual field data. * add symbol to curses.h which can be used to suppress include of stdbool.h, e.g., #define NCURSES_ENABLE_STDBOOL_H 0 #include <curses.h> * change SP->_current_attr to a pointer, adjust ifdef's to ensure that libtinfo.so and libtinfow.so have the same ABI. The reason for this is that the corresponding data which belongs to the upper-level ncurses library has a different size in each model. * winnstr() now returns multibyte character strings for the wide-character configuration. * assume_default_colors() no longer requires that use_default_colors() be called first. * data_ahead() now works with wide-characters. * slk_set() and slk_wset() now accept and store multibyte or multicolumn characters. * start_color() now returns OK if colors have already been started. start_color() also returns ERR if it cannot allocate memory. * pair_content() now returns -1 for consistency with init_pair() if it corresponds to the default-color. * unctrl() now returns null if its parameter does not correspond to an unsigned char. New features and improvements: * library + environment variable NCURSES_NO_UTF8_ACS supports miscellaneous terminal emulators which ignore alternate character set escape sequences when in UTF-8 mode. + modify initialization of key lookup table so that if an extended capability (tic -x) string is defined, and its name begins with 'k', ncurses will automatically treat it as a key. + change GPM initialization, using dl library to load it dynamically at runtime. + form, menu and panel libraries support debug-tracing. * add NCURSES-Programming-HOWTO.html by Pradeep Padala (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). * programs: * infocmp: + The -i option now matches 8-bit controls against its table entries, e.g., so it can analyze the xterm-8bit entry. + add "-x" option to infocmp like tic's "-x", for use in "-F" comparisons. This modifies infocmp to only report extended capabilities if the -x option is given, making this more consistent with tic. Some scripts may break, since infocmp previous gave this information without an option. * tic: + modify termcap-parsing to retain 2-character aliases at the beginning of an entry if the "-x" option is used in tic. + filter out long extended names when translating to termcap format. Only two characters are permissible for termcap capability names. + correct translation of "%%" in terminfo format to termcap, e.g., using "tic -C". + modify the "-c -v" options to ignore delays when comparing strings. Also modify it to ignore a canceled sgr string, e.g., for terminals which cannot properly combine attributes in one control sequence. + add a check for improperly ended strings, i.e., where a following line begins in column 1. + add a check in tic for terminfo entries having an sgr0 but no sgr string. This confuses Tru64 and HPUX curses when combined with color, e.g., making them leave line-drawing characters in odd places. + add check (with debug configuration) that provides about the runtime changes that would be made to sgr0 for termcap applications. * tset: + add -c and -w options to allow user to suppress ncurses' resizing of the terminal emulator window in the special case where it is not able to detect the true size. Major bug fixes: * improve logic in tgetent() which adjusts the termcap "me" string to work with ISO-2022 string used in xterm-new. This is a feature that was incompletely implemented in ncurses 5.3. ncurses attempts to provide termcap clients with the portion of the sgr0 (termcap "me") string that does not reset line-drawing. * cells in the WINDOW which are continuations of a multicolumn character are encoded differently, making repainting more reliable. * amend change to setupterm() in ncurses 5.4 (20030405) which would reuse the value of cur_term if the same output was selected. This now reuses it only when setupterm() is called from tgetent(), which has no notion of separate SCREENs. Note that tgetent() must be called after initscr() or newterm() to use this feature. * make setcchar() now works when its wchar_t* parameter is pointing to a string which contains more data than can be converted. * win_wchnstr() now works for more than one cell. * resizeterm() now processes all levels of window hierarchy. * disable GPM mouse support when $TERM happens to be prefixed with "xterm". Gpm_Open() would otherwise assert that it can deal with mouse events in this case. * add SP->_screen_acs_map[], used to ensure that mapping of missing line-drawing characters is handled properly. For example, ACS_DARROW is absent from xterm-new, and it was coincidentally displayed the same as ACS_BTEE. Portability: * configure script: + new options: --enable-largefile set compiler and linker flags to use largefile support. --enable-ext-colors Allow encoding of 256 foreground and background colors, e.g., with the xterm-256color or xterm-88color terminfo entries. This requires ABI 6 because it changes the size of cchar_t. --enable-ext-mouse This defines NCURSES_MOUSE_VERSION 2, and modifies the encoding of mouse events to support wheel mice, which may transmit buttons 4 and 5. This works with xterm and similar terminal emulators. This requires ABI 6 because it changes the encoding of mouse events. --with-chtype overriding of the non-LP64 model's use of chtype --with-mmask-t overriding of the non-LP64 model's use of mmask_t --without-xterm-new Installs "xterm-old" as the "xterm" entry of the terminfo database. + The --with-termlib option now accepts a value which sets the name of the terminfo library. This would allow a packager to build libtinfow.so renamed to coincide with libtinfo.so + fixes/improvements for cross-compiling: o suppress $suffix in misc/run_tic.sh when cross-compiling. This allows cross-compiles to use the host's tic program to handle the "make install.data" step. o correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow cross-compiling from a separate directory tree. * library: + add ifdef's for _LP64 in curses.h to avoid using wasteful 64-bits for chtype and mmask_t, but add configure option --disable-lp64 in case anyone used that configuration. + modify C++ binding to use some C internal functions to make it compile properly on Solaris (and other platforms). + remove check in newwin() that prevents allocating windows that extend beyond the screen (Solaris does this). + check for nl_langinfo(CODESET), use it if available. This replaces ad hoc tests of environment variables to check if the terminal is setup for UTF-8 encoding. Applications which do not call setlocale() should be corrected, to make them work properly with UTF-8 encoding. In particular, applications which assume (and do not call setlocale()) that Latin-1 codes are printable will no longer work in a UTF-8 locale since the ad hoc check of environment variables to see if the locale was UTF-8 is not used when nl_langinfo(CODESET) is available. + use setlocale() to query the program's current locale rather than using getenv(). This supports applications which rely upon legacy treatment of 8-bit characters when the locale is not initialized.
2005-06-01Massive cleanup of buildlink3.mk and builtin.mk files in pkgsrc.jlam1-94/+100
Several changes are involved since they are all interrelated. These changes affect about 1000 files. The first major change is rewriting bsd.builtin.mk as well as all of the builtin.mk files to follow the new example in bsd.builtin.mk. The loop to include all of the builtin.mk files needed by the package is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk is now included by each of the individual builtin.mk files and provides some common logic for all of the builtin.mk files. Currently, this includes the computation for whether the native or pkgsrc version of the package is preferred. This causes USE_BUILTIN.* to be correctly set when one builtin.mk file includes another. The second major change is teach the builtin.mk files to consider files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most of the builtin.mk files test for the presence of built-in software by checking for the existence of certain files, e.g. <pthread.h>, and we now assume that if that file is under ${LOCALBASE}, then it must be from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The exceptions to this new check are the X11 distribution packages, which are handled specially as noted below. The third major change is providing builtin.mk and version.mk files for each of the X11 distribution packages in pkgsrc. The builtin.mk file can detect whether the native X11 distribution is the same as the one provided by pkgsrc, and the version.mk file computes the version of the X11 distribution package, whether it's built-in or not. The fourth major change is that the buildlink3.mk files for X11 packages that install parts which are part of X11 distribution packages, e.g. Xpm, Xcursor, etc., now use imake to query the X11 distribution for whether the software is already provided by the X11 distribution. This is more accurate than grepping for a symbol name in the imake config files. Using imake required sprinkling various builtin-imake.mk helper files into pkgsrc directories. These files are used as input to imake since imake can't use stdin for that purpose. The fifth major change is in how packages note that they use X11. Instead of setting USE_X11, package Makefiles should now include x11.buildlink3.mk instead. This causes the X11 package buildlink3 and builtin logic to be executed at the correct place for buildlink3.mk and builtin.mk files that previously set USE_X11, and fixes packages that relied on buildlink3.mk files to implicitly note that X11 is needed. Package buildlink3.mk should also include x11.buildlink3.mk when linking against the package libraries requires also linking against the X11 libraries. Where it was obvious, redundant inclusions of x11.buildlink3.mk have been removed.
2005-05-22Remove USE_TOOLS+=gawk from packages that had it added solely for Solaris.jlam1-2/+2
We rely on the tools framework to pull in a good enough awk tool.
2005-05-22Remove USE_TBL from pkgsrc and replace with USE_TOOLS+=tbl.jlam1-4/+2
2005-05-22Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:jlam1-2/+2
USE_GNU_TOOLS -> USE_TOOLS awk -> gawk m4 -> gm4 make -> gmake sed -> gsed yacc -> bison