Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2000 05:05:10 -0600 (CST)
From:      Jeremy Shaffner <jeremy@external.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/23596: New Port: editors/pico
Message-ID:  <200012171105.eBHB5AT52715@indigo.external.org>
Resent-Message-ID: <200012171110.eBHBAAB00823@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         23596
>Category:       ports
>Synopsis:       New Port: editors/pico
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 17 03:10:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Jeremy Shaffner
>Release:        FreeBSD 4.2-20001106-BETA i386
>Organization:
>Environment:

	

>Description:

The editor from Pine.  This should make lots of newbie Linux converts
very happy.

Note that Pico's version is 3.7, and even if pine4 is updated that Pico
might not change versions.

Updates will occur in either of the three situations:

	pine4 is updated, but pico is unchanged:

		MASTER_SITES is changed to fetch DISTFILE from /old

	pine4 is updated, and pico is unchanged but has patch changes:

		PORTREVISION increases

	pine4 is updated, and pico itself is upgraded:

		PORTVERSION increases and PORTREVISION=1

This should keep pico current.  If I left a condition out, please advise.

The only gotcha that I can think of is if someone installs editors/pico
and later installs mail/pine4, then for some reason pkg_delete's pico,
their ${LOCALBASE}/bin/pico will be missing.  I may take a stab at
handling this through pkg-req, soon as I learn how it works.

	

>How-To-Repeat:

	

>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	pico
#	pico/files
#	pico/files/patch-aa
#	pico/files/patch-an
#	pico/files/patch-ap
#	pico/files/patch-aq
#	pico/files/patch-as
#	pico/Makefile
#	pico/distinfo
#	pico/pkg-plist
#	pico/pkg-descr
#	pico/pkg-comment
#
echo c - pico
mkdir -p pico > /dev/null 2>&1
echo c - pico/files
mkdir -p pico/files > /dev/null 2>&1
echo x - pico/files/patch-aa
sed 's/^X//' >pico/files/patch-aa << 'END-of-pico/files/patch-aa'
X--- pico/search.c.old	Tue Oct  5 01:49:41 1999
X+++ pico/search.c	Wed Feb 16 03:41:45 2000
X@@ -97,12 +97,15 @@
X int bc;
X int pc;
X {
X+    bc = (unsigned char)bc;
X+    pc = (unsigned char)pc;
X+
X     if ((curwp->w_bufp->b_mode & MDEXACT) == 0){
X-	if (bc>='a' && bc<='z')
X-	  bc -= 0x20;
X+	if (islower(bc))
X+	  bc = toupper(bc);
X 
X-	if (pc>='a' && pc<='z')
X-	  pc -= 0x20;
X+	if (islower(pc))
X+	  pc = toupper(pc);
X     }
X 
X     return(bc == pc);
X@@ -804,7 +807,7 @@
X int maxlength;	/* maximum chars in destination */
X 
X {
X-	char c;		/* current char to translate */
X+	unsigned char c;         /* current char to translate */
X 
X 	/* scan through the string */
X 	while ((c = *srcstr++) != 0) {
END-of-pico/files/patch-aa
echo x - pico/files/patch-an
sed 's/^X//' >pico/files/patch-an << 'END-of-pico/files/patch-an'
X*** pico/osdep/os-bsf.h.orig	Wed Jul  8 19:37:28 1998
X--- pico/osdep/os-bsf.h	Fri Jul 10 12:57:37 1998
X***************
X*** 23,29 ****
X  
X  #define  USE_DIRENT
X  #include <sys/types.h>
X! #include <sys/dir.h>
X  #include <stdlib.h>
X  #include <string.h>
X  
X--- 23,29 ----
X  
X  #define  USE_DIRENT
X  #include <sys/types.h>
X! #include <dirent.h>
X  #include <stdlib.h>
X  #include <string.h>
X  
X***************
X*** 152,158 ****
X  /*
X   * Place where mail gets delivered (for pico's new mail checking)
X   */
X! #define MAILDIR		"/usr/spool/mail"
X  
X  /*
X   * What and where the tool that checks spelling is located.  If this is
X--- 152,158 ----
X  /*
X   * Place where mail gets delivered (for pico's new mail checking)
X   */
X! #define MAILDIR		"/var/mail"
X  
X  /*
X   * What and where the tool that checks spelling is located.  If this is
END-of-pico/files/patch-an
echo x - pico/files/patch-ap
sed 's/^X//' >pico/files/patch-ap << 'END-of-pico/files/patch-ap'
X*** pico/osdep/term.cap.orig	Sat Feb 28 02:14:53 1998
X--- pico/osdep/term.cap	Wed Jul 15 01:58:58 1998
X***************
X*** 270,276 ****
X      _kppu		= tgetstr("kP", &p);
X      _kppd		= tgetstr("kN", &p);
X      _kphome		= tgetstr("kh", &p);
X!     _kpend		= tgetstr("kH", &p);
X      _kpdel		= tgetstr("kD", &p);
X      _kf1		= tgetstr("k1", &p);
X      _kf2		= tgetstr("k2", &p);
X--- 270,277 ----
X      _kppu		= tgetstr("kP", &p);
X      _kppd		= tgetstr("kN", &p);
X      _kphome		= tgetstr("kh", &p);
X!     if((_kpend		= tgetstr("@7", &p)) == NULL)
X!       _kpend		= tgetstr("kH",&p);
X      _kpdel		= tgetstr("kD", &p);
X      _kf1		= tgetstr("k1", &p);
X      _kf2		= tgetstr("k2", &p);
END-of-pico/files/patch-ap
echo x - pico/files/patch-aq
sed 's/^X//' >pico/files/patch-aq << 'END-of-pico/files/patch-aq'
X*** pico/display.c.orig	Fri Jun 19 20:19:53 1998
X--- pico/display.c	Mon Jul 13 01:36:38 1998
X***************
X*** 77,83 ****
X      {"^X", "Exit", KS_EXIT},		{"^J", "Justify", KS_JUSTIFY},
X      {"^W", "Where is", KS_WHEREIS},	{"^V", "Next Pg", KS_NEXTPAGE},
X      {"^U", NULL, KS_NONE},
X! #ifdef	SPELLER
X      {"^T", "To Spell", KS_SPELLCHK}
X  #else
X      {"^D", "Del Char", KS_NONE}
X--- 77,83 ----
X      {"^X", "Exit", KS_EXIT},		{"^J", "Justify", KS_JUSTIFY},
X      {"^W", "Where is", KS_WHEREIS},	{"^V", "Next Pg", KS_NEXTPAGE},
X      {"^U", NULL, KS_NONE},
X! #if defined(SPELLER) && !defined(__FreeBSD__)
X      {"^T", "To Spell", KS_SPELLCHK}
X  #else
X      {"^D", "Del Char", KS_NONE}
X*** pico/ebind.h.orig	Sat Feb 28 02:10:31 1998
X--- pico/ebind.h	Mon Jul 13 01:36:39 1998
X***************
X*** 145,151 ****
X  	{CTRL|'O',		filewrite},
X  	{CTRL|'P',		backline},
X  	{CTRL|'R',		insfile},
X! #ifdef	SPELLER
X  	{CTRL|'T',		spell},
X  #endif	/* SPELLER */
X  	{CTRL|'U',		yank},
X--- 145,151 ----
X  	{CTRL|'O',		filewrite},
X  	{CTRL|'P',		backline},
X  	{CTRL|'R',		insfile},
X! #if defined(SPELLER) && !defined(__FreeBSD__)
X  	{CTRL|'T',		spell},
X  #endif	/* SPELLER */
X  	{CTRL|'U',		yank},
X*** pico/main.c.orig	Tue Apr 21 20:28:08 1998
X--- pico/main.c	Mon Jul 13 01:36:39 1998
X***************
X*** 66,72 ****
X      { F9,  (CTRL|'K')},
X      { F10, (CTRL|'U')},
X      { F11, (CTRL|'C')},
X! #ifdef	SPELLER
X      { F12, (CTRL|'T')}
X  #else
X      { F12, (CTRL|'D')}
X--- 66,72 ----
X      { F9,  (CTRL|'K')},
X      { F10, (CTRL|'U')},
X      { F11, (CTRL|'C')},
X! #if defined(SPELLER) && !defined(__FreeBSD__)
X      { F12, (CTRL|'T')}
X  #else
X      { F12, (CTRL|'D')}
END-of-pico/files/patch-aq
echo x - pico/files/patch-as
sed 's/^X//' >pico/files/patch-as << 'END-of-pico/files/patch-as'
X*** pine/init.c.orig	Tue Jan 26 21:57:56 1999
X--- pine/init.c	Tue Feb  9 22:14:08 1999
X***************
X*** 326,332 ****
X  
X  /*----------------------------------------------------------------------
X  These are the variables that control a number of pine functions.  They
X! come out of the .pinerc and the /usr/local/lib/pine.conf files.  Some can
X  be set by the user while in Pine.  Eventually all the local ones should
X  be so and maybe the global ones too.
X  
X--- 326,332 ----
X  
X  /*----------------------------------------------------------------------
X  These are the variables that control a number of pine functions.  They
X! come out of the .pinerc and the @@PREFIX@@/etc/pine.conf files.  Some can
X  be set by the user while in Pine.  Eventually all the local ones should
X  be so and maybe the global ones too.
X
X*** pico/edef.h.orig	Thu Apr 23 02:53:44 1998
X--- pico/edef.h	Tue Feb  9 22:14:08 1999
X***************
X*** 59,65 ****
X  int	ComposerEditing = FALSE;	/* TRUE if message line is open */
X  int	revexist = FALSE;		/* does reverse video exist?	*/
X  char	modecode[] = "WCSEVO";		/* letters to represent modes	*/
X! long	gmode = MDWRAP;			/* global editor mode		*/
X  int     sgarbf  = TRUE;                 /* TRUE if screen is garbage	*/
X  int     mpresf  = FALSE;                /* TRUE if message in last line */
X  int	clexec	= FALSE;		/* command line execution flag	*/
X--- 59,65 ----
X  int	ComposerEditing = FALSE;	/* TRUE if message line is open */
X  int	revexist = FALSE;		/* does reverse video exist?	*/
X  char	modecode[] = "WCSEVO";		/* letters to represent modes	*/
X! long	gmode = MDWRAP | MDTCAPWINS;	/* global editor mode		*/
X  int     sgarbf  = TRUE;                 /* TRUE if screen is garbage	*/
X  int     mpresf  = FALSE;                /* TRUE if message in last line */
X  int	clexec	= FALSE;		/* command line execution flag	*/
X*** pico/main.c.orig	Tue Feb  9 21:46:54 1999
X--- pico/main.c	Tue Feb  9 22:14:08 1999
X***************
X*** 443,449 ****
X  	    gmode ^= MDSSPD;
X  	    break;
X  	  case 'q':			/* -q for termcap takes precedence */
X! 	    gmode ^= MDTCAPWINS;
X  	    break;
X  	  case 'w':			/* -w turn off word wrap */
X  	    gmode ^= MDWRAP;
X--- 443,449 ----
X  	    gmode ^= MDSSPD;
X  	    break;
X  	  case 'q':			/* -q for termcap takes precedence */
X! 	    gmode |= MDTCAPWINS;
X  	    break;
X  	  case 'w':			/* -w turn off word wrap */
X  	    gmode ^= MDWRAP;
X*** pico/pilot.c.orig	Mon Aug 24 20:37:39 1998
X--- pico/pilot.c	Tue Feb  9 22:14:09 1999
X***************
X*** 222,228 ****
X  	    sup_keyhelp = !sup_keyhelp;
X  	    break;
X  	  case 'q':			/* -q for termcap takes precedence */
X! 	    gmode ^= MDTCAPWINS;
X  	    break;
X  	  case 'z':			/* -z to suspend */
X  	    gmode ^= MDSSPD;
X--- 222,228 ----
X  	    sup_keyhelp = !sup_keyhelp;
X  	    break;
X  	  case 'q':			/* -q for termcap takes precedence */
X! 	    gmode |= MDTCAPWINS;
X  	    break;
X  	  case 'z':			/* -z to suspend */
X  	    gmode ^= MDSSPD;
END-of-pico/files/patch-as
echo x - pico/Makefile
sed 's/^X//' >pico/Makefile << 'END-of-pico/Makefile'
X# New ports collection makefile for:	pico
X# Date created:			16 December 2000
X# Whom:				Jeremy Shaffner <jeremy@external.org>
X#
X# $FreeBSD$
X#
X# This port tracks Pine4
X# All patch files have been taken from mail/pine4
X
XPORTNAME=	pico
XPORTVERSION= 	3.7
XPORTREVISION=	1
XCATEGORIES=	editors
XMASTER_SITES=	ftp://ftp.cac.washington.edu/pine/
XDISTNAME=	pine${pineversion}
X
XMAINTAINER=	jeremy@external.org
X
XWRKSRC=		${WRKDIR}/pine${pineversion}/pico
XPATCH_WRKSRC=	${WRKSRC}/..
X
Xpineversion=	4.21
X
XMAKEFILE=	makefile.bsf
XALL_TARGET=	pico
X
XMAN1=		pico.1
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/pico ${PREFIX}/bin/pico
X	${INSTALL_MAN} ${WRKSRC}/../doc/pico.1 ${PREFIX}/man/man1/pico.1
X
X.include <bsd.port.mk>
END-of-pico/Makefile
echo x - pico/distinfo
sed 's/^X//' >pico/distinfo << 'END-of-pico/distinfo'
XMD5 (pine4.21.tar.gz) = 9252a061387de806f8aa1ced885d41f6
END-of-pico/distinfo
echo x - pico/pkg-plist
sed 's/^X//' >pico/pkg-plist << 'END-of-pico/pkg-plist'
Xbin/pico
END-of-pico/pkg-plist
echo x - pico/pkg-descr
sed 's/^X//' >pico/pkg-descr << 'END-of-pico/pkg-descr'
XPICO is a very simple and easy-to-use text editor offering paragraph
Xjustification, cut/paste, and a spelling checker.
X
XWWW: http://www.washington.edu/pine/
END-of-pico/pkg-descr
echo x - pico/pkg-comment
sed 's/^X//' >pico/pkg-comment << 'END-of-pico/pkg-comment'
XPIne's message COmposition editor
END-of-pico/pkg-comment
exit

	


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012171105.eBHB5AT52715>