summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorAndreas Klemm <andreas@FreeBSD.org>1996-12-14 22:27:51 +0000
committerAndreas Klemm <andreas@FreeBSD.org>1996-12-14 22:27:51 +0000
commitf6c670a07964555aff3f81894d7c580816cd914c (patch)
tree2cf65b3265554b4cefab01b01ff9a1fe4918fd8e /mail
parentUpdate from version 13.5 to version 14.0. (diff)
faces - visual mail, user and print face server
can nicely be used with exmh Submitted by: Lars Koeller <Lars_Koeller@odie.physik2.uni-rostock.de>
Diffstat (limited to 'mail')
-rw-r--r--mail/faces/Makefile20
-rw-r--r--mail/faces/distinfo1
-rw-r--r--mail/faces/files/patch-aa726
-rw-r--r--mail/faces/files/patch-ab415
-rw-r--r--mail/faces/files/patch-ac67
-rw-r--r--mail/faces/files/patch-ad99
-rw-r--r--mail/faces/pkg-comment1
-rw-r--r--mail/faces/pkg-descr56
-rw-r--r--mail/faces/pkg-plist36
9 files changed, 1421 insertions, 0 deletions
diff --git a/mail/faces/Makefile b/mail/faces/Makefile
new file mode 100644
index 000000000000..ab49acd29f5d
--- /dev/null
+++ b/mail/faces/Makefile
@@ -0,0 +1,20 @@
+# New ports collection makefile for: faces-1.6.1
+# Version required: 1.6.1
+# Date created: 09 December 96
+# Whom: Lars Koeller <Lars_Koeller@odie.physik2.uni-rostock.de>
+# Andreas Klemm <andreas@FreeBSD.ORG>
+#
+# $Id$
+#
+
+DISTNAME= faces-1.6.1
+CATEGORIES= mail
+MASTER_SITES= ftp://ftp.cs.indiana.edu/pub/faces/faces/ \
+ ftp://odie.physik2.uni-rostock.de/pub/
+
+MAINTAINER= Lars_Koeller@odie.physik2.uni-rostock.de
+
+WRKSRC= $(WRKDIR)/faces
+EXTRACT_SUFX= .tar.Z
+
+.include <bsd.port.mk>
diff --git a/mail/faces/distinfo b/mail/faces/distinfo
new file mode 100644
index 000000000000..819c43f649e8
--- /dev/null
+++ b/mail/faces/distinfo
@@ -0,0 +1 @@
+MD5 (faces-1.6.1.tar.Z) = 73b1ba54e57bf99f85d3ccf7be95c17d
diff --git a/mail/faces/files/patch-aa b/mail/faces/files/patch-aa
new file mode 100644
index 000000000000..76dae77d3966
--- /dev/null
+++ b/mail/faces/files/patch-aa
@@ -0,0 +1,726 @@
+diff -c -N ../faces/Faces.ad ./Faces.ad
+*** ../faces/Faces.ad Mon Jul 1 03:25:46 1991
+--- ./Faces.ad Tue Dec 10 19:07:26 1996
+***************
+*** 13,17 ****
+ faces.displayHostname: false
+
+ faces.audioSupport: false
+! faces.audioCommand: play
+ faces.bellAudioFile:
+--- 13,17 ----
+ faces.displayHostname: false
+
+ faces.audioSupport: false
+! faces.audioCommand: rplay
+ faces.bellAudioFile:
+diff -c -N ../faces/Makefile ./Makefile
+*** ../faces/Makefile Thu Jan 1 01:00:00 1970
+--- ./Makefile Wed Dec 11 09:33:04 1996
+***************
+*** 0 ****
+--- 1,476 ----
++ #
++ # Makefile for faces, an icon face server, plus associated software.
++ #
++ # Graphical versions for NeWS, SunView, X11 and XView.
++ #
++ # @(#)Makefile.dist 1.10 91/11/19
++ #
++ # Copyright (c) Rich Burridge.
++ # Sun Microsystems, Australia - All rights reserved.
++ #
++ # Permission is given to distribute these sources, as long as the
++ # copyright messages are not removed, and no monies are exchanged.
++ #
++ # No responsibility is taken for any errors inherent either
++ # to the comments or the code of this program, but if reported
++ # to me then an attempt will be made to fix them.
++ #
++ #========================================================================
++ #
++ # There are various small changes needed when compiling faces on
++ # different systems. These have been isolated here, and should be
++ # uncommented and set accordingly, if needed.
++ #
++ #========================================================================
++ # If you want audio support, then the following line should be uncommented.
++ #
++ AUDIO_SUPPORT = -DAUDIO_SUPPORT
++ #========================================================================
++ # There is a default command (/usr/demo/SOUND/play), which is used to
++ # play audio files. Alternatively you can specify your own custom
++ # command here. Uncomment the following line and set appropriately.
++ #
++ AUDIO_CMD = -DAUDIO_CMD=\"/usr/local/bin/rplay\"
++ #========================================================================
++ # Faces displays a background pattern in its' window. When the window
++ # is not completely full, this gives the appearance of trying to blend
++ # in with the background. By default, this is a root gray color, but you
++ # can specify the name of a file containing an alternate pattern to use.
++ # Uncomment the next two lines and set appropriately.
++ #
++ #BACKNAME = /usr/local/sample-background
++ #BACKGROUND = -DBACKGROUND=\"$(BACKNAME)\"
++ #------------------------------------------------------------------------
++ # Uncomment the following two lines to use the Domain Name Service to
++ # attempt to convert unqualified hostnames, or hostnames with partial
++ # domains to fully qualified domain names.
++ #
++ # When used with NISLOOKUP, DNSLOOKUP will take precedance.
++ #
++ # NOTE that the domain name returned by DNS will be converted to lower
++ # case before attempting a machines.tab match, or constructing an icon
++ # file name.
++ #
++ # NOTE that for this to work you must have at least a minimal
++ # /etc/resolv.conf file containing a valid nameserver entry.
++ #
++ DNSLOOKUP = -DDNSLOOKUP
++ DNSLIB =
++ #------------------------------------------------------------------------
++ # If you do not want to show the number of messages on the face icon,
++ # then uncomment the next line.
++ #
++ #DONTSHOWNO = -DDONTSHOWNO
++ #------------------------------------------------------------------------
++ # If you do not want to show the timestamp on the face icon, then
++ # uncomment the next line.
++ #
++ #DONTSHOWTIME = -DDONTSHOWTIME
++ #------------------------------------------------------------------------
++ # If you do not want to show the username on the face icon, then
++ # uncomment the next line.
++ #
++ #DONTSHOWUSER = -DDONTSHOWUSER
++ #------------------------------------------------------------------------
++ # By default, faces looks for the face images in /usr/local/faces. If
++ # you wish to specify an alternate location, then these two lines should
++ # be uncommented and set appropriately. Note that the value must be
++ # a single directory name, not a colon separated list of paths.
++ #
++ FACEDIR = /usr/local/share/faces
++ CFACEDIR = -DFACEDIR=\"$(FACEDIR)\"
++ #------------------------------------------------------------------------
++ # It is possible to determine what type of monitoring faces does at
++ # run time with different command line options, but it is also possible
++ # to define it at compile time.
++ #
++ # Monitor type (0 = mail (new), 1 = mail (all), 2 = print queue).
++ # 3 = custom prog, 4 = users).
++ #
++ #FMONTYPE = -DFMONTYPE=0
++ #------------------------------------------------------------------------
++ # If you have the poll(2) system call, then uncomment the following
++ # definition. Note that you will also have to uncomment the NOSELECT
++ # definition. This is needed for SVR4 machines.
++ #
++ #HASPOLL = -DHASPOLL
++ #------------------------------------------------------------------------
++ # Some users on monochrome screens display everything in reverse video.
++ # If you would like faces to do the same, then this line needs to be
++ # uncommented.
++ #
++ #INVERT = -DINVERT
++ #------------------------------------------------------------------------
++ # When no icon is found for a given user, the unknown icon may be displayed
++ # either with the user name, or labeled as `unknown'. The former case
++ # provides the most information, the latter allows all unknown users
++ # within a given community to be lumped into a single image. To select
++ # the latter case uncomment the following line.
++ #
++ #NAMEUNKNOWN = -DNAMEUNKNOWN
++ #------------------------------------------------------------------------
++ # If you are compiling the NeWS version, then the following two lines
++ # should be uncommented, and set appropriately.
++ #
++ #NEWSINCDIR = -I$(OPENWINHOME)/include
++ #NEWSLIBDIR = -L$(OPENWINHOME)/lib
++ #------------------------------------------------------------------------
++ # Uncomment the following line to use the Sun Network Information
++ # Services (NIS, formerly YP) to look for hosts which do not explicitly
++ # appear in the machines.tab file. When used with DNSLOOKUP, DNSLOOKUP
++ # takes precedance.
++ #
++ # Note that the domain name will be converted to lower case before
++ # attempting to match in the machines file, or create an icon filename.
++ #
++ NISLOOKUP = -DNISLOOKUP
++ #------------------------------------------------------------------------
++ # If you don't want faces to use full domain names for extracting face
++ # icons, then you should uncomment the NODOMAINS definition below.
++ #
++ #NODOMAINS = -DNODOMAINS
++ #------------------------------------------------------------------------
++ # If your system doesn't have the gethostname() system call, then this
++ # might be a useful alternative. This is needed for SVR4 machines.
++ #
++ #NOGETHOSTNAME = -DNOGETHOSTNAME
++ #------------------------------------------------------------------------
++ # By default, faces will check the "From " line first for username and
++ # hostname, and then the "From:" line.
++ # Not all machines have the index() string library function. If you
++ # don't have this function then you should uncomment the NOINDEX
++ # definition below.
++ #
++ #NOINDEX = -DNOINDEX
++ #--------------------------------------------------------------------------
++ # It appears that not every Unix system defines MAXPATHLEN, which indicates
++ # the maximum length of a Unix pathname. If your system doesn't, then
++ # you need to uncomment this definition.
++ #
++ #NOMAXPATHLEN = -DNOMAXPATHLEN
++ #--------------------------------------------------------------------------
++ # Not every version of Unix (in particular System V derivitives) has the
++ # select() system call. If your machine doesn't have this call, then you
++ # need to uncomment the following definition.
++ #
++ #NOSELECT = -DNOSELECT
++ #--------------------------------------------------------------------------
++ # If your system lacks the utime() library call and definition, then
++ # uncomment the following definition.
++ #
++ #NOUTIME = -DNOUTIME
++ #--------------------------------------------------------------------------
++ # By default, faces rechecks for new mail or print jobs every sixty
++ # seconds. If you would like to specify an alternate period, then uncomment
++ # the following line and set appropriately.
++ #
++ #PERIOD = -DPERIOD=30
++ #------------------------------------------------------------------------
++ # By default, faces will examine printer queues a la Berkeley Style.
++ # Alternatively, if you have the PLP printer spooling system running, then
++ # uncomment the next line.
++ #
++ #PLP = -DPLP
++ #-------------------------------------------------------------------------
++ # If you are using the RAND mailer which uses four ^A characters to mark
++ # the beginning and end of messages, then you will need to uncomment the
++ # following line.
++ #
++ #RAND = -DRAND
++ #-------------------------------------------------------------------------
++ # Faces is designed to work on a big-endian machine by default. If you
++ # are compiling for a little-endian machine (such as the Sun 386i), then
++ # you need to uncomment the following line.
++ #
++ #REVORDER = -DREVORDER
++ #------------------------------------------------------------------------
++ # If you not running under a BSD4.3 derived system, the parameters
++ # to the select call are different, and this definition should be
++ # uncommented. You need to uncomment this for SunOS v3.x.
++ #
++ SELTYPE = -DNO_43SELECT
++ #------------------------------------------------------------------------
++ # If you are building faces on a Silicon Graphics machine, then you will
++ # need to uncomment the following two definitions.
++ #
++ #SGIDEF = -Umips
++ #SGILIBS = -lsun -lc_s
++ #------------------------------------------------------------------------
++ # If the pending mail for users is in a different directory than
++ # /usr/spool/mail, uncomment the following and set appropriately.
++ #
++ SPOOLDIR = -DSPOOLDIR=\"/var/mail\"
++ #------------------------------------------------------------------------
++ # If faces is setup to monitor mail, then the name of the default
++ # spoolfile is /usr/spool/mail/username. An alternative spoolfile name
++ # can be given by uncommenting the following line and setting
++ # appropriately.
++ #
++ #SPOOLFILE = -DSPOOLFILE=\"/usr/richb/Mail/pending\"
++ #--------------------------------------------------------------------------
++ # If you are trying to build faces on an SVR4 machine, then you should
++ # uncomment the following entry, and set SVR4LIBS to the list of SVR4
++ # specific libraries needed to link reve.
++ #
++ #SVR4LIBS = -lnsl -lsocket -lgen
++ #--------------------------------------------------------------------------
++ # If you are running on a Unix System V machine, then you should uncomment
++ # the next definition.
++ #
++ #SYSV = -DSYSV32
++ #--------------------------------------------------------------------------
++ # If you are running SunOS v3.x, then pr_ttext doesn't exist, and
++ # you must uncomment this definition.
++ #
++ #TTEXT = -DNO_PR_TTEXT
++ #------------------------------------------------------------------------
++ # Uncomment if building faces under Sequoia's operating system.
++ #
++ #TOPIX = -DTOPIX
++ #--------------------------------------------------------------------------
++ # If the -U command line option is given to faces, then mail is sent to
++ # a special mail alias. This alias is really a shell script, which will
++ # take the given information, and try to update the faces database. By
++ # default that alias is called "facemaker", but it is possible to give an
++ # alternative alias here. This might be useful if a collection of machines
++ # were remotely mounting the faces database from a file server.
++ #
++ #UPDATE = -DUPDATE=\"facemaker@fileserver\"
++ #------------------------------------------------------------------------
++ # If your system does not have the memset() library call, but instead
++ # uses the bzero() library call, then the following definition needs to
++ # be uncommented.
++ #
++ #USE_BZERO = -DUSE_BZERO
++ #------------------------------------------------------------------------
++ # If your system does not have the getcwd() library call, but instead
++ # uses the getwd() library call, then the following definition needs to
++ # be uncommented.
++ #
++ #USE_GETWD = -DUSE_GETWD
++ #------------------------------------------------------------------------
++ # If you are compiling the X11 version under MIT X11R3, you will need to
++ # uncomment the following definition:
++ #
++ #X11R3 = -DX11R3
++ #------------------------------------------------------------------------
++ # If you are compiling the X11 version and the X11 include and
++ # library files are not in a standard place, then the following
++ # two lines should be uncommented, and set appropriately.
++ #
++ X11INCDIR = -I$(OPENWINHOME)/include
++ X11LIBDIR = -L$(OPENWINHOME)/lib
++ #------------------------------------------------------------------------
++ # If you are compiling the XView version, then the following two lines
++ # should be uncommented, and set appropriately.
++ #
++ #XVIEWINCDIR = -I$(OPENWINHOME)/include
++ #XVIEWLIBDIR = -L$(OPENWINHOME)/lib
++ #
++ #=======================================================================
++ #
++ # Default locations where faces files will be installed.
++ # You might wish to alter these values.
++ #
++ BINDIR = /usr/local/bin
++ LIBDIR = /usr/local/lib
++ MANDIR = /usr/local/man
++ MANSECT = 1
++
++ #
++ # Options for submakes
++ #
++ MAKEOPTS = $(MFLAGS) BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) \
++ MANDIR=$(MANDIR) CC=$(CC) \
++ NOINDEX=$(NOINDEX) SYSV=$(SYSV)
++
++ #
++ # Override DEBUG on the command line as `DEBUG=-DDEBUG' to enable various
++ # additional checking diagnostic output options.
++ #
++ DEBUG =
++
++ #
++ # Compilation flags and standard macro definitions.
++ #
++ CDEFS = $(AUDIO_SUPPORT) $(AUDIO_CMD) $(BACKGROUND) \
++ $(DNSLOOKUP) $(DONTSHOWNO) $(DONTSHOWTIME) $(DONTSHOWUSER) \
++ $(CFACEDIR) $(FMONTYPE) $(HASPOLL) $(INVERT) \
++ $(NAMEUNKNOWN) $(NEWSINCDIR) $(NISLOOKUP) $(NODOMAINS) \
++ $(NOGETHOSTNAME) $(NOINDEX) $(NOMAXPATHLEN) $(NOSELECT) \
++ $(NOUTIME) $(PERIOD) $(PLP) $(RAND) $(REVORDER) \
++ $(SELTYPE) $(SGIDEF) $(SPOOLDIR) $(SPOOLFILE) $(SYSV) \
++ $(TTEXT) $(TOPIX) $(UPDATE) $(USE_BZERO) $(USE_GETWD) \
++ $(X11R3) $(X11INCDIR) $(XVIEWINCDIR) $(DEBUG)
++ CCOMP = -pipe -O2
++ CFLAGS = $(CCOMP) $(CDEFS)
++ #
++ #=======================================================================
++
++ .KEEP_STATE:
++
++ BINARIES = psfaces svfaces xfaces xvfaces
++
++ CC = cc
++ MAKE = make
++
++ STDSRCS = address.c get.c main.c mon.c parsefrom.c rec.c
++ STDOBJS = address.o get.o main.o mon.o parsefrom.o rec.o
++ STDLIBS = -L./compface -lcompface $(DNSLIB) $(SGILIBS)
++
++ COMPFACE = compface
++ FACES = facedir
++ FILTERS = filters
++ SCRIPTS = scripts
++ GSRCS = news.c sunview.c x11.c xview.c
++ HDRS = addr.h extern.h faces.h patchlevel.h
++ IMAGES = noface.xbm nomail.xbm noprint.xbm \
++ nopaper.xbm nothing.xbm nousers.xbm
++ OTHERS = CHANGES CHANGES-v1.4 README TODO MANIFEST FILES \
++ faces.man.text faces.man face_update.1 faces_cps.cps \
++ Faces.ad Makefile.dist face_update
++ XFACE = xface
++
++ SFILES1 = mon.c rec.c
++ SFILES2 = main.c parsefrom.c
++ SFILES3 = get.c news.c sunview.c
++ SFILES4 = x11.c $(HDRS)
++ SFILES5 = xview.c
++ SFILES6 = CHANGES-v1.4
++ SFILES7 = CHANGES README TODO
++ SFILES8 = MANIFEST FILES Makefile.dist faces_cps.cps face_update \
++ faces.sendmail
++ SFILES9 = faces.man face_update.1 $(IMAGES)
++ SFILES10 = faces.man.text Faces.ad
++ SFILES11 = $(FACES)
++ SFILES12 = $(COMPFACE)
++ SFILES13 = $(FILTERS)
++ SFILES14 = $(SCRIPTS)
++ SFILES15 = address.y $(XFACE)
++
++ NEWSLIBS = $(NEWSLIBDIR) -lcps
++ SVIEWLIBS = -lsuntool -lsunwindow -lpixrect
++ #
++ # The following definition can vary. Here are a few examples:
++ #
++ # Sun/MIT X11R4: $(X11LIBDIR) -lX11
++ # Dell Unix (Interactive 386/ix): $(X11LIBDIR) -lX11 -linet
++ # AT&T's XWIN: $(X11LIBDIR) -lX11_s -lc_s -lnsl_s -lpt
++ #
++ X11LIBS = -L/usr/X11R6/lib -lX11
++ XVIEWLIBS = $(XVIEWLIBDIR) -lxview -lolgx -lX11
++
++ help:
++ @echo
++ @echo "You need to specify one of the following options:"
++ @echo
++ @echo " make sunview - to make the SunView version."
++ @echo " make news - to make the NeWS version."
++ @echo " make x11 - to make the X11 version."
++ @echo " make xview - to make the XView version."
++ @echo
++ @echo "This should be followed by:"
++ @echo
++ @echo " make install"
++ @echo " make clean"
++ @echo
++
++ all: x11
++
++ news: $(STDOBJS) news.o faces_cps.h
++ (cd compface; $(MAKE) $(MAKEOPTS))
++ (cd filters; $(MAKE) $(MAKEOPTS))
++ $(CC) -o psfaces $(CFLAGS) $(STDOBJS) news.o \
++ $(STDLIBS) $(NEWSLIBS)
++ -cp psfaces faces
++
++ sunview: $(STDOBJS) sunview.o
++ (cd compface; $(MAKE) $(MAKEOPTS))
++ (cd filters; $(MAKE) $(MAKEOPTS))
++ $(CC) -o svfaces $(CFLAGS) $(STDOBJS) sunview.o \
++ $(STDLIBS) $(SVIEWLIBS)
++ -cp svfaces faces
++
++ x11: $(STDOBJS) x11.o
++ (cd compface; $(MAKE) $(MAKEOPTS))
++ (cd filters; $(MAKE) $(MAKEOPTS))
++ $(CC) -o xfaces $(CFLAGS) $(STDOBJS) x11.o \
++ $(STDLIBS) $(X11LIBS) $(SVR4LIBS)
++ -cp xfaces faces
++
++ xview: $(STDOBJS) xview.o
++ (cd compface; $(MAKE) $(MAKEOPTS))
++ (cd filters; $(MAKE) $(MAKEOPTS))
++ $(CC) -o xvfaces $(CFLAGS) $(STDOBJS) xview.o \
++ $(STDLIBS) $(XVIEWLIBS) $(SVR4LIBS)
++ -cp xvfaces faces
++
++ tables:
++ -mkdir $(FACEDIR)
++ -install -c -m 644 machine.tab $(FACEDIR)
++ -install -c -m 644 people.tab $(FACEDIR)
++
++ install:
++ make tables
++ (cd compface; $(MAKE) $(MAKEOPTS) install)
++ (cd filters; $(MAKE) $(MAKEOPTS) install)
++ (cd scripts; $(MAKE) $(MAKEOPTS) install)
++ install -c -s -m 751 faces $(BINDIR)
++ install -c -m 755 face_update $(BINDIR)
++ install -c -m 755 faces.sendmail $(BINDIR)
++ install -c -m 644 faces.man \
++ $(MANDIR)/man$(MANSECT)/faces.$(MANSECT)
++ gzip -f $(MANDIR)/man$(MANSECT)/faces.$(MANSECT)
++ install -c -m 444 face_update.1 \
++ $(MANDIR)/man$(MANSECT)/face_update.$(MANSECT)
++ gzip -f $(MANDIR)/man$(MANSECT)/face_update.$(MANSECT)
++ install -c -m 444 -o bin Faces.ad /usr/X11R6/lib/X11/app-defaults/Faces
++
++ clean:
++ (cd compface; $(MAKE) $(MAKEOPTS) clean)
++ (cd filters; $(MAKE) $(MAKEOPTS) clean)
++ rm -f *.o Part* *~ $(BINARIES) faces core
++
++ saber:
++ #load $(CDEFS) $(STDSRCS) x11.c $(STDLIBS) $(X11LIBS)
++
++ lint: lint-news lint-sunview lint-x11 lint-xview
++ lint-news:; lint $(CDEFS) $(STDSRCS) news.c $(NEWSLIBS)
++ lint-sunview:; lint $(CDEFS) $(STDSRCS) sunview.c $(SVIEWLIBS)
++ lint-x11:; lint $(CDEFS) $(STDSRCS) x11.c
++ lint-xview:; lint $(CDEFS) $(STDSRCS) xview.c
++
++ shar:; shar.script $(SFILES1) > faces.part1
++ shar.script $(SFILES2) > faces.part2
++ shar.script $(SFILES3) > faces.part3
++ shar.script $(SFILES4) > faces.part4
++ shar.script $(SFILES5) > faces.part5
++ shar.script $(SFILES6) > faces.part6
++ shar.script $(SFILES7) > faces.part7
++ shar.script $(SFILES8) > faces.part8
++ shar.script $(SFILES9) > faces.part9
++ shar.script $(SFILES10) > faces.part10
++ shar.script $(SFILES11) > faces.part11
++ shar.script $(SFILES12) > faces.part12
++ shar.script $(SFILES13) > faces.part13
++ shar.script $(SFILES14) > faces.part14
++ shar.script $(SFILES15) > faces.part15
++
++ create: SCCS
++ -sccs create $(STDSRCS) $(GSRCS) $(HDRS) $(IMAGES) $(OTHERS)
++
++ SCCS:
++ mkdir SCCS
++ chmod 755 SCCS
++
++ faces_cps.h: faces_cps.cps
++ cps $<
++
++ get.o: get.c faces.h extern.h patchlevel.h
++ main.o: main.c faces.h $(IMAGES)
++ mon.o: mon.c faces.h extern.h
++ news.o: news.c faces.h extern.h faces_cps.h
++ rec.o: rec.c faces.h extern.h
++ sunview.o: sunview.c faces.h extern.h
++ x11.o: x11.c faces.h extern.h
++ xview.o: xview.c faces.h extern.h
+Common subdirectories: ../faces/compface and ./compface
+diff -c -N ../faces/extern.h ./extern.h
+*** ../faces/extern.h Tue Nov 19 05:00:48 1991
+--- ./extern.h Tue Dec 10 10:49:37 1996
+***************
+*** 82,87 ****
+--- 82,88 ----
+ extern int facetype ; /* Type of face file found. */
+ extern int firsttime ; /* Zeroised after first mail/printer check. */
+ extern int flashes ; /* Number of flashes for arrival of new mail. */
++ extern int border_width ; /* Border width of window. */
+ extern int fromc_found ; /* Set if "From:" line found during processing. */
+ extern int froms_found ; /* Set if "From " line found during processing. */
+ extern int height ; /* Height in pixels of faces display. */
+Common subdirectories: ../faces/facedir and ./facedir
+diff -c -N ../faces/faces.h ./faces.h
+*** ../faces/faces.h Tue Nov 19 05:00:49 1991
+--- ./faces.h Tue Dec 10 17:36:10 1996
+***************
+*** 102,110 ****
+ enum mon_type { MONNEW, MONALL, MONPRINTER, MONPROG, MONUSERS } ;
+
+ /* X resources used by faces. */
+! enum res_type { R_WINGEOM, R_ICONGEOM, R_FGCOLOR, R_BGCOLOR,
+! R_FONT, R_BGICON, R_PERIOD, R_BELL,
+! R_FLASH, R_LOWER, R_RAISE, R_BUT1CLR, R_DISPHOST,
+ #ifdef AUDIO_SUPPORT
+ R_AUDIO, R_AUDIOCMD, R_BELLFILE
+ #endif /*AUDIO_SUPPORT*/
+--- 102,111 ----
+ enum mon_type { MONNEW, MONALL, MONPRINTER, MONPROG, MONUSERS } ;
+
+ /* X resources used by faces. */
+! enum res_type { R_WINGEOM, R_ICONGEOM, R_FGCOLOR, R_BGCOLOR,
+! R_FONT, R_BGICON, R_PERIOD, R_BELL,
+! R_FLASH, R_BORDERWIDTH, R_LOWER, R_RAISE,
+! R_BUT1CLR, R_DISPHOST,
+ #ifdef AUDIO_SUPPORT
+ R_AUDIO, R_AUDIOCMD, R_BELLFILE
+ #endif /*AUDIO_SUPPORT*/
+***************
+*** 217,223 ****
+--- 218,228 ----
+ #define PRINTDEF "lpq -P %s"
+
+ /* Updating the faces database: %s replaced with mail update alias name. */
++ #ifdef __FreeBSD__
++ #define UPDATEDEF "/usr/sbin/sendmail -oeq -oi %s"
++ #else
+ #define UPDATEDEF "/usr/lib/sendmail -oeq -oi %s"
++ #endif
+
+ /* Monitoring users on a machine: %s replaced with hostname. */
+ #define USERSDEF "rusers -l %s"
+diff -c -N ../faces/faces.sendmail ./faces.sendmail
+*** ../faces/faces.sendmail Mon Jul 1 03:25:50 1991
+--- ./faces.sendmail Tue Dec 10 20:19:25 1996
+***************
+*** 37,40 ****
+ -e ': copy' \
+ -e p \
+ -e n \
+! -e 'b copy' | /usr/lib/sendmail "$@"
+--- 37,40 ----
+ -e ': copy' \
+ -e p \
+ -e n \
+! -e 'b copy' | /usr/sbin/sendmail "$@"
+Common subdirectories: ../faces/filters and ./filters
+diff -c -N ../faces/main.c ./main.c
+*** ../faces/main.c Tue Nov 19 05:00:47 1991
+--- ./main.c Wed Dec 11 09:26:19 1996
+***************
+*** 63,68 ****
+--- 63,69 ----
+ "period", /* Integer: period in seconds between checks. */
+ "bell", /* Integer: number of beeps for new arrival. */
+ "flash", /* Integer: number of flashes for new arrival. */
++ "borderWidth", /* Integer: border width of window. */
+ "lower", /* Boolean: lower window if no mail. */
+ "raise", /* Boolean: raise window on update? */
+ "button1clear", /* Boolean: mouse button 1 clear window? */
+***************
+*** 150,155 ****
+--- 151,157 ----
+ int facetype ; /* Type of face file found. */
+ int firsttime = 1 ; /* Zeroised after first mail/printer check. */
+ int flashes = 0 ; /* Number of flashes for arrival of new mail. */
++ int border_width = 2 ; /* Border width of window. */
+ int fromc_found = 0 ; /* Set if "From:" line found during processing. */
+ int froms_found = 0 ; /* Set if "From " line found during processing. */
+ int height ; /* Height in pixels of faces display. */
+***************
+*** 743,751 ****
+ if (get_str_resource(R_FONT, str)) read_str(&fontname, str) ;
+ if (get_str_resource(R_BGICON, str)) read_str(&bgicon, str) ;
+
+! if (get_int_resource(R_PERIOD, &intval)) period = intval ;
+! if (get_int_resource(R_BELL, &intval)) beeps = intval ;
+! if (get_int_resource(R_FLASH, &intval)) flashes = intval ;
+
+ if (get_bool_resource(R_LOWER, &boolval)) lowerwindow = boolval ;
+ if (get_bool_resource(R_RAISE, &boolval)) raisewindow = boolval ;
+--- 745,754 ----
+ if (get_str_resource(R_FONT, str)) read_str(&fontname, str) ;
+ if (get_str_resource(R_BGICON, str)) read_str(&bgicon, str) ;
+
+! if (get_int_resource(R_PERIOD, &intval)) period = intval ;
+! if (get_int_resource(R_BELL, &intval)) beeps = intval ;
+! if (get_int_resource(R_FLASH, &intval)) flashes = intval ;
+! if (get_int_resource(R_BORDERWIDTH,&intval)) border_width = intval ;
+
+ if (get_bool_resource(R_LOWER, &boolval)) lowerwindow = boolval ;
+ if (get_bool_resource(R_RAISE, &boolval)) raisewindow = boolval ;
+Common subdirectories: ../faces/scripts and ./scripts
+diff -c -N ../faces/x11.c ./x11.c
+*** ../faces/x11.c Tue Nov 19 05:00:50 1991
+--- ./x11.c Tue Dec 10 20:43:06 1996
+***************
+*** 58,64 ****
+
+ #define F_ICON 0 /* Icon index to frame array. */
+ #define F_WINDOW 1 /* Window index to frame array. */
+- #define FACES_BORDER_WIDTH 2
+ #define FRAME_MASK (ButtonPressMask | ExposureMask | \
+ ButtonMotionMask | KeyPressMask)
+ #define ICON_MASK ExposureMask
+--- 58,63 ----
+***************
+*** 364,374 ****
+ init_font() ;
+ gc_mask = GCFont | GCForeground | GCBackground | GCGraphicsExposures ;
+ gc_val.font = sfont->fid ;
+! gc_val.foreground = foregnd ;
+! gc_val.background = backgnd ;
+ gc_val.graphics_exposures = False ;
+ gc = XCreateGC(dpy, root, gc_mask, &gc_val) ;
+
+ tilegc = XCreateGC(dpy, root, gc_mask, &gc_val) ;
+ if (depth == 1) XSetFillStyle(dpy, tilegc, FillOpaqueStippled) ;
+ else XSetFillStyle(dpy, tilegc, FillTiled) ;
+--- 363,375 ----
+ init_font() ;
+ gc_mask = GCFont | GCForeground | GCBackground | GCGraphicsExposures ;
+ gc_val.font = sfont->fid ;
+! gc_val.foreground = BlackPixel(dpy, screen) ;
+! gc_val.background = WhitePixel(dpy, screen) ;
+ gc_val.graphics_exposures = False ;
+ gc = XCreateGC(dpy, root, gc_mask, &gc_val) ;
+
++ gc_val.foreground = foregnd ;
++ gc_val.background = backgnd ;
+ tilegc = XCreateGC(dpy, root, gc_mask, &gc_val) ;
+ if (depth == 1) XSetFillStyle(dpy, tilegc, FillOpaqueStippled) ;
+ else XSetFillStyle(dpy, tilegc, FillTiled) ;
+***************
+*** 459,465 ****
+--- 460,470 ----
+
+ home = getenv("HOME") ;
+ XrmInitialize() ;
++ #ifdef __FreeBSD__
++ STRCPY(name, "/usr/X11R6/lib/X11/app-defaults/Faces") ;
++ #else
+ STRCPY(name, "/usr/lib/X11/app-defaults/Faces") ;
++ #endif
+
+ /* Get applications defaults file, if any. */
+
+***************
+*** 576,589 ****
+ winattrs.event_mask = FRAME_MASK ;
+
+ frame[F_WINDOW] = XCreateWindow(dpy, root, size.x, size.y,
+! size.width, size.height, FACES_BORDER_WIDTH,
+ CopyFromParent, InputOutput, CopyFromParent,
+ CWBackPixel | CWBorderPixel | CWEventMask, &winattrs) ;
+
+ winattrs.event_mask = ICON_MASK ;
+
+ frame[F_ICON] = XCreateWindow(dpy, root,
+! ix, iy, imagewidth, imageheight, FACES_BORDER_WIDTH,
+ CopyFromParent, InputOutput, CopyFromParent,
+ CWBackPixel | CWBorderPixel | CWEventMask, &winattrs) ;
+
+--- 581,594 ----
+ winattrs.event_mask = FRAME_MASK ;
+
+ frame[F_WINDOW] = XCreateWindow(dpy, root, size.x, size.y,
+! size.width, size.height, border_width,
+ CopyFromParent, InputOutput, CopyFromParent,
+ CWBackPixel | CWBorderPixel | CWEventMask, &winattrs) ;
+
+ winattrs.event_mask = ICON_MASK ;
+
+ frame[F_ICON] = XCreateWindow(dpy, root,
+! ix, iy, imagewidth, imageheight, border_width,
+ CopyFromParent, InputOutput, CopyFromParent,
+ CWBackPixel | CWBorderPixel | CWEventMask, &winattrs) ;
+
+***************
+*** 856,861 ****
+--- 861,867 ----
+ XFillRectangle(dpy, pr[(int) dtype], gc, x, y-9,
+ (unsigned int) textwidth+2, 13) ;
+ XSetFunction(dpy, gc, GXxor) ;
++ XSetForeground(dpy, gc, WhitePixel(dpy, screen));
+ XDrawImageString(dpy, pr[(int) dtype], gc, x, y, str, len) ;
+ XSetFunction(dpy, gc, GXcopy) ;
+ }
+Common subdirectories: ../faces/xface and ./xface
+diff -c -N ../faces/y.tab.h ./y.tab.h
+*** ../faces/y.tab.h Thu Jan 1 01:00:00 1970
+--- ./y.tab.h Wed Dec 11 09:26:39 1996
+***************
+*** 0 ****
+--- 1,11 ----
++ #define EOL 257
++ #define ATOM 258
++ #define LIT_DOMAIN 259
++ #define QUOTED_STRING 260
++ typedef union {
++ char yChar;
++ char *yString;
++ Dom *yDom;
++ Addr *yAddr;
++ } YYSTYPE;
++ extern YYSTYPE yylval;
diff --git a/mail/faces/files/patch-ab b/mail/faces/files/patch-ab
new file mode 100644
index 000000000000..7af7d21cb5c2
--- /dev/null
+++ b/mail/faces/files/patch-ab
@@ -0,0 +1,415 @@
+diff -c -N ../faces/compface/Makefile ./compface/Makefile
+*** ../faces/compface/Makefile Thu Oct 24 03:28:06 1991
+--- ./compface/Makefile Tue Dec 10 20:23:40 1996
+***************
+*** 24,80 ****
+
+ BINDIR = /usr/local/bin
+ LIBDIR = /usr/local/lib
+! MANDIR = /usr/manl
+
+ NAME = compface
+ UNNAME = uncompface
+ EXECUTABLE = $(BINDIR)/$(NAME)
+ UNEXECUTABLE = $(BINDIR)/$(UNNAME)
+ LIBNAME = lib$(NAME).a
+! LIBRARY = $(LIBDIR)/$(LIBNAME)
+ MAN1DIR = $(MANDIR)/man1
+ MAN3DIR = $(MANDIR)/man3
+ OBJECTS = arith.o file.o compress.o gen.o uncompface.o
+ SOURCES = compface.c uncompface.o arith.c file.c compress.c gen.c \
+ cmain.c uncmain.c
+ HDRS = compface.h data.h
+ OTHERS = README $(NAME).1 $(NAME).3 Makefile
+
+! CC = cc
+ CDEFS = $(SYSV)
+! CCOMP = -g
+ CFLAGS = $(CDEFS) $(CCOMP)
+
+! all: $(NAME) $(UNNAME)
+
+! $(NAME) : cmain.o compface.o $(LIBNAME)
+! $(CC) $(CFLAGS) -o $(NAME) cmain.o compface.o $(LIBNAME)
+
+ $(UNNAME) : uncmain.o $(LIBNAME)
+! $(CC) $(CFLAGS) -o $(UNNAME) uncmain.o $(LIBNAME)
+!
+! $(LIBNAME) : $(OBJECTS)
+! ar rc $(LIBNAME) $(OBJECTS)
+! -ranlib $(LIBNAME)
+
+ lint :
+ lint -abchx $(SOURCES)
+
+ clean :
+! rm -f *.o *.a *.sh core a.out $(NAME) $(UNNAME)
+
+ install : $(NAME) $(UNNAME) $(LIBNAME)
+! -cp $(NAME) $(EXECUTABLE)
+! strip $(EXECUTABLE)
+! -cp $(UNNAME) $(UNEXECUTABLE)
+! strip $(UNEXECUTABLE)
+! -cp $(NAME).1 $(MAN1DIR)
+! rm -f $(MAN1DIR)/$(UNNAME).1
+! -ln $(MAN1DIR)/$(NAME).1 $(MAN1DIR)/$(UNNAME).1
+! -cp $(LIBNAME) $(LIBRARY)
+! -cp $(NAME).3 $(MAN3DIR)
+! rm -f $(MAN3DIR)/$(UNNAME).3
+! -ln $(MAN3DIR)/$(NAME).3 $(MAN3DIR)/$(UNNAME).3
+
+ shar :
+ shar.script $(OTHERS) $(HDRS) $(SOURCES) > $(NAME).sh
+--- 24,82 ----
+
+ BINDIR = /usr/local/bin
+ LIBDIR = /usr/local/lib
+! MANDIR = /usr/local/man
+
+ NAME = compface
+ UNNAME = uncompface
+ EXECUTABLE = $(BINDIR)/$(NAME)
+ UNEXECUTABLE = $(BINDIR)/$(UNNAME)
+ LIBNAME = lib$(NAME).a
+! SHLIB_MAJOR = 1
+! SHLIB_MINOR = 6
+! LIB = $(NAME)
+! NOPROFILE = ''
+! LIBRARY = $(LIBDIR)
+ MAN1DIR = $(MANDIR)/man1
+ MAN3DIR = $(MANDIR)/man3
+ OBJECTS = arith.o file.o compress.o gen.o uncompface.o
+ SOURCES = compface.c uncompface.o arith.c file.c compress.c gen.c \
+ cmain.c uncmain.c
++ SRCS = arith.c file.c compress.c gen.c uncompface.c
+ HDRS = compface.h data.h
+ OTHERS = README $(NAME).1 $(NAME).3 Makefile
+
+! CC = cc
+ CDEFS = $(SYSV)
+! CCOMP = -pipe -O2
+ CFLAGS = $(CDEFS) $(CCOMP)
+
+! all: lib$(NAME).a lib$(NAME).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $(NAME) $(UNNAME)
+
+! $(NAME) : cmain.o compface.o
+! $(CC) $(CFLAGS) -o $(NAME) cmain.o compface.o -L./ -lcompface
+
+ $(UNNAME) : uncmain.o $(LIBNAME)
+! $(CC) $(CFLAGS) -o $(UNNAME) uncmain.o -L./ -lcompface
+
+ lint :
+ lint -abchx $(SOURCES)
+
+ clean :
+! rm -f *.o *po *so *.a *.so.* *.sh core a.out $(NAME) $(UNNAME)
+
+ install : $(NAME) $(UNNAME) $(LIBNAME)
+! install -c -s -o bin -m 755 $(NAME) $(EXECUTABLE)
+! install -c -s -o bin -m 755 $(UNNAME) $(UNEXECUTABLE)
+! install -c -g bin -o bin -m 444 $(NAME).1 $(MAN1DIR)
+! -gzip -f $(MAN1DIR)/$(NAME).1
+! -rm -f $(MAN1DIR)/$(UNNAME).1*
+! -ln $(MAN1DIR)/$(NAME).1.gz $(MAN1DIR)/$(UNNAME).1.gz
+! install -c -o bin -m 444 $(LIBNAME) $(LIBRARY)
+! install -c -o bin -m 444 lib$(NAME).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $(LIBRARY)
+! install -c -g bin -o bin -m 444 $(NAME).3 $(MAN3DIR)
+! -gzip -f $(MAN3DIR)/$(NAME).3
+! rm -f $(MAN3DIR)/$(UNNAME).3*
+! -ln $(MAN3DIR)/$(NAME).3.gz $(MAN3DIR)/$(UNNAME).3.gz
+
+ shar :
+ shar.script $(OTHERS) $(HDRS) $(SOURCES) > $(NAME).sh
+***************
+*** 88,90 ****
+--- 90,94 ----
+ gen.o: gen.c compface.h data.h
+ uncmain.o: uncmain.c compface.h data.h
+ uncompface.o: uncompface.c compface.h data.h
++
++ .include <bsd.lib.mk>
+\ No newline at end of file
+diff -c -N ../faces/compface/Makefile.old ./compface/Makefile.old
+*** ../faces/compface/Makefile.old Thu Jan 1 01:00:00 1970
+--- ./compface/Makefile.old Tue Dec 10 16:20:24 1996
+***************
+*** 0 ****
+--- 1,95 ----
++ #
++ # Compface - 48x48x1 image compression and decompression
++ #
++ # Copyright (c) James Ashton - Sydney University - June 1990.
++ #
++ # Written 11th November 1989.
++ #
++ # Permission is given to distribute these sources, as long as the
++ # copyright messages are not removed, and no monies are exchanged.
++ #
++ # No responsibility is taken for any errors on inaccuracies inherent
++ # either to the comments or the code of this program, but if reported
++ # to me, then an attempt will be made to fix them.
++
++ # SYSV is expected to be overridden by the calling Makefile.
++ #--------------------------------------------------------------------------
++ # If you are running on a Unix System V machine, then you should uncomment
++ # the next definition.
++ #
++ #SYSV = -DSYSV32
++ #--------------------------------------------------------------------------
++ # BINDIR, LIBDIR, and MANDIR are expected to be overridden by the
++ # calling Makefile
++
++ BINDIR = /usr/local/bin
++ LIBDIR = /usr/local/lib
++ MANDIR = /usr/manl
++
++ NAME = compface
++ UNNAME = uncompface
++ EXECUTABLE = $(BINDIR)/$(NAME)
++ UNEXECUTABLE = $(BINDIR)/$(UNNAME)
++ LIBNAME = lib$(NAME).a
++ LIBRARY = $(LIBDIR)
++ MAN1DIR = $(MANDIR)/man1
++ MAN3DIR = $(MANDIR)/man3
++ OBJECTS = arith.o file.o compress.o gen.o uncompface.o
++ SOURCES = compface.c uncompface.o arith.c file.c compress.c gen.c \
++ cmain.c uncmain.c
++ HDRS = compface.h data.h
++ OTHERS = README $(NAME).1 $(NAME).3 Makefile
++
++ CC = cc
++ CDEFS = $(SYSV)
++ CCOMP = -pipe -O2
++ CFLAGS = $(CDEFS) $(CCOMP) -L/usr/local/lib
++
++ all: $(NAME) $(UNNAME) lib$(NAME).so.1.6
++
++ $(NAME) : cmain.o compface.o
++ $(CC) $(CFLAGS) -o $(NAME) cmain.o compface.o -lcompface
++
++ $(UNNAME) : uncmain.o $(LIBNAME)
++ $(CC) $(CFLAGS) -o $(UNNAME) uncmain.o -lcompface
++
++ $(LIBNAME) : $(OBJECTS)
++ ar rc $(LIBNAME) $(OBJECTS)
++ -ranlib $(LIBNAME)
++ -rm -f $(OBJECTS)
++ make lib$(NAME).so.1.6 CCOMP='-pipe -O2 -fpic'
++
++ lib$(NAME).so.1.6: $(OBJECTS)
++ ld -Bshareable -o $@ $(OBJECTS)
++ -rm -f $(OBJECTS)
++
++ lint :
++ lint -abchx $(SOURCES)
++
++ clean :
++ rm -f *.o *.a *.so.* *.sh core a.out $(NAME) $(UNNAME)
++
++ install : $(NAME) $(UNNAME) $(LIBNAME)
++ install -c -s -o bin -m 755 $(NAME) $(EXECUTABLE)
++ install -c -s -o bin -m 755 $(UNNAME) $(UNEXECUTABLE)
++ install -c -g man -o man -m 444 $(NAME).1 $(MAN1DIR)
++ -rm -f $(MAN1DIR)/$(UNNAME).1
++ -ln $(MAN1DIR)/$(NAME).1 $(MAN1DIR)/$(UNNAME).1
++ install -c -o bin -m 444 $(LIBNAME) $(LIBRARY)
++ install -c -o bin -m 444 lib$(NAME).so.1.6 $(LIBRARY)
++ install -c -g man -o man -m 444 $(NAME).3 $(MAN3DIR)
++ rm -f $(MAN3DIR)/$(UNNAME).3
++ -ln $(MAN3DIR)/$(NAME).3 $(MAN3DIR)/$(UNNAME).3
++
++ shar :
++ shar.script $(OTHERS) $(HDRS) $(SOURCES) > $(NAME).sh
++ compress $(NAME).sh
++
++ arith.o: arith.c compface.h data.h
++ cmain.o: cmain.c compface.h data.h
++ compface.o: compface.c compface.h data.h
++ compress.o: compress.c compface.h data.h
++ file.o: file.c compface.h data.h
++ gen.o: gen.c compface.h data.h
++ uncmain.o: uncmain.c compface.h data.h
++ uncompface.o: uncompface.c compface.h data.h
+diff -c -N ../faces/compface/compface.1 ./compface/compface.1
+*** ../faces/compface/compface.1 Fri Mar 15 06:10:29 1991
+--- ./compface/compface.1 Tue Dec 10 17:28:10 1996
+***************
+*** 12,17 ****
+--- 12,19 ----
+ .LP
+ .B uncompface
+ [
++ .B \-X
++ ] [
+ .I infile
+ [
+ .I outfile
+***************
+*** 25,31 ****
+ face image files.
+ .I uncompface
+ is an inverse filter which performs an inverse transformation with no
+! loss of data.
+ The algorithm used is highly tuned for its purpose and achieves better
+ than a five to one compression ratio on average.
+ Arguments operate identically for both programmes.
+--- 27,33 ----
+ face image files.
+ .I uncompface
+ is an inverse filter which performs an inverse transformation with no
+! loss of data.
+ The algorithm used is highly tuned for its purpose and achieves better
+ than a five to one compression ratio on average.
+ Arguments operate identically for both programmes.
+***************
+*** 56,61 ****
+--- 58,69 ----
+ .I compface
+ averages less than 200 characters.
+ The average number of output lines is three.
++ .SH OPTIONS
++ .TP 12
++ .B \-X
++ The same as
++ .I uncompface
++ | ikon2xbm. Usefull for exmh!
+ .SH DIAGNOSTICS
+ Exit status is normally 0.
+ Possible errors include IO errors when opening, reading or writing
+diff -c -N ../faces/compface/file.c ./compface/file.c
+*** ../faces/compface/file.c Wed Jun 19 08:29:13 1991
+--- ./compface/file.c Wed Dec 11 09:25:17 1996
+***************
+*** 15,20 ****
+--- 15,22 ----
+
+ #include "compface.h"
+
++ int xbitmap=0;
++
+ void
+ BigRead(fbuf)
+ register char *fbuf;
+***************
+*** 127,136 ****
+--- 129,147 ----
+ {
+ register char *s, *t;
+ register int i, bits, digits, words;
++ extern int xbitmap;
++ int digsperword = DIGSPERWORD;
++ int wordsperline = WORDSPERLINE;
+
+ s = F;
+ t = fbuf;
+ bits = digits = words = i = 0;
++ if (xbitmap) {
++ sprintf(t,"#define noname_width 48\n#define noname_height 48\nstatic char noname_bits[] = {\n ");
++ while (*t) t++;
++ digsperword = 2;
++ wordsperline = 15;
++ }
+ while (s < F + PIXELS)
+ {
+ if ((bits == 0) && (digits == 0))
+***************
+*** 138,162 ****
+ *(t++) = '0';
+ *(t++) = 'x';
+ }
+! if (*(s++))
+! i = i * 2 + 1;
+! else
+! i *= 2;
+ if (++bits == BITSPERDIG)
+ {
+! *(t++) = *(i + HexDigits);
+ bits = i = 0;
+! if (++digits == DIGSPERWORD)
+ {
+ *(t++) = ',';
+ digits = 0;
+! if (++words == WORDSPERLINE)
+ {
+ *(t++) = '\n';
+ words = 0;
+ }
+ }
+ }
+ }
+ *(t++) = '\0';
+ }
+--- 149,191 ----
+ *(t++) = '0';
+ *(t++) = 'x';
+ }
+! if (xbitmap) {
+! if (*(s++))
+! i = (i >> 1) | 0x8;
+! else
+! i >>= 1;
+! }
+! else {
+! if (*(s++))
+! i = i * 2 + 1;
+! else
+! i *= 2;
+! }
+ if (++bits == BITSPERDIG)
+ {
+! if (xbitmap) {
+! t++;
+! t[-(digits & 1) * 2] = *(i + HexDigits);
+! }
+! else *(t++) = *(i + HexDigits);
+ bits = i = 0;
+! if (++digits == digsperword)
+ {
++ if (xbitmap && (s >= F + PIXELS)) break;
+ *(t++) = ',';
+ digits = 0;
+! if (++words == wordsperline)
+ {
+ *(t++) = '\n';
++ if (xbitmap) *(t++) = ' ';
+ words = 0;
+ }
+ }
+ }
++ }
++ if (xbitmap) {
++ sprintf(t, "}\n");
++ while (*t) t++;
+ }
+ *(t++) = '\0';
+ }
+diff -c -N ../faces/compface/uncmain.c ./compface/uncmain.c
+*** ../faces/compface/uncmain.c Thu Oct 24 03:28:07 1991
+--- ./compface/uncmain.c Wed Dec 11 09:27:47 1996
+***************
+*** 18,23 ****
+--- 18,25 ----
+ #include <fcntl.h>
+ #include "compface.h"
+
++ extern int xbitmap;
++
+ /* the buffer is longer than needed to handle sparse input formats */
+ #define FACEBUFLEN 2048
+ char fbuf[FACEBUFLEN];
+***************
+*** 59,64 ****
+--- 61,73 ----
+ while (**argv)
+ if (*((*argv)++) == '/')
+ cmdname = *argv; /* find the command's basename */
++
++ if (argc > 1 && !strcmp(argv[1], "-X"))
++ {
++ xbitmap++;
++ argc--;
++ argv++;
++ }
+
+ if (argc > 3)
+ {
diff --git a/mail/faces/files/patch-ac b/mail/faces/files/patch-ac
new file mode 100644
index 000000000000..4fdaf2b85546
--- /dev/null
+++ b/mail/faces/files/patch-ac
@@ -0,0 +1,67 @@
+-L/usr/X11R6/lib diff -c -N ../faces/filters/Makefile ./filters/Makefile
+*** ../faces/filters/Makefile Thu Oct 24 03:26:14 1991
+--- ./filters/Makefile Tue Dec 10 17:17:50 1996
+***************
+*** 34,40 ****
+
+ CC = cc
+ CDEFS = $(NOINDEX) $(SYSV)
+! CCOMP = -g
+ CFLAGS = $(CCOMP) $(CDEFS)
+
+ all: $(BINARIES)
+--- 34,40 ----
+
+ CC = cc
+ CDEFS = $(NOINDEX) $(SYSV)
+! CCOMP = -pipe -O2
+ CFLAGS = $(CCOMP) $(CDEFS)
+
+ all: $(BINARIES)
+***************
+*** 55,66 ****
+ rm -f *.o $(BINARIES)
+
+ install: $(BINARIES)
+! install -s -m 751 icon2ikon $(BINDIR)
+! install -s -m 751 ikon2icon $(BINDIR)
+! install -s -m 751 rs2icon $(BINDIR)
+! install -c -m 755 fs2ikon $(BINDIR)
+! install -c -m 755 fs2xbm $(BINDIR)
+! install -c -m 755 ikon2xbm $(BINDIR)
+! install -c -m 755 xbm2ikon $(BINDIR)
+! install -c -m 755 xbmcut48 $(BINDIR)
+! install -c -m 755 xbmsize48 $(BINDIR)
+--- 55,66 ----
+ rm -f *.o $(BINARIES)
+
+ install: $(BINARIES)
+! install -s -o bin -m 751 icon2ikon $(BINDIR)
+! install -s -o bin -m 751 ikon2icon $(BINDIR)
+! install -s -o bin -m 751 rs2icon $(BINDIR)
+! install -c -o bin -m 755 fs2ikon $(BINDIR)
+! install -c -o bin -m 755 fs2xbm $(BINDIR)
+! install -c -o bin -m 755 ikon2xbm $(BINDIR)
+! install -c -o bin -m 755 xbm2ikon $(BINDIR)
+! install -c -o bin -m 755 xbmcut48 $(BINDIR)
+! install -c -o bin -m 755 xbmsize48 $(BINDIR)
+diff -c -N ../faces/filters/ikon2xbm ./filters/ikon2xbm
+*** ../faces/filters/ikon2xbm Tue May 7 00:51:50 1991
+--- ./filters/ikon2xbm Tue Dec 10 19:45:55 1996
+***************
+*** 26,32 ****
+ \2\
+ \3/' > $tmp
+
+! dim=`wc -l < $tmp | awk '{ print 4 * sqrt }'`
+
+ pr -l1 -t -8 -s, < $tmp |
+ (cat << EOF
+--- 26,32 ----
+ \2\
+ \3/' > $tmp
+
+! dim=`wc -l < $tmp | awk '{ print 4 * sqrt(144) }'`
+
+ pr -l1 -t -8 -s, < $tmp |
+ (cat << EOF
diff --git a/mail/faces/files/patch-ad b/mail/faces/files/patch-ad
new file mode 100644
index 000000000000..ef2c4cac8dcf
--- /dev/null
+++ b/mail/faces/files/patch-ad
@@ -0,0 +1,99 @@
+diff -c -N ../faces/scripts/Makefile ./scripts/Makefile
+*** ../faces/scripts/Makefile Tue May 7 00:55:26 1991
+--- ./scripts/Makefile Wed Dec 11 09:30:23 1996
+***************
+*** 15,30 ****
+ BINDIR = /usr/local/faces/bin
+
+ install:
+! install -c -m 755 addxface $(BINDIR)
+! install -c -m 755 mailq.faces $(BINDIR)
+! install -c -m 755 from.faces $(BINDIR)
+! install -c -m 755 lpqall.faces $(BINDIR)
+! install -c -m 755 rotary.faces $(BINDIR)
+! install -c -m 755 facesaddr $(BINDIR)
+! install -c -m 755 facesall $(BINDIR)
+! install -c -m 755 mkfacesindex $(BINDIR)
+! install -c -m 755 newscheck.faces $(BINDIR)
+! install -c -m 755 newsfrom.faces $(BINDIR)
+
+ install2:
+ install -c -m 755 faces $(LBINDIR)
+--- 15,30 ----
+ BINDIR = /usr/local/faces/bin
+
+ install:
+! install -c -o bin -m 755 addxface $(BINDIR)
+! install -c -o bin -m 755 mailq.faces $(BINDIR)
+! install -c -o bin -m 755 from.faces $(BINDIR)
+! install -c -o bin -m 755 lpqall.faces $(BINDIR)
+! install -c -o bin -m 755 rotary.faces $(BINDIR)
+! install -c -o bin -m 755 facesaddr $(BINDIR)
+! install -c -o bin -m 755 facesall $(BINDIR)
+! install -c -o bin -m 755 mkfacesindex $(BINDIR)
+! install -c -o bin -m 755 newscheck.faces $(BINDIR)
+! install -c -o bin -m 755 newsfrom.faces $(BINDIR)
+
+ install2:
+ install -c -m 755 faces $(LBINDIR)
+diff -c -N ../faces/scripts/addxface ./scripts/addxface
+*** ../faces/scripts/addxface Tue Nov 19 05:05:58 1991
+--- ./scripts/addxface Tue Dec 10 17:52:45 1996
+***************
+*** 15,21 ****
+ # than version v1.6.0:
+ #$olddb = 1;
+
+! $faces = '/usr/local/faces';
+ $umask = 000;
+
+ # addxface - install any X-Face: in the header of the given mail message
+--- 15,21 ----
+ # than version v1.6.0:
+ #$olddb = 1;
+
+! $faces = '/usr/local/share/faces';
+ $umask = 000;
+
+ # addxface - install any X-Face: in the header of the given mail message
+diff -c -N ../faces/scripts/facesall ./scripts/facesall
+*** ../faces/scripts/facesall Mon Nov 25 01:30:24 1991
+--- ./scripts/facesall Tue Dec 10 17:57:49 1996
+***************
+*** 20,26 ****
+ #$olddb = 1;
+
+ $cols = 15; $rows = 13;
+! $FACEDIR = '/usr/local/faces';
+
+ # facesall - show all available faces in the given faces bitmap directory
+ # usage: facesall [ -a ] [ bitmap_directory ]
+--- 20,26 ----
+ #$olddb = 1;
+
+ $cols = 15; $rows = 13;
+! $FACEDIR = '/usr/local/share/faces';
+
+ # facesall - show all available faces in the given faces bitmap directory
+ # usage: facesall [ -a ] [ bitmap_directory ]
+diff -c -N ../faces/scripts/mkfacesindex ./scripts/mkfacesindex
+*** ../faces/scripts/mkfacesindex Tue Nov 19 05:05:58 1991
+--- ./scripts/mkfacesindex Tue Dec 10 17:58:16 1996
+***************
+*** 15,21 ****
+ # than version v1.6.0:
+ #$olddb = 1;
+
+! $FACEDIR = '/usr/local/faces';
+
+ # mkfacesindex - make a .index file at the root of a faces database that
+ # facesall can use more speedily instead of tabulating the
+--- 15,21 ----
+ # than version v1.6.0:
+ #$olddb = 1;
+
+! $FACEDIR = '/usr/local/share/faces';
+
+ # mkfacesindex - make a .index file at the root of a faces database that
+ # facesall can use more speedily instead of tabulating the
+Common subdirectories: ../faces/scripts/rotary and ./scripts/rotary
diff --git a/mail/faces/pkg-comment b/mail/faces/pkg-comment
new file mode 100644
index 000000000000..6785a5dac135
--- /dev/null
+++ b/mail/faces/pkg-comment
@@ -0,0 +1 @@
+faces - visual mail, user and print face server
diff --git a/mail/faces/pkg-descr b/mail/faces/pkg-descr
new file mode 100644
index 000000000000..27ac7d63518d
--- /dev/null
+++ b/mail/faces/pkg-descr
@@ -0,0 +1,56 @@
+What is faces?
+--------------
+
+This is the third general release of a "faces" server for monitoring a
+list visually. Typically this is a list of incoming mail messages, jobs
+in the print queue or users on a system.
+
+Faces has five different modes of operation:
+
+ (a) The default will monitor for new mail. By default, only the last ten
+ messages are displayed. Using the left mouse button it is possible to
+ toggle the text in the faces window. This will either be the username
+ or the time the mail message arrived. The icon shows the image of the
+ last message to arrive.
+
+ (b) You can monitor the whole of a mail file. The open window will
+ automatically adjust it's size to correctly show the face icons. The
+ open window options are the username or the timestamp and number of
+ message from that user. The icon will display the image of the last
+ message, and a count of the total number of messages in the spool
+ file or mail folder.
+
+ (c) Monitoring a given print queue. This will generate a single face icon
+ showing the job at the top of the print queue, and the text message
+ will display the printer name plus the number of jobs to be printed.
+ Opening the window will show images of all the jobs in the queue. The
+ text on each image can be toggled, choices being the owners' name and
+ the size of the job in bytes.
+
+ (d) Monitoring users on a machine. For each user, a face image is displayed.
+ Text can be either the username or the time they logged on. The iconic
+ form displays the total number of users.
+
+ (e) Custom monitoring. You can specify a program or shell script to run.
+ The standard output from this program will be read by the faces program,
+ and the appropriate faces displayed using the information provided. The
+ format of this face information is given in the faces manual page.
+
+Included with this release, is the ability to include a face image with
+your mail message using an X-Face header line (plus continuation lines).
+Faces expects this line to be in a certain compressed format, and
+uncompresses it, and displays that image on-the-fly. There is also an
+option to automatically update the faces database with this new image.
+
+Audio capabilities are also provided as a conditional compilation option.
+
+By default, after every sixty seconds, faces will recheck the mail file or
+the print queue. If the mail spool file has changed size, it will produce a
+chain of records for which it has face icons.
+
+This release contains graphical interfaces for NeWS, SunView, X11 and XView.
+
+Faces is based on the AT&T v8 face server called vismon, but is not derived
+from vismon sources. With the previous version came vismon compatibility.
+Note that that resulted in a few changes from the way faces v1.1 worked.
+See the manual pages for more details.
diff --git a/mail/faces/pkg-plist b/mail/faces/pkg-plist
new file mode 100644
index 000000000000..e7a6b0162975
--- /dev/null
+++ b/mail/faces/pkg-plist
@@ -0,0 +1,36 @@
+share/faces/machine.tab
+share/faces/people.tab
+bin/compface
+bin/uncompface
+man/man1/compface.1.gz
+man/man1/uncompface.1.gz
+lib/libcompface.a
+lib/libcompface.so.1.6
+man/man3/compface.3.gz
+man/man3/uncompface.3.gz
+bin/icon2ikon
+bin/ikon2icon
+bin/rs2icon
+bin/fs2ikon
+bin/fs2xbm
+bin/ikon2xbm
+bin/xbm2ikon
+bin/xbmcut48
+bin/xbmsize48
+bin/addxface
+bin/mailq.faces
+bin/from.faces
+bin/lpqall.faces
+bin/rotary.faces
+bin/facesaddr
+bin/facesall
+bin/mkfacesindex
+bin/newscheck.faces
+bin/newsfrom.faces
+bin/faces
+bin/face_update
+bin/faces.sendmail
+man/man1/faces.1.gz
+man/man1/face_update.1.gz
+@cwd /usr/X11R6
+lib/X11/app-defaults/Faces