summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorhubertf <hubertf>1997-11-22 05:27:54 +0000
committerhubertf <hubertf>1997-11-22 05:27:54 +0000
commit6f0caf91a0ced531cc977f287a4acf52f125cbbc (patch)
tree9c8356fb3c25e5760a40e87075e69fb9bafcc7cd /mail
parente383deaa4bb49767fb93248b132a34a79135e9c5 (diff)
downloadpkgsrc-6f0caf91a0ced531cc977f287a4acf52f125cbbc.tar.gz
MUA
Diffstat (limited to 'mail')
-rw-r--r--mail/pine/Makefile25
-rw-r--r--mail/pine/files/Makefile15
-rw-r--r--mail/pine/files/dot.pinerc.pgp.sample16
-rw-r--r--mail/pine/files/md51
-rw-r--r--mail/pine/files/pgpdecode14
-rw-r--r--mail/pine/files/pgpencrypt4
-rw-r--r--mail/pine/files/pgpsign4
-rw-r--r--mail/pine/patches/patch-aa100
-rw-r--r--mail/pine/patches/patch-ab15
-rw-r--r--mail/pine/patches/patch-ac411
-rw-r--r--mail/pine/patches/patch-ad138
-rw-r--r--mail/pine/patches/patch-ae149
-rw-r--r--mail/pine/patches/patch-af37
-rw-r--r--mail/pine/patches/patch-ag28
-rw-r--r--mail/pine/patches/patch-ah15
-rw-r--r--mail/pine/patches/patch-ai69
-rw-r--r--mail/pine/patches/patch-aj17
-rw-r--r--mail/pine/patches/patch-ak50
-rw-r--r--mail/pine/patches/patch-al55
-rw-r--r--mail/pine/patches/patch-am19
-rw-r--r--mail/pine/pkg/COMMENT1
-rw-r--r--mail/pine/pkg/DESCR18
-rw-r--r--mail/pine/pkg/PLIST13
-rwxr-xr-xmail/pine/scripts/configure7
24 files changed, 1221 insertions, 0 deletions
diff --git a/mail/pine/Makefile b/mail/pine/Makefile
new file mode 100644
index 00000000000..8d75b0705bc
--- /dev/null
+++ b/mail/pine/Makefile
@@ -0,0 +1,25 @@
+# New ports collection makefile for: pine
+# http://www.washington.edu/pine/
+# Version required: 3.96
+# Date created: 03 September 1994
+# Whom: mr
+#
+# $Id: Makefile,v 1.1.1.1 1997/11/22 05:27:54 hubertf Exp $
+#
+
+DISTNAME= pine3.96
+PKGNAME= pine-3.96
+CATEGORIES= mail news
+MASTER_SITES= ftp://ftp.cac.washington.edu/pine/
+
+MAINTAINER= ports@FreeBSD.org
+
+MAN1= pine.1 pico.1 pilot.1
+
+post-install:
+ install -d -o ${SHAREOWN} -g ${SHAREGRP} -m 755 \
+ ${PREFIX}/share/doc/pine
+ cd ${WRKSRC} && \
+ ${INSTALL_DATA} doc/tech-notes.txt ${PREFIX}/share/doc/pine
+
+.include <bsd.port.mk>
diff --git a/mail/pine/files/Makefile b/mail/pine/files/Makefile
new file mode 100644
index 00000000000..2a5748e8ecc
--- /dev/null
+++ b/mail/pine/files/Makefile
@@ -0,0 +1,15 @@
+all:
+ ./build bsf
+install:
+ install -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bin/libpico.so.1.3 ${PREFIX}/lib/libpico.so.1.3
+ /sbin/ldconfig -m ${PREFIX}/lib
+ install -c -s -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} bin/pico ${PREFIX}/bin/pico
+ install -c -s -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} bin/pilot ${PREFIX}/bin/pilot
+ install -c -s -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} bin/pine ${PREFIX}/bin/pine
+ install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ../../files/pgpencrypt ${PREFIX}/bin/pgpencrypt
+ install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ../../files/pgpdecode ${PREFIX}/bin/pgpdecode
+ install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ../../files/pgpsign ${PREFIX}/bin/pgpsign
+ install -c -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} ../../files/dot.pinerc.pgp.sample ${PREFIX}/etc/dot.pinerc.pgp.sample
+ install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} doc/pico.1 ${PREFIX}/man/man1/pico.1
+ install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} doc/pilot.1 ${PREFIX}/man/man1/pilot.1
+ install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} doc/pine.1 ${PREFIX}/man/man1/pine.1
diff --git a/mail/pine/files/dot.pinerc.pgp.sample b/mail/pine/files/dot.pinerc.pgp.sample
new file mode 100644
index 00000000000..1f7df9e4fe2
--- /dev/null
+++ b/mail/pine/files/dot.pinerc.pgp.sample
@@ -0,0 +1,16 @@
+# List of features; see Pine's Setup/options menu for the current set.
+# e.g. feature-list= select-without-confirm, signature-at-bottom
+# Default condition for all of the features is no-.
+feature-list=compose-send-offers-first-filter
+
+# This variable takes a list of programs that message text is piped into
+# after MIME decoding, prior to display.
+display-filters="-----BEGIN PGP" /usr/local/bin/pgpdecode
+
+# This defines a program that message text is piped into before MIME
+# encoding, prior to sending
+sending-filters=/usr/local/bin/pgpsign,
+ /usr/local/bin/pgpencrypt _RECIPIENTS_
+
+# hook, to get rid of the sucking 'quoted printable' ;-))
+# enable-8bit-esmtp-negotiation
diff --git a/mail/pine/files/md5 b/mail/pine/files/md5
new file mode 100644
index 00000000000..383150f4563
--- /dev/null
+++ b/mail/pine/files/md5
@@ -0,0 +1 @@
+MD5 (pine3.96.tar.gz) = bf32b0bf1296ff2151e1bc7f546d43ab
diff --git a/mail/pine/files/pgpdecode b/mail/pine/files/pgpdecode
new file mode 100644
index 00000000000..86d5a97daa0
--- /dev/null
+++ b/mail/pine/files/pgpdecode
@@ -0,0 +1,14 @@
+#! /bin/sh
+# ---------- pgpdecode ---------
+# 21.03.96 Roland Rosenfeld <roland@spinnaker.rhein.de>
+#
+# Sun Mar 24 12:01:21 MET 1996 Andreas Klemm <andreas@knobel.gun.de>
+# The tmp files in the original version were world readable for
+# the short time of unpacking, setting suitable umask prevents this
+#
+umask 077
+trap "rm -f /tmp/pgpdecode.???.$$; exit" 0 1 2 15
+(pgp -f > /tmp/pgpdecode.txt.$$) 2>&1 | tee /tmp/pgpdecode.pgp.$$ 1>&2
+sed -e 's/^/| /' /tmp/pgpdecode.pgp.$$
+echo " "
+cat /tmp/pgpdecode.txt.$$
diff --git a/mail/pine/files/pgpencrypt b/mail/pine/files/pgpencrypt
new file mode 100644
index 00000000000..b727b669315
--- /dev/null
+++ b/mail/pine/files/pgpencrypt
@@ -0,0 +1,4 @@
+#!/bin/sh
+# ---------- pgpencrypt ---------
+# 21.03.96 Roland Rosenfeld <roland@spinnaker.rhein.de>
+pgp -feast $*
diff --git a/mail/pine/files/pgpsign b/mail/pine/files/pgpsign
new file mode 100644
index 00000000000..e56326cb1bf
--- /dev/null
+++ b/mail/pine/files/pgpsign
@@ -0,0 +1,4 @@
+#!/bin/sh
+# ---------- pgpsign ---------
+# 21.03.96 Roland Rosenfeld <roland@spinnaker.rhein.de>
+pgp -fast
diff --git a/mail/pine/patches/patch-aa b/mail/pine/patches/patch-aa
new file mode 100644
index 00000000000..ae7d1c17568
--- /dev/null
+++ b/mail/pine/patches/patch-aa
@@ -0,0 +1,100 @@
+*** pico/makefile.bsf.orig Fri Jun 14 00:15:20 1996
+--- pico/makefile.bsf Fri Jun 14 00:15:20 1996
+***************
+*** 0 ****
+--- 1,95 ----
++ #
++ # Michael Seibel
++ # Networks and Distributed Computing
++ # Computing and Communications
++ # University of Washington
++ # Administration Builiding, AG-44
++ # Seattle, Washington, 98195, USA
++ # Internet: mikes@cac.washington.edu
++ #
++ # Please address all bugs and comments to "pine-bugs@cac.washington.edu"
++ #
++ #
++ # Pine and Pico are registered trademarks of the University of Washington.
++ # No commercial use of these trademarks may be made without prior written
++ # permission of the University of Washington.
++ #
++ # Pine, Pico, and Pilot software and its included text are Copyright
++ # 1989-1996 by the University of Washington.
++ #
++ # The full text of our legal notices is contained in the file called
++ # CPYRIGHT, included with this distribution.
++ #
++
++ #
++ # Makefile for the FreeBSD shared-lib version of the PINE composer library and
++ # stand-alone editor pico.
++ #
++
++ #includes symbol info for debugging
++ DASHO= # -g
++ #for normal build
++ #DASHO= -O
++
++ STDCFLAGS= -DBSDI -DBSDI2 -DPOSIX -DJOB_CONTROL -DANSI -DMOUSE
++ CFLAGS+= $(EXTRACFLAGS) $(DASHO) $(STDCFLAGS)
++
++ # switches for library building
++ LIBCMD= ar
++ LIBARGS= ru
++ RANLIB= ranlib
++
++ LIBS= $(EXTRALIBES) -ltermcap
++
++ OFILES= attach.o ansi.o basic.o bind.o browse.o buffer.o \
++ composer.o display.o file.o fileio.o line.o osdep.o \
++ pico.o random.o region.o search.o spell.o tcap.o window.o word.o
++
++ # Lets be elite and not retype in the above
++ SOFILES= ${OFILES:.o=.so}
++
++ CFILES= attach.c ansi.c basic.c bind.c browse.c buffer.c \
++ composer.c display.c file.c fileio.c line.c osdep.c \
++ pico.c random.c region.c search.c spell.c tcap.c window.c word.c
++
++ HFILES= estruct.h edef.h efunc.h ebind.h pico.h osdep.h
++
++ # Need this for the shared library rule to work correctly
++ .SUFFIXES: .o .so
++
++ #
++ # dependencies for the Unix versions of pico and libpico.a
++ #
++ all: pico pilot
++
++ osdep.c: os_unix.c
++ rm -f osdep.c
++ cp os_unix.c osdep.c
++
++ osdep.h: os_unix.h
++ rm -f osdep.h
++ cp os_unix.h osdep.h
++
++ libpico.a: osdep.c osdep.h $(OFILES)
++ $(LIBCMD) $(LIBARGS) libpico.a $(OFILES)
++ $(RANLIB) libpico.a
++
++ libpico.so.1.3: osdep.c osdep.h $(SOFILES)
++ ld -Bshareable -x -o libpico.so.1.3 $(SOFILES)
++
++ pico: main.c libpico.so.1.3
++ $(CC) $(CFLAGS) main.c -L. -lpico $(LIBS) -o pico
++
++ pilot: pilot.c libpico.so.1.3
++ $(CC) $(CFLAGS) pilot.c -L. -lpico $(LIBS) -o pilot
++
++ .c.so: ; $(CC) -fpic -DPIC -c $(CFLAGS) ${@:.so=.c} -o $@
++
++ .c.o: ; $(CC) -c $(CFLAGS) $*.c
++
++ $(OFILES): $(HFILES)
++
++ $(SOFILES): $(HFILES)
++
++ clean:
++ rm -f *.a *.so.1.3 *.o *.so *~ osdep.c osdep.h pico pilot
diff --git a/mail/pine/patches/patch-ab b/mail/pine/patches/patch-ab
new file mode 100644
index 00000000000..ea73b2fddef
--- /dev/null
+++ b/mail/pine/patches/patch-ab
@@ -0,0 +1,15 @@
+*** pico/os_unix.c.orig Wed Jun 12 15:47:21 1996
+--- pico/os_unix.c Fri Jun 14 00:15:30 1996
+***************
+*** 1343,1347 ****
+ extern int sys_nerr;
+
+! return((err >= 0 && err < sys_nerr) ? sys_errlist[err] : NULL);
+ }
+
+--- 1343,1347 ----
+ extern int sys_nerr;
+
+! return(((err >= 0) && (err < sys_nerr)) ? (char*)sys_errlist[err] : NULL);
+ }
+
diff --git a/mail/pine/patches/patch-ac b/mail/pine/patches/patch-ac
new file mode 100644
index 00000000000..40842ed0c9b
--- /dev/null
+++ b/mail/pine/patches/patch-ac
@@ -0,0 +1,411 @@
+*** pine/osdep/os-bsf.h.orig Tue Dec 3 16:36:18 1996
+--- pine/osdep/os-bsf.h Tue Dec 3 17:46:48 1996
+***************
+*** 0 ****
+--- 1,406 ----
++ /*----------------------------------------------------------------------
++
++ T H E P I N E M A I L S Y S T E M
++
++ Laurence Lundblade and Mike Seibel
++ Networks and Distributed Computing
++ Computing and Communications
++ University of Washington
++ Administration Builiding, AG-44
++ Seattle, Washington, 98195, USA
++ Internet: lgl@CAC.Washington.EDU
++ mikes@CAC.Washington.EDU
++
++ Please address all bugs and comments to "pine-bugs@cac.washington.edu"
++
++
++ Pine and Pico are registered trademarks of the University of Washington.
++ No commercial use of these trademarks may be made without prior written
++ permission of the University of Washington.
++
++ Pine, Pico, and Pilot software and its included text are Copyright
++ 1989-1996 by the University of Washington.
++
++ The full text of our legal notices is contained in the file called
++ CPYRIGHT, included with this distribution.
++
++
++ Pine is in part based on The Elm Mail System:
++ ***********************************************************************
++ * The Elm Mail System - Revision: 2.13 *
++ * *
++ * Copyright (c) 1986, 1987 Dave Taylor *
++ * Copyright (c) 1988, 1989 USENET Community Trust *
++ ***********************************************************************
++
++
++ ----------------------------------------------------------------------*/
++
++ #ifndef _OS_INCLUDED
++ #define _OS_INCLUDED
++
++
++ /*----------------------------------------------------------------------
++
++ This first section has some constants that you may want to change
++ for your configuration. This is the BSD/386 Gamma 4.1 version of the
++ os.h file.
++ Further down in the file are os-dependent things that need to be set up
++ correctly for each os. They aren't interesting, they just have to be
++ right. There are also a few constants down there that may be of
++ interest to some.
++
++ ----*/
++
++ /*----------------------------------------------------------------------
++ Define this if you want the disk quota to be checked on startup.
++ Of course, this only makes sense if your system has quotas. If it doesn't,
++ there should be a dummy disk_quota() routine in os-xxx.c so that defining
++ this won't be harmful anyway.
++ ----*/
++ /* #define USE_QUOTAS /* comment out if you never want quotas checked */
++
++
++
++ /*----------------------------------------------------------------------
++ Define this if you want to allow the users to change their From header
++ line when they send out mail. The users will still have to configure
++ either default-composer-hdrs or customized-hdrs to get at the From
++ header, even if this is set.
++ ----*/
++ #define ALLOW_CHANGING_FROM /* comment out to not allow changing From */
++
++
++
++ /*----------------------------------------------------------------------
++ Define this if you want to allow users to turn on the feature that
++ enables sending to take place in a fork()'d child. This may reduce
++ the time on the user's wall clock it takes to post mail.
++ NOTE: You'll also have to make sure the appropriate osdep/postreap.*
++ file is included in the os-*.ic file for your system.
++ ----*/
++ #define BACKGROUND_POST /* comment out to disable posting from child */
++
++
++
++ /*----------------------------------------------------------------------
++ Turn this on if you want to disable the keyboard lock function.
++ ----*/
++ /* #define NO_KEYBOARD_LOCK */
++
++
++
++ /*----------------------------------------------------------------------
++ Turn this on to trigger QP encoding of sent message text if it contains
++ "From " at the beginning of a line or "." on a line by itself.
++ ----*/
++ /* #define ENCODE_FROMS */
++
++
++
++ /*----------------------------------------------------------------------
++ Timeouts (seconds)
++ ----*/
++ #define DF_MAILCHECK "150" /* How often to check for new mail, by
++ default. There's some expense in doing
++ this so it shouldn't be done too
++ frequently. (Can be set in config
++ file now.) */
++
++ /*----------------------------------------------------------------------
++ Check pointing (seconds)
++ ----*/
++ #define CHECK_POINT_TIME (7*60) /* Check point the mail file (write changes
++ to disk) if more than CHECK_POINT_TIME
++ seconds have passed since the first
++ change was made. Depending on what is
++ happening, we may wait up to three times
++ this long, since we don't want to do the
++ slow check pointing and irritate the user. */
++
++ #define CHECK_POINT_FREQ (12) /* Check point the mail file if there have been
++ at least this many (status) changes to the
++ current mail file. We may wait longer if
++ it isn't a good time to do the checkpoint. */
++
++
++
++ /*----------------------------------------------------------------------
++ In scrolling through text, the number of lines from the previous
++ screen to overlap when showing the next screen. Usually set to two.
++ ----*/
++ #define DF_OVERLAP "2"
++
++
++
++ /*----------------------------------------------------------------------
++ When scrolling screens, the number of lines from top and bottom of
++ the screen to initiate single-line scrolling.
++ ----*/
++ #define DF_MARGIN "0"
++
++
++
++ /*----------------------------------------------------------------------
++ Default fill column for pine composer and maximum fill column. The max
++ is used to stop people from setting their custom fill column higher than
++ that number. Note that DF_FILLCOL is a string but MAX_FILLCOL is an integer.
++ ----*/
++ #define DF_FILLCOL "74"
++ #define MAX_FILLCOL 80
++
++
++
++ /*----- System-wide config file ----------------------------------------*/
++ #define SYSTEM_PINERC "/usr/local/etc/pine.conf"
++ #define SYSTEM_PINERC_FIXED "/usr/local/etc/pine.conf.fixed"
++
++
++
++ /*----------------------------------------------------------------------
++ The default folder names and folder directories (some for backwards
++ compatibility). Think hard before changing any of these.
++ ----*/
++ #define DF_DEFAULT_FCC "sent-mail"
++ #define DEFAULT_SAVE "saved-messages"
++ #define POSTPONED_MAIL "postponed-mail"
++ #define POSTPONED_MSGS "postponed-msgs"
++ #define INTERRUPTED_MAIL ".pine-interrupted-mail"
++ #define DEADLETTER "dead.letter"
++ #define DF_MAIL_DIRECTORY "mail"
++ #define INBOX_NAME "INBOX"
++ #define DF_SIGNATURE_FILE ".signature"
++ #define DF_ELM_STYLE_SAVE "no"
++ #define DF_HEADER_IN_REPLY "no"
++ #define DF_OLD_STYLE_REPLY "no"
++ #define DF_USE_ONLY_DOMAIN_NAME "no"
++ #define DF_FEATURE_LEVEL "sapling"
++ #define DF_SAVE_BY_SENDER "no"
++ #define DF_SORT_KEY "arrival"
++ #define DF_AB_SORT_RULE "fullname-with-lists-last"
++ #define DF_SAVED_MSG_NAME_RULE "default-folder"
++ #define DF_FCC_RULE "default-fcc"
++ #define DF_STANDARD_PRINTER "lpr"
++ #define ANSI_PRINTER "attached-to-ansi"
++ #define DF_ADDRESSBOOK ".addressbook"
++ #define DF_BUGS_FULLNAME "Pine Developers"
++ #define DF_BUGS_ADDRESS "pine-bugs@cac.washington.edu"
++ #define DF_SUGGEST_FULLNAME "Pine Developers"
++ #define DF_SUGGEST_ADDRESS "pine-suggestions@cac.washington.edu"
++ #define DF_PINEINFO_FULLNAME "Pine-Info News Group"
++ #define DF_PINEINFO_ADDRESS "pine-info@cac.washington.edu"
++ #define DF_LOCAL_FULLNAME "Local Support"
++ #define DF_LOCAL_ADDRESS "postmaster"
++ #define DF_KBLOCK_PASSWD_COUNT "1"
++
++ /*----------------------------------------------------------------------
++ The default printer when pine starts up for the first time with no printer
++ ----*/
++ #define DF_DEFAULT_PRINTER ANSI_PRINTER
++
++
++
++ /*----------------------------------------------------------------------
++
++ OS dependencies, BSD/386 Gamma 4.1 version. See also the os-bsi.c files.
++ The following stuff may need to be changed for a new port, but once
++ the port is done, it won't change. At the bottom of the file are a few
++ constants that you may want to configure differently than they
++ are configured, but probably not.
++
++ ----*/
++
++
++
++ /*----------------- Are we ANSI? ---------------------------------------*/
++ #define ANSI /* this is an ANSI compiler */
++
++ /*------ If our compiler doesn't understand type void ------------------*/
++ /* #define void char /* no void in compiler */
++
++
++
++ /*------- Some more includes that should usually be correct ------------*/
++ #include <pwd.h>
++ #include <sys/wait.h>
++ #include <sys/stat.h>
++ #include <fcntl.h>
++ #include <netdb.h>
++
++
++
++ /*----------------- locale.h -------------------------------------------*/
++ #include <locale.h> /* To make matching and sorting work right */
++
++
++
++ /*----------------- time.h ---------------------------------------------*/
++ #include <time.h>
++ /* plain time.h isn't enough on some systems */
++ /* #include <sys/time.h> /* For struct timeval usually in time.h */
++
++
++
++ /*--------------- signal.h ---------------------------------------------*/
++ #include <signal.h> /* sometimes both required, sometimes */
++ /* #include <sys/signal.h> /* only one or the other */
++
++ #define SigType void /* value returned by sig handlers is void */
++ /* #define SigType int /* value returned by sig handlers is int */
++
++ #define POSIX_SIGNALS /* use POSIX signal semantics (ttyin.c) */
++ /* #define SYSV_SIGNALS /* use System-V signal semantics (ttyin.c) */
++
++
++
++
++ /*-------------- A couple typedef's for integer sizes ------------------*/
++ typedef unsigned int usign32_t;
++ typedef unsigned short usign16_t;
++
++
++
++ /*-------------- qsort argument type -----------------------------------*/
++ #define QSType void /* qsort arg is of type void * */
++ /* #define QSType char /* qsort arg is of type char * */
++
++
++
++ /*-------------- fcntl flag to set non-blocking IO ---------------------*/
++ #define NON_BLOCKING_IO O_NONBLOCK /* POSIX style */
++ /* #define NON_BLOCKING_IO FNDELAY /* good ol' bsd style */
++
++
++
++ /*------ how help text is referenced (always char ** on Unix) ----------*/
++ #define HelpType char **
++ #define NO_HELP (char **)NULL
++
++
++
++ /*
++ * Choose one of the following three terminal drivers
++ */
++
++ /*--------- Good 'ol BSD -----------------------------------------------*/
++ /* #include <sgtty.h> /* BSD-based systems */
++
++ /*--------- System V terminal driver -----------------------------------*/
++ /* #define HAVE_TERMIO /* this is for pure System V */
++ /* #include <termio.h> /* Sys V */
++
++ /*--------- POSIX terminal driver --------------------------------------*/
++ #define HAVE_TERMIOS /* this is an alternative */
++ #include <termios.h> /* POSIX */
++
++
++
++ /*-------- Use poll system call instead of select ----------------------*/
++ /* #define USE_POLL /* use the poll() system call instead of select() */
++
++
++
++ /*-------- Use terminfo database instead of termcap --------------------*/
++ /* #define USE_TERMINFO /* use terminfo instead of termcap */
++
++
++
++ /*-- What argument does wait(2) take? Define this if it is a union -----*/
++ /* #define HAVE_WAIT_UNION /* the arg to wait is a union wait * */
++
++
++
++ /*-------- Is window resizing available? -------------------------------*/
++ #if defined(TIOCGWINSZ) && defined(SIGWINCH)
++ #define RESIZING /* SIGWINCH and friends */
++ #endif
++
++
++
++ /*-------- If no vfork, use regular fork -------------------------------*/
++ /* #define vfork fork /* vfork is just a lightweight fork, so can use fork */
++
++
++
++ /*----- The usual sendmail configuration for sending mail on Unix ------*/
++ #define SENDMAIL "/usr/sbin/sendmail"
++ #define SENDMAILFLAGS "-bs -odb -oem" /* send via smtp with backgroud
++ delivery and mail back errors */
++
++
++ /*----------------------------------------------------------------------
++ If no nntp-servers are defined, this program will be used to post news.
++ ----*/
++ #define SENDNEWS "/usr/local/news/lib/inews -h" /* news posting cmd */
++
++
++ /*--------- Program employed by users to change their password ---------*/
++ #define PASSWD_PROG "/usr/bin/passwd"
++
++
++ /*-------------- A couple constants used to size arrays ----------------*/
++ #include <sys/param.h> /* Get it from param.h if available */
++ #undef MAXPATH /* Sometimes defined in param.h differently */
++ #define MAXPATH MAXPATHLEN /* Longest pathname we ever expect */
++ /* #define MAXPATH (512) /* Longest pathname we ever expect */
++ #define MAXFOLDER (64) /* Longest foldername we ever expect */
++
++
++ /*-- Max screen pine will display on. Used to define some array sizes --*/
++ #define MAX_SCREEN_COLS (170)
++ #define MAX_SCREEN_ROWS (200)
++
++
++ /*---- When no screen size can be discovered this is the size used -----*/
++ #define DEFAULT_LINES_ON_TERMINAL (24)
++ #define DEFAULT_COLUMNS_ON_TERMINAL (80)
++
++
++ /*----------------------------------------------------------------------
++ Where to put the output of pine in debug mode. Files are created
++ in the user's home directory and have a number appended to them when
++ there is more than one.
++ ----*/
++ #define DEBUGFILE ".pine-debug"
++
++ /*----------------------------------------------------------------------
++ The number of debug files to save in the user's home diretory. The files
++ are useful for figuring out what a user did when he complains that something
++ went wrong. It's important to keep a bunch around, usually 4, so that the
++ debug file in question will still be around when the problem gets
++ investigated. Users tend to go in and out of Pine a few times and there
++ is one file for each pine invocation
++ ----*/
++ #define NUMDEBUGFILES 4
++
++ /*----------------------------------------------------------------------
++ The default debug level to set (approximate meanings):
++ 1 logs only highest level events and errors
++ 2 logs events like file writes
++ 3
++ 4 logs each command
++ 5
++ 6
++ 7 logs details of command execution (7 is highest to run any production)
++ 8
++ 9 logs gross details of command execution
++ ----*/
++ #define DEFAULT_DEBUG 0
++
++
++
++ /*----------------------------------------------------------------------
++ Various maximum field lengths, probably shouldn't be changed.
++ ----*/
++ #define MAX_FULLNAME (100)
++ #define MAX_NICKNAME (40)
++ #define MAX_ADDRESS (200)
++ #define MAX_NEW_LIST (500) /* Max addrs to be added when creating list */
++ #define MAX_SEARCH (100) /* Longest string to search for */
++ #define MAX_ADDR_EXPN (1000) /* Longest expanded addr */
++ #define MAX_ADDR_FIELD (10000) /* Longest fully-expanded addr field */
++
++
++ #endif /* _OS_INCLUDED */
++
++
diff --git a/mail/pine/patches/patch-ad b/mail/pine/patches/patch-ad
new file mode 100644
index 00000000000..4db92fa563e
--- /dev/null
+++ b/mail/pine/patches/patch-ad
@@ -0,0 +1,138 @@
+*** pine/osdep/os-bsf.ic.orig Fri Jun 14 00:15:47 1996
+--- pine/osdep/os-bsf.ic Fri Jun 14 00:57:02 1996
+***************
+*** 0 ****
+--- 1,133 ----
++ ;
++ ; FreeBSD os-fbs.ic file for building os-fbs.c.
++ ;
++ ; Boilerplate header.
++ include(header)
++
++ ; Can_access function. Just calls access. Only one version available.
++ include(canacces)
++
++ ; File_size function. Only one version available.
++ include(filesize)
++
++ ; Is_writable_dir function. Only one version available.
++ include(writ_dir)
++
++ ; Create_mail_dir function. All Unixes use creatdir and DOS
++ ; uses creatdir.dos.
++ include(creatdir)
++
++ ; Rename_file function. All Unixes use rename and DOS uses
++ ; rename.dos. There is also one called rename.hom which
++ ; is currently unused. Hom stands for homemade.
++ include(rename)
++
++ ; Build_path function. All Unixes use bld_path and DOS
++ ; uses bld_path.dos.
++ include(bld_path)
++
++ ; Last_cmpnt function. All Unixes use lstcmpnt and DOS
++ ; uses lstcmpnt.dos.
++ include(lstcmpnt)
++
++ ; Expand_foldername function. All Unixes use expnfldr and DOS
++ ; uses expnfldr.dos.
++ include(expnfldr)
++
++ ; Fnexpand function. All Unixes use fnexpand and DOS
++ ; uses fnexpand.dos.
++ include(fnexpand)
++
++ ; Filter_filename function. All Unixes use fltrname and DOS
++ ; uses fltrname.dos.
++ include(fltrname)
++
++ ; There are several versions of disk quotas. Standard BSD-style quotas
++ ; (Australian) include diskquot. Systems which don't have quotas use
++ ; diskquot.non. Systems which use Sun-style quotas are slightly more
++ ; complicated. They usually require different include files. They are
++ ; set up to include the file sunquota and prepend include file info to
++ ; that. See diskquot.*.
++ include(diskquot.non)
++
++ ; Read_file function. All Unixes use readfile and DOS
++ ; uses readfile.dos.
++ include(readfile)
++
++ ; Create_tmpfile function. This usually just calls the ANSI standard
++ ; tmpfile function if there is one. That is the version in the file tempfile.
++ ; There is also a tempfile.non for Unix systems which don't have a tmpfile
++ ; function already.
++ include(tempfile)
++
++ ; Temp_nam function. This usually just calls the "standard"
++ ; tmpnam function if there is one. That is the version in the file tempnam.
++ include(tempnam)
++
++ ; Coredump function. Version called coredump just calls abort, coredump.fpe
++ ; uses a floating point exception to cause the coredump on some systems.
++ include(coredump)
++
++ ; This is usually a call to gethostname. That version is in the file hostname.
++ ; There is also a version called hostname.una which uses the uname system
++ ; call commonly found in SysV systems. An unused version called
++ ; hostname.hom also exists.
++ include(hostname)
++
++ ; Getdomainnames function. All Unixes use domnames and DOS
++ ; uses domnames.dos.
++ include(domnames)
++
++ ; Canonical_name function. All Unixes use canonicl and DOS
++ ; uses canonicl.dos.
++ include(canonicl)
++
++ ; This file includes two functions, have_job_control and stop_process.
++ ; The Unix version is called jobcntrl and the slightly-different DOS
++ ; version is jobcntrl.dos.
++ include(jobcntrl)
++
++ ; Error_desciption function. All Unixes use err_desc. The version
++ ; called err_desc.dos is the same except that it doesn't declare the
++ ; variable sys_errlist[], which is already declared. There
++ ; is also a version called err_desc.hom which is unused.
++ include(err_desc.dos)
++
++ ; There are six functions in this include. They are get_system_login,
++ ; get_system_fullname, get_system_homedir, get_system_passwd, gcos_name,
++ ; and local_name_lookup. The Unix version is pw_stuff and the dos version
++ ; is pw_stuff.dos. There is also a pw_stuff.fun. Fun stands for funny
++ ; GCOS field. It's currently unused.
++ include(pw_stuff)
++
++ ; Change_passwd function. Unixes use chnge_pw.
++ ; There is also a DOS version.
++ include(chnge_pw)
++
++ ; Mime_can_display function. Only a single version of this now.
++ include(mimedisp)
++
++ ; Most systems have the ANSI fgetpos and fsetpos functions. For those,
++ ; use fgetpos. If a system doesn't have it use fgetpos.non.
++ include(fgetpos)
++
++ ; These functions are similar to popen(), but allow both an input stream
++ ; and an output buffer.
++ include(pipe)
++
++ ; These functions are used to wait on a fork'd child doing our posting
++ include(postreap.wtp)
++
++ ; These functions are used to hand messages off to local mail transport
++ ; and posting agents (typically, "sendmail").
++ include(sendmail)
++
++ ; This function is used to actually spawn the given command (usually dredged
++ ; from mailcap) on the given data file (usually on /tmp).
++ include(execview)
++
++ ; This includes the various routines to support printing
++ include(print)
++
++ ; Debug file maintenance.
++ include(debuging)
diff --git a/mail/pine/patches/patch-ae b/mail/pine/patches/patch-ae
new file mode 100644
index 00000000000..dcc53f5554a
--- /dev/null
+++ b/mail/pine/patches/patch-ae
@@ -0,0 +1,149 @@
+*** pine/makefile.bsf.orig Fri Jun 14 00:15:35 1996
+--- pine/makefile.bsf Fri Jun 14 00:15:35 1996
+***************
+*** 0 ****
+--- 1,144 ----
++ #
++ # T H E P I N E M A I L S Y S T E M
++ #
++ # Laurence Lundblade and Mike Seibel
++ # Networks and Distributed Computing
++ # Computing and Communications
++ # University of Washington
++ # Administration Building, AG-44
++ # Seattle, Washington, 98195, USA
++ # Internet: lgl@CAC.Washington.EDU
++ # mikes@CAC.Washington.EDU
++ #
++ # Please address all bugs and comments to "pine-bugs@cac.washington.edu"
++ #
++ #
++ # Pine and Pico are registered trademarks of the University of Washington.
++ # No commercial use of these trademarks may be made without prior written
++ # permission of the University of Washington.
++ #
++ # Pine, Pico, and Pilot software and its included text are Copyright
++ # 1989-1996 by the University of Washington.
++ #
++ # The full text of our legal notices is contained in the file called
++ # CPYRIGHT, included with this distribution.
++ #
++ #
++ # Pine is in part based on The Elm Mail System:
++ # ***********************************************************************
++ # * The Elm Mail System - Revision: 2.13 *
++ # * *
++ # * Copyright (c) 1986, 1987 Dave Taylor *
++ # * Copyright (c) 1988, 1989 USENET Community Trust *
++ # ***********************************************************************
++ #
++ #
++
++
++ #
++ # Make file for the Pine mail system for FreeBSD
++ #
++ #
++ # Most commonly fiddled flags for compiler.
++ # Uncomment the setttings desired here
++ #
++ RM= rm -f
++ LN= ln -s
++ MAKE= make
++ #OPTIMIZE= -O
++ PROFILE= # -pg
++ DEBUG= -DDEBUG #-g
++
++ IMAPDIR= ../c-client
++ PICODIR= ../pico
++
++ STDLIBES= -ltermlib -lcrypt
++ #LOCLIBES= $(PICODIR)/libpico.a $(IMAPDIR)/c-client.a
++ LOCLIBES= -lpico $(IMAPDIR)/c-client.a
++ LOCLIBDIR= -L$(PICODIR)
++ LIBES= $(EXTRALIBES) $(LOCLIBDIR) $(LOCLIBES) $(STDLIBES)
++
++ STDCFLAGS= -DBSDI -DSYSTYPE=\"BSF\" -DMOUSE
++ CFLAGS+= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(STDCFLAGS)
++
++ obj= addrbook.o adrbklib.o args.o context.o filter.o \
++ folder.o help.o helptext.o imap.o init.o mailcap.o mailcmd.o \
++ mailindx.o mailpart.o mailview.o newmail.o other.o pine.o \
++ reply.o screen.o send.o signals.o status.o strings.o ttyin.o \
++ ttyout.o os.o
++
++ cfiles= addrbook.c adrbklib.c args.c context.c filter.c \
++ folder.c help.c helptext.c imap.c init.c mailcap.c mailcmd.c \
++ mailindx.c mailpart.c mailview.c newmail.c other.c pine.c \
++ reply.c screen.c send.c signals.c status.c strings.c ttyin.c \
++ ttyout.c os.c
++
++ pine: $(obj) $(LOCLIBES)
++ echo "char datestamp[]="\"`LC_TIME=C date`\"";" > date.c
++ echo "char hoststamp[]="\"`hostname`\"";" >> date.c
++ $(CC) $(LDFLAGS) $(CFLAGS) -o pine $(obj) date.c $(LIBES)
++
++ # this is not part of pine
++ pine-use: pine-use.c
++ $(CC) -o pine-use pine-use.c
++
++ clean:
++ $(RM) *.o os.h os.c helptext.c helptext.h
++ cd osdep; make clean; cd ..
++
++
++ HEADERS= headers.h pine.h os.h helptext.h context.h \
++ $(IMAPDIR)/mail.h $(IMAPDIR)/osdep.h
++
++ addrbook.o: addrbook.c $(HEADERS) adrbklib.h $(PICODIR)/pico.h
++ adrbklib.o: adrbklib.c $(HEADERS) adrbklib.h
++ args.o: args.c $(HEADERS)
++ context.o: context.c $(HEADERS) $(IMAPDIR)/misc.h
++ filter.o: filter.c $(HEADERS) $(PICODIR)/pico.h
++ folder.o: folder.c $(HEADERS)
++ help.o: help.c $(HEADERS)
++ helptext.o: helptext.c
++ imap.o: imap.c $(HEADERS)
++ init.o: init.c $(HEADERS)
++ mailcap.o: mailcap.c $(HEADERS)
++ mailcmd.o: mailcmd.c $(HEADERS) $(PICODIR)/pico.h
++ mailindx.o: mailindx.c $(HEADERS)
++ mailpart.o: mailpart.c $(HEADERS)
++ mailview.o: mailview.c $(HEADERS)
++ newmail.o: newmail.c $(HEADERS)
++ os.o: os.c $(HEADERS)
++ other.o: other.c $(HEADERS) $(PICODIR)/pico.h
++ pine.o: pine.c $(HEADERS)
++ reply.o: reply.c $(HEADERS)
++ screen.o: screen.c $(HEADERS)
++ send.o: send.c $(HEADERS) $(IMAPDIR)/smtp.h $(PICODIR)/pico.h
++ signals.o: signals.c $(HEADERS)
++ status.o: status.c $(HEADERS)
++ strings.o: strings.c $(HEADERS)
++ ttyin.o: ttyin.c $(HEADERS)
++ ttyout.o: ttyout.c $(HEADERS)
++
++ os.h: osdep/os-bsf.h
++ $(RM) os.h
++ $(LN) osdep/os-bsf.h os.h
++
++ helptext.c: pine.hlp
++ ./cmplhelp.sh < pine.hlp > helptext.c
++
++ helptext.h: pine.hlp
++ ./cmplhlp2.sh < pine.hlp > helptext.h
++
++ os.c: osdep/os-bsf.c
++ $(RM) os.c
++ $(LN) osdep/os-bsf.c os.c
++
++ osdep/os-bsf.c: osdep/bld_path osdep/canacces osdep/canonicl \
++ osdep/chnge_pw osdep/coredump osdep/creatdir \
++ osdep/diskquot.non osdep/domnames osdep/err_desc.dos \
++ osdep/expnfldr osdep/fgetpos osdep/filesize osdep/fltrname \
++ osdep/fnexpand osdep/header osdep/hostname \
++ osdep/jobcntrl osdep/lstcmpnt osdep/mimedisp osdep/pipe \
++ osdep/print osdep/pw_stuff osdep/readfile osdep/debuging \
++ osdep/rename osdep/tempfile osdep/tempnam osdep/writ_dir \
++ osdep/sendmail osdep/execview osdep/os-bsf.ic
++ cd osdep; $(MAKE) includer os-bsf.c; cd ..
diff --git a/mail/pine/patches/patch-af b/mail/pine/patches/patch-af
new file mode 100644
index 00000000000..7fbd6dc999e
--- /dev/null
+++ b/mail/pine/patches/patch-af
@@ -0,0 +1,37 @@
+*** imap/ANSI/c-client/Makefile.orig Sat Jun 22 01:25:45 1996
+--- imap/ANSI/c-client/Makefile Sun Jan 12 19:41:38 1997
+***************
+*** 36,43 ****
+ BINARIES=mail.o bezerk.o mtx.o tenex2.o mbox.o mh.o mmdf.o imap2.o pop3.o \
+ news.o nntpcunx.o phile.o dummy.o smtp.o nntp.o rfc822.o misc.o \
+ osdep.o sm_unix.o newsrc.o
+! CC=cc
+! CFLAGS=$(EXTRACFLAGS)
+ DEFAULTDRIVERS=imap nntp pop3 mh tenex mtx mmdf bezerk news phile dummy
+ LN=ln -s
+ MAKE=make
+--- 36,43 ----
+ BINARIES=mail.o bezerk.o mtx.o tenex2.o mbox.o mh.o mmdf.o imap2.o pop3.o \
+ news.o nntpcunx.o phile.o dummy.o smtp.o nntp.o rfc822.o misc.o \
+ osdep.o sm_unix.o newsrc.o
+! #CC=cc
+! #CFLAGS=$(EXTRACFLAGS)
+ DEFAULTDRIVERS=imap nntp pop3 mh tenex mtx mmdf bezerk news phile dummy
+ LN=ln -s
+ MAKE=make
+***************
+*** 118,123 ****
+--- 118,130 ----
+ STDPROTO=bezerkproto MAILSPOOL=/var/mail \
+ ACTIVEFILE=/usr/lib/news/active NEWSSPOOL=/usr/spool/news \
+ RSHPATH=/usr/bin/rsh CFLAGS="-g -O -pipe -DNFSKLUDGE $(EXTRACFLAGS)"
++
++ bsf: # FreeBSD
++ $(MAKE) $(ARCHIVE) OS=bsi EXTRADRIVERS="$(EXTRADRIVERS)" \
++ STDPROTO=bezerkproto MAILSPOOL=/var/mail \
++ ACTIVEFILE=/usr/local/news/lib/active NEWSSPOOL=/var/news \
++ RSHPATH=/usr/bin/rsh CFLAGS="${CFLAGS} -DNFSKLUDGE $(EXTRACFLAGS)" \
++ LDFLAGS="-lcrypt"
+
+ cvx: # Convex
+ $(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
diff --git a/mail/pine/patches/patch-ag b/mail/pine/patches/patch-ag
new file mode 100644
index 00000000000..a9742708f79
--- /dev/null
+++ b/mail/pine/patches/patch-ag
@@ -0,0 +1,28 @@
+*** imap/ANSI/c-client/mh.c.orig Wed May 15 13:49:54 1996
+--- imap/ANSI/c-client/mh.c Fri Jun 14 00:12:23 1996
+***************
+*** 808,812 ****
+ if (sbuf.st_ctime != LOCAL->scantime) {
+ struct direct **names = NIL;
+! long nfiles = scandir (LOCAL->dir,&names,mh_select,mh_numsort);
+ old = nmsgs ? mail_elt (stream,nmsgs)->data1 : 0;
+ /* note scanned now */
+--- 808,812 ----
+ if (sbuf.st_ctime != LOCAL->scantime) {
+ struct direct **names = NIL;
+! long nfiles = scandir (LOCAL->dir,&names,mh_select,(void*)mh_numsort);
+ old = nmsgs ? mail_elt (stream,nmsgs)->data1 : 0;
+ /* note scanned now */
+***************
+*** 1050,1054 ****
+ }
+ mh_file (tmp,mailbox); /* build file name we will use */
+! if (nfiles = scandir (tmp,&names,mh_select,mh_numsort)) {
+ /* largest number */
+ last = atoi (names[nfiles-1]->d_name);
+--- 1050,1054 ----
+ }
+ mh_file (tmp,mailbox); /* build file name we will use */
+! if (nfiles = scandir (tmp,&names,mh_select,(void*)mh_numsort)) {
+ /* largest number */
+ last = atoi (names[nfiles-1]->d_name);
diff --git a/mail/pine/patches/patch-ah b/mail/pine/patches/patch-ah
new file mode 100644
index 00000000000..d91c27e8313
--- /dev/null
+++ b/mail/pine/patches/patch-ah
@@ -0,0 +1,15 @@
+*** imap/ANSI/c-client/news.c.orig Wed May 15 13:50:02 1996
+--- imap/ANSI/c-client/news.c Fri Jun 14 00:12:49 1996
+***************
+*** 310,314 ****
+ while (s = strchr (s,'.')) *s = '/';
+ /* scan directory */
+! if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
+ stream->local = fs_get (sizeof (NEWSLOCAL));
+ LOCAL->dirty = NIL; /* no update to .newsrc needed yet */
+--- 310,314 ----
+ while (s = strchr (s,'.')) *s = '/';
+ /* scan directory */
+! if ((nmsgs = scandir (tmp,&names,news_select,(void*)news_numsort)) >= 0) {
+ stream->local = fs_get (sizeof (NEWSLOCAL));
+ LOCAL->dirty = NIL; /* no update to .newsrc needed yet */
diff --git a/mail/pine/patches/patch-ai b/mail/pine/patches/patch-ai
new file mode 100644
index 00000000000..bd1b5bf4346
--- /dev/null
+++ b/mail/pine/patches/patch-ai
@@ -0,0 +1,69 @@
+*** pine/send.c.orig Tue Feb 25 00:57:38 1997
+--- pine/send.c Sun Jul 20 02:50:31 1997
+***************
+*** 5352,5364 ****
+ body->subtype = cpystr("octet-stream");
+ }
+
+ /*
+ * Apply maximal encoding regardless of previous
+ * setting. This segment's either not text, or is
+ * unlikely to be readable with > 30% of the
+ * text encoded anyway, so we might as well save space...
+ */
+! new_encoding = ENCBINARY; /* > 30% 8 bit chars */
+ }
+ }
+
+--- 5352,5367 ----
+ body->subtype = cpystr("octet-stream");
+ }
+
++ if(body->type == TYPETEXT)
++ new_encoding = ENC8BIT;
++ else
+ /*
+ * Apply maximal encoding regardless of previous
+ * setting. This segment's either not text, or is
+ * unlikely to be readable with > 30% of the
+ * text encoded anyway, so we might as well save space...
+ */
+! new_encoding = ENCBINARY; /* > 30% 8 bit chars */
+ }
+ }
+
+***************
+*** 6113,6119 ****
+
+ switch (body->encoding) { /* all else needs filtering */
+ case ENC8BIT: /* encode 8BIT into QUOTED-PRINTABLE */
+! gf_link_filter(gf_8bit_qp);
+ break;
+
+ case ENCBINARY: /* encode binary into BASE64 */
+--- 6116,6123 ----
+
+ switch (body->encoding) { /* all else needs filtering */
+ case ENC8BIT: /* encode 8BIT into QUOTED-PRINTABLE */
+! if(F_OFF(F_ENABLE_8BIT, ps_global))
+! gf_link_filter(gf_8bit_qp);
+ break;
+
+ case ENCBINARY: /* encode binary into BASE64 */
+***************
+*** 6172,6178 ****
+ sprintf (*dst += strlen (*dst), "Content-Transfer-Encoding: %s\015\012",
+ body_encodings[(body->encoding == ENCBINARY)
+ ? ENCBASE64
+! : (body->encoding == ENC8BIT)
+ ? ENCQUOTEDPRINTABLE
+ : (body->encoding <= ENCMAX)
+ ? body->encoding : ENCOTHER]);
+--- 6176,6182 ----
+ sprintf (*dst += strlen (*dst), "Content-Transfer-Encoding: %s\015\012",
+ body_encodings[(body->encoding == ENCBINARY)
+ ? ENCBASE64
+! : (body->encoding == ENC8BIT && F_OFF(F_ENABLE_8BIT, ps_global))
+ ? ENCQUOTEDPRINTABLE
+ : (body->encoding <= ENCMAX)
+ ? body->encoding : ENCOTHER]);
diff --git a/mail/pine/patches/patch-aj b/mail/pine/patches/patch-aj
new file mode 100644
index 00000000000..9a9d853c0b3
--- /dev/null
+++ b/mail/pine/patches/patch-aj
@@ -0,0 +1,17 @@
+*** imap/ANSI/c-client/os_bsi.h.bak Wed Feb 7 12:01:07 1996
+--- imap/ANSI/c-client/os_bsi.h Sun Jul 20 01:47:23 1997
+***************
+*** 36,42 ****
+--- 36,47 ----
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
++ #ifdef __FreeBSD__
++ #include <dirent.h>
++ #define direct dirent
++ #else
+ #include <sys/dir.h>
++ #endif
+ #include <sys/uio.h> /* needed for writev() prototypes */
+ #include <fcntl.h>
+ #include <syslog.h>
diff --git a/mail/pine/patches/patch-ak b/mail/pine/patches/patch-ak
new file mode 100644
index 00000000000..6ca5d41436c
--- /dev/null
+++ b/mail/pine/patches/patch-ak
@@ -0,0 +1,50 @@
+*** imap/Makefile.orig Thu May 30 07:33:10 1996
+--- imap/Makefile Sun Jan 12 17:05:17 1997
+***************
+*** 47,53 ****
+
+ # ANSI compiler ports. Note for SCO you may have to set LN to "copy -rom"
+
+! a32 a41 aix bsi d-g drs lnx lyn mct mnt neb nxt osf sc5 sco sgi slx sos:
+ $(MAKE) build SYSTYPE=ANSI OS=$@
+
+ # Non-ANSI compiler ports.
+--- 47,53 ----
+
+ # ANSI compiler ports. Note for SCO you may have to set LN to "copy -rom"
+
+! a32 a41 aix bsi bsf d-g drs lnx lyn mct mnt neb nxt osf sc5 sco sgi slx sos:
+ $(MAKE) build SYSTYPE=ANSI OS=$@
+
+ # Non-ANSI compiler ports.
+***************
+*** 82,87 ****
+--- 82,90 ----
+ bs2:
+ $(MAKE) build SYSTYPE=ANSI OS=bsi
+
++ bsf:
++ $(MAKE) build OS=bsf PROCESS=an
++
+ pt1:
+ $(MAKE) build SYSTYPE=non-ANSI OS=ptx
+
+***************
+*** 92,99 ****
+ $(LN) $(SYSTYPE) systype
+ cd $(SYSTYPE)/c-client; $(MAKE) $(OS)
+ cd $(SYSTYPE)/ms;$(MAKE)
+! cd $(SYSTYPE)/ipopd;$(MAKE)
+! cd $(SYSTYPE)/imapd;$(MAKE)
+
+ clean:
+ $(RM) systype
+--- 95,102 ----
+ $(LN) $(SYSTYPE) systype
+ cd $(SYSTYPE)/c-client; $(MAKE) $(OS)
+ cd $(SYSTYPE)/ms;$(MAKE)
+! # cd $(SYSTYPE)/ipopd;$(MAKE)
+! # cd $(SYSTYPE)/imapd;$(MAKE)
+
+ clean:
+ $(RM) systype
diff --git a/mail/pine/patches/patch-al b/mail/pine/patches/patch-al
new file mode 100644
index 00000000000..2c6d35ba6a4
--- /dev/null
+++ b/mail/pine/patches/patch-al
@@ -0,0 +1,55 @@
+*** build.orig Tue May 14 23:22:47 1996
+--- build Sun Jan 12 20:18:50 1997
+***************
+*** 167,180 ****
+ cd $PHOME/bin
+ rm -f pine mtest imapd pico pilot
+ if [ -s ../pine/pine ] ; then ln ../pine/pine pine ; fi
+- if [ -s ../c-client/mtest ] ; then ln ../c-client/mtest mtest ; fi
+- if [ -s ../imapd/imapd ] ; then ln ../imapd/imapd imapd ; fi
+ if [ -s ../pico/pico ] ; then ln ../pico/pico pico ; fi
+ if [ -s ../pico/pilot ] ; then ln ../pico/pilot pilot ; fi
+ cd $PHOME
+ echo ''
+ echo "Links to executables are in bin directory:"
+- size bin/pine bin/mtest bin/imapd bin/pico bin/pilot
+ echo "Done"
+ ;;
+
+--- 167,179 ----
+ cd $PHOME/bin
+ rm -f pine mtest imapd pico pilot
+ if [ -s ../pine/pine ] ; then ln ../pine/pine pine ; fi
+ if [ -s ../pico/pico ] ; then ln ../pico/pico pico ; fi
+ if [ -s ../pico/pilot ] ; then ln ../pico/pilot pilot ; fi
++ if [ -s ../pico/libpico.so.1.3 ] ;
++ then ln ../pico/libpico.so.1.3 libpico.so.1.3 ; fi
+ cd $PHOME
+ echo ''
+ echo "Links to executables are in bin directory:"
+ echo "Done"
+ ;;
+
+***************
+*** 185,194 ****
+ make clean
+ echo "Cleaning Pine"
+ cd $PHOME/pine
+! make -f makefile.ult clean
+ echo "Cleaning pico"
+ cd $PHOME/pico
+! make $makeargs -f makefile.ult clean
+ echo "Done"
+ cd $PHOME
+ ;;
+--- 184,193 ----
+ make clean
+ echo "Cleaning Pine"
+ cd $PHOME/pine
+! make -f makefile.bsf clean
+ echo "Cleaning pico"
+ cd $PHOME/pico
+! make $makeargs -f makefile.bsf clean
+ echo "Done"
+ cd $PHOME
+ ;;
diff --git a/mail/pine/patches/patch-am b/mail/pine/patches/patch-am
new file mode 100644
index 00000000000..77328d9843a
--- /dev/null
+++ b/mail/pine/patches/patch-am
@@ -0,0 +1,19 @@
+*** pine/pine.h.bak Thu Jul 11 22:15:44 1996
+--- pine/pine.h Tue Dec 3 20:52:56 1996
+***************
+*** 2085,2091 ****
+ } ATABLE_S;
+
+
+! #define TAG_EMBED '\377' /* Announces embedded data in text string */
+ #define TAG_INVON '\001' /* Supported character attributes */
+ #define TAG_INVOFF '\002'
+ #define TAG_BOLDON '\003'
+--- 2085,2091 ----
+ } ATABLE_S;
+
+
+! #define TAG_EMBED '\001' /* Announces embedded data in text string */
+ #define TAG_INVON '\001' /* Supported character attributes */
+ #define TAG_INVOFF '\002'
+ #define TAG_BOLDON '\003'
diff --git a/mail/pine/pkg/COMMENT b/mail/pine/pkg/COMMENT
new file mode 100644
index 00000000000..a6b5ae32878
--- /dev/null
+++ b/mail/pine/pkg/COMMENT
@@ -0,0 +1 @@
+Program for Internet E-mail and News
diff --git a/mail/pine/pkg/DESCR b/mail/pine/pkg/DESCR
new file mode 100644
index 00000000000..1fa7653efe0
--- /dev/null
+++ b/mail/pine/pkg/DESCR
@@ -0,0 +1,18 @@
+Pine for FreeBSD 2.x is a tool for reading, sending, and managing
+electronic messages. It was designed specifically with novice
+computer users in mind, but can be tailored to accommodate the needs
+of "power users" as well. Pine uses Internet message protocols (e.g.
+RFC-822, SMTP, MIME, IMAP, NNTP) and runs on Unix and PCs. This
+package also includes the Pico editor, the IMAP daemon, a POP2 server,
+and a POP3 server.
+
+If you want to use the spell checking feature of pine, set the
+environment variable SPELL to "/usr/local/bin/ispell -l".
+
+An optional configuration file "pine.conf" can be put into /usr/local/etc
+to set system wide defaults. The format of this file is identical to the
+.pinerc file that is auto-generated by pine in your home directory.
+
+Also included in dot.pinerc.pgp.sample are example entries needed to
+add to your .pinerc to activate the pgp add on scripts pgpdecode,
+pgpencode, and pgpsign.
diff --git a/mail/pine/pkg/PLIST b/mail/pine/pkg/PLIST
new file mode 100644
index 00000000000..61206293491
--- /dev/null
+++ b/mail/pine/pkg/PLIST
@@ -0,0 +1,13 @@
+bin/pico
+bin/pilot
+bin/pine
+lib/libpico.so.1.3
+@exec /sbin/ldconfig -m %B
+bin/pgpencrypt
+bin/pgpdecode
+bin/pgpsign
+etc/dot.pinerc.pgp.sample
+man/man1/pico.1.gz
+man/man1/pilot.1.gz
+man/man1/pine.1.gz
+share/doc/pine/tech-notes.txt
diff --git a/mail/pine/scripts/configure b/mail/pine/scripts/configure
new file mode 100755
index 00000000000..823ff8e7155
--- /dev/null
+++ b/mail/pine/scripts/configure
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# $Id: configure,v 1.1.1.1 1997/11/22 05:27:56 hubertf Exp $
+#
+
+rm -f ${WRKSRC}/makefile
+cp ${FILESDIR}/Makefile ${WRKSRC}/Makefile