Automatic conversion of the NetBSD pkgsrc CVS module, use with care
f6c3d21779
Version 9.4 of Icon is a modified and repackaged implementation based on version 9.3.2 of Icon. The changes make it easier to maintain, install, and use under Unix while retaining potential portability to other systems. Most significant are changes to path searching, described below, and the inclusion of the Icon program library as a standard part of all Unix source and binary distributions. The Icon language is unchanged, and this 9.4 Unix implementation remains compatible at the source level with Icon 9.3 for Windows. Recent feature additions New features added since the publication of the Icon books are described below. Reading foreign text files (new with Version 9.3.1 of Icon) The function read() recognizes three kinds of line terminators when reading a file opened in translated mode: Windows (CR+LF), Macintosh (CR), or Unix (LF). Consequently, text files created on one platform can be read by an Icon program running on a different platform. Reading directory contents (new with Version 9.3.2 of Icon) The files in a directory can be listed by opening the directory as a file. Subsequent reads return the names of the files contained in the directory. The names are returned in no particular order, and for Unix, the directories "." and ".." are included. Path searching (new with Version 9.4 of Icon) Under Unix, colons (:) may now separate directories in the LPATH and IPATH environment variables as an alternative to spaces. The Icon translator and linker search these paths when looking for $include and link files respectively. The Icon program library is now searched automatically, but LPATH and IPATH can still be set to control the search order. For version 9.4, the effective path in each case is: 1. the current directory 2. any directories named by the environment variable 3. the Icon library directory Other changes affect the configuration of Icon at installation time and the way executable Icon programs locate the interpreter. These changes, which are transparent to most users, are discussed in more detail on the [2]File Organization page. Other Icon Changes Several areas of the Icon implementation have been cleaned up, in particular the run-time initialization code, and some obsolete configurations have been removed. With one clearly marked exception, programs in the standard test suite now generate reproducible output. The following problems have been corrected: * The sign bit was lost when converting a real to a large integer. * A duplicate close(f) could crash the interpreter. * Very large coordinate values were silently mishandled. * Window attributes over 127 characters long caused a segfault. * A segfault during traceback could produce an infinite loop. * A file inclusion bug in gcc 2.96 prevented Icon from building. Library Changes The program library has been incorporated into the main Icon source tree and is routinely built along with icont and iconx. Tests for most of the core library functions and loadable C functions have been incorporated the standard test suite, and some additional consistency tests were developed. Numerous changes were made throughout the library to fix linking problems, to fix typos and formatting, and to support building via Makefiles. Some files that were miscategorized as graphics or non-graphics have been moved. Duplicate files in the cfuncs and packs/loadfunc directories have been eliminated. Some other obsolete files were also removed. Other significant changes were: procs/datetime fixed dayoweek() to get all twelve months right procs/factors fixed divisors() to consistently return all factors fixed genfactors() for some failing cases added some minor optimizations procs/genrfncs added several new sequence generators procs/io modified to allow ":" as a path separator under Unix procs/lists fixed fatal bugs in lminlen() and lmaxlen() added several new list manipulation procedures procs/lstfncs added: procedures to produce lists from sequences procs/numbers fixed decimal() for values where remainder repeats procs/pdco added several new control operations procs/periodic added: procedures related to periodic sequences procs/permutat added: procedures for permutations procs/polynom added: manipulate multi-variate polynomials procs/pqueue added new priority queue procedures procs/rational added real2rat(v, p) #: convert real to rational added medrat(r1, r2) #: rational mediant procs/records added fieldnum(R, s) #: return index of field R.s procs/seqops replaced: procedures to manipulate T-sequences procs/strings modified fchars() to break ties lexically renamed permute() to permutes() cfuncs/icall.h fixed reading of misaligned doubles by RealVal() cfuncs/fpoll.c support fpoll() under BSD Unix flavors gprocs/drawlab modified to let the caller control the window size progs/htprep modified to improve quoting progs/ipatch modified to understand v9.4 headers as well as v9.3 progs/unclog added: program to reformat CVS logs gprogs/breakout added: a new breakout game gprogs/dlgvu modified to allow interruption while drawing labels gprogs/gallery modified to recognize some nonstandard JPEG files gpacks/tiger modified to allow interruption of drawing gpacks/xtiles fixed the usage message packs/loadfunc/cspace increased the default window size |
||
---|---|---|
archivers | ||
audio | ||
benchmarks | ||
biology | ||
cad | ||
chat | ||
comms | ||
converters | ||
cross | ||
databases | ||
devel | ||
distfiles | ||
editors | ||
emulators | ||
finance | ||
fonts | ||
games | ||
graphics | ||
ham | ||
japanese | ||
lang | ||
licenses | ||
math | ||
mbone | ||
meta-pkgs | ||
misc | ||
mk | ||
net | ||
news | ||
packages | ||
parallel | ||
pkgtools | ||
security | ||
shells | ||
sysutils | ||
templates | ||
textproc | ||
time | ||
wm | ||
www | ||
x11 | ||
Makefile | ||
Packages.txt | ||
pkglocate | ||
README | ||
TODO |
$NetBSD: README,v 1.12 2001/06/06 19:41:05 hubertf Exp $ Welcome to the NetBSD Packages Collection ========================================= In brief, the NetBSD Packages Collection is a set of software utilities and libraries which have been ported to NetBSD. The packages collection software can retrieve the software from its home site, assuming you are connected in some way to the Internet, verify its integrity, apply any patches, configure the software for NetBSD, and build it. Any prerequisite software will also be built and installed for you. Installation and de-installation of software is managed by the packaging utilities. The packages collection is made into a tar_file every week: ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz and you can sup the pkgsrc tree using the `pkgsrc' name for the collection. The pkgsrc tree is laid out in various categories, and, within that, the various packages themselves. You need to have root privileges to install packages. We are looking at ways to remove this restriction. + To install a package on your system, you need to change into the directory of the package, and type "make install". + If you've made a mistake, and decided that you don't want that package on your system, then type "pkg_delete <pkg-name>", or "make deinstall" while in the directory for the package. + To find out all the packages that you have installed on your system, type "pkg_info". + To remove the work directory, type "make clean", and "make clean-depends" will clean up any working directories for other packages that are built in the process of making your package. + Optionally, you can periodically run "make clean" from the top level pkgsrc directory. This will delete extracted and built files, but will not affect the retreived source sets in pkgsrc/distfiles. + You can set variables to customise the behaviour (where packages are installed, various options for individual packages etc), by setting variables in /etc/mk.conf. The pkgsrc/mk/mk.conf.example file provides some examples for customisation. The best way to find out what packages are in the collection is to move to the top-level pkgsrc directory (this will usually be /usr/pkgsrc), and type "make readme". This will create a file called README.html in the top-level pkgsrc directory, and also in all category and package directories. You can then see what packages are available, along with a short (one-line) comment about the function of the package, and a pointer to a fuller description, by using a browser like lynx (see pkgsrc/www/lynx) or Mozilla (pkgsrc/www/mozilla), or Communicator. This is also available online as ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/README.html. Another way to find out what packages are in the collection is to move to the top-level pkgsrc directory and type "make index". This will create pkgsrc/INDEX which can be viewed via "make print-index | more". You can also search for particular packages or keywords via "make search key=<somekeyword>". It is also possible to use the packaging software to install pre-compiled binary packages by typing "pkg_add <URL-of-binary-pkg>". To see what binary packages are available, see: ftp://ftp.netbsd.org/pub/NetBSD/packages/<release>/<arch>/All/ where <release> is the NetBSD release, and <arch> is the hardware architecture. One limitation of using binary packages provided from ftp.netbsd.org is that all mk.conf options were set to the defaults at compile time. LOCALBASE, in particular, defaults to /usr/pkg, so non-X binaries will be installed in /usr/pkg/bin, man pages will be installed in /usr/pkg/man... When a packaged tool has major compile time choices, such as support for multiple graphic toolkit libraries, the different options may be available as separate packages. For more information on the packages collection see the file Packages.txt file in the same place where you found this README, usually in the top-level pkgsrc dir. directory.