1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

Update new port to 2.9.6

Give maintainership to new fork of joe
Remove unneeded patches
Fix up pkg-descr

PR:		26773
Submitted by:	Pete Fritchman <petef@databits.net>
This commit is contained in:
David W. Chapman Jr. 2001-06-26 02:38:23 +00:00
parent 79bd4915f4
commit 09d91258bb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=44437
10 changed files with 125 additions and 317 deletions

View File

@ -1,22 +1,29 @@
# New ports collection makefile for: joe
# Date created: 01 Jul 1995
# Whom: torstenb@FreeBSD.org
# New ports collection makefile for: joe-devel
# Date created: 25 Jul 2001
# Whom: dwcjr@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= joe
PORTVERSION= 2.8
PORTREVISION= 3
CATEGORIES+= editors
MASTER_SITES= ftp://ftp.std.com/src/editors/
DISTNAME= ${PORTNAME}${PORTVERSION}
EXTRACT_SUFX= .tar.Z
PORTVERSION= 2.9.6
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= joe-editor
EXTRACT_SUFX= .tgz
MAINTAINER?= toasty@dragondata.com
MAINTAINER= petef@databits.net
WRKSRC= ${WRKDIR}/joe
ALL_TARGET= joe
MAN1= joe.1
GNU_CONFIGURE= yes
USE_GMAKE= yes
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/joe
${INSTALL_DATA} ${WRKSRC}/INFO ${WRKSRC}/README ${PREFIX}/share/doc/joe
${INSTALL_DATA} ${WRKSRC}/LIST ${PREFIX}/share/doc/joe/CommandList
.endif
.include <bsd.port.mk>

View File

@ -1 +1 @@
MD5 (joe2.8.tar.Z) = bad4221aa63ca432e37dac1a953294b1
MD5 (joe-2.9.6.tgz) = 304084bd8e32ec3a4ac2d90bbfef19b3

View File

@ -1,106 +0,0 @@
*** Makefile.orig Sat Jul 1 18:43:39 1995
--- Makefile Sat Jul 1 18:59:47 1995
***************
*** 9,17 ****
# to go and where you want the man page
# to go:
! WHEREJOE = /usr/local/bin
! WHERERC = /usr/local/lib
! WHEREMAN = /usr/man/man1
# If you want to use TERMINFO, you have to set
# the following variable to 1. Also you have to
--- 9,17 ----
# to go and where you want the man page
# to go:
! WHEREJOE = ${PREFIX}/bin
! WHERERC = ${PREFIX}/lib
! WHEREMAN = ${PREFIX}/man/man1
# If you want to use TERMINFO, you have to set
# the following variable to 1. Also you have to
***************
*** 27,33 ****
# C compiler options: make's built-in rules use this variable
! CFLAGS = -O
# C compiler to use: make's built-in rules use this variable
--- 27,33 ----
# C compiler options: make's built-in rules use this variable
! # CFLAGS = -O
# C compiler to use: make's built-in rules use this variable
***************
*** 84,100 ****
# Install proceedure
! install: joe termidx
strip joe
! strip termidx
if [ ! -d $(WHEREJOE) ]; then mkdir $(WHEREJOE); chmod a+rx $(WHEREJOE); fi
! rm -f $(WHEREJOE)/joe $(WHEREJOE)/jmacs $(WHEREJOE)/jstar $(WHEREJOE)/jpico $(WHEREJOE)/rjoe $(WHEREJOE)/termidx
mv joe $(WHEREJOE)
ln $(WHEREJOE)/joe $(WHEREJOE)/jmacs
ln $(WHEREJOE)/joe $(WHEREJOE)/jstar
ln $(WHEREJOE)/joe $(WHEREJOE)/rjoe
ln $(WHEREJOE)/joe $(WHEREJOE)/jpico
! mv termidx $(WHEREJOE)
if [ ! -d $(WHERERC) ]; then mkdir $(WHERERC); chmod a+rx $(WHERERC); fi
rm -f $(WHERERC)/joerc $(WHERERC)/jmacsrc $(WHERERC)/jstarrc $(WHERERC)/jpicorc $(WHERERC)/rjoerc $(WHEREMAN)/joe.1
cp joerc $(WHERERC)
--- 84,100 ----
# Install proceedure
! install: joe # termidx
strip joe
! # strip termidx
if [ ! -d $(WHEREJOE) ]; then mkdir $(WHEREJOE); chmod a+rx $(WHEREJOE); fi
! rm -f $(WHEREJOE)/joe $(WHEREJOE)/jmacs $(WHEREJOE)/jstar $(WHEREJOE)/jpico $(WHEREJOE)/rjoe # $(WHEREJOE)/termidx
mv joe $(WHEREJOE)
ln $(WHEREJOE)/joe $(WHEREJOE)/jmacs
ln $(WHEREJOE)/joe $(WHEREJOE)/jstar
ln $(WHEREJOE)/joe $(WHEREJOE)/rjoe
ln $(WHEREJOE)/joe $(WHEREJOE)/jpico
! # mv termidx $(WHEREJOE)
if [ ! -d $(WHERERC) ]; then mkdir $(WHERERC); chmod a+rx $(WHERERC); fi
rm -f $(WHERERC)/joerc $(WHERERC)/jmacsrc $(WHERERC)/jstarrc $(WHERERC)/jpicorc $(WHERERC)/rjoerc $(WHEREMAN)/joe.1
cp joerc $(WHERERC)
***************
*** 114,126 ****
chmod a+r $(WHERERC)/rjoerc
chmod a+r $(WHERERC)/jpicorc
chmod a+r $(WHEREMAN)/joe.1
! chmod a+x $(WHEREJOE)/termidx
! rm -f $(WHERERC)/termcap
! cp termcap $(WHERERC)/termcap
! chmod a+r $(WHERERC)/termcap
! rm -f $(WHERERC)/terminfo
! cp terminfo $(WHERERC)/terminfo
! chmod a+r $(WHERERC)/terminfo
# Cleanup proceedure
--- 114,126 ----
chmod a+r $(WHERERC)/rjoerc
chmod a+r $(WHERERC)/jpicorc
chmod a+r $(WHEREMAN)/joe.1
! # chmod a+x $(WHEREJOE)/termidx
! # rm -f $(WHERERC)/termcap
! # cp termcap $(WHERERC)/termcap
! # chmod a+r $(WHERERC)/termcap
! # rm -f $(WHERERC)/terminfo
! # cp terminfo $(WHERERC)/terminfo
! # chmod a+r $(WHERERC)/terminfo
# Cleanup proceedure

View File

@ -1,64 +0,0 @@
--- main.c.orig Sat Jan 21 19:21:08 1995
+++ main.c Wed Feb 28 18:52:17 2001
@@ -18,6 +18,10 @@
#include <stdio.h>
#include <fcntl.h>
+#ifdef __FreeBSD__
+#include <locale.h>
+#include <ctype.h>
+#endif
#include "config.h"
#include "w.h"
#include "tty.h"
@@ -187,6 +191,20 @@
run=namprt(argv[0]);
#endif
+#ifdef __FreeBSD__
+ setlocale(LC_ALL, "");
+ for(c=0;c<256;c++)
+ { int a=0;
+ if(iscntrl(c))
+ a|=UNDERLINE;
+ if((c&0x80)&&!isprint(c))
+ a|=INVERSE;
+ xlata[c]=a;
+ if(isprint(c))
+ xlatc[c]=c;
+ }
+#endif
+
if(s=getenv("LINES")) sscanf(s,"%d",&lines);
if(s=getenv("COLUMNS")) sscanf(s,"%d",&columns);
if(s=getenv("BAUD")) sscanf(s,"%u",&Baud);
@@ -234,20 +252,6 @@
#else
- s=vsncpy(NULL,0,sc("."));
- s=vsncpy(sv(s),sv(run));
- s=vsncpy(sv(s),sc("rc"));
- c=procrc(cap,s);
- if(c==0) goto donerc;
- if(c==1)
- {
- char buf[8];
- fprintf(stderr,"There were errors in '%s'. Use it anyway?",s);
- fflush(stderr);
- fgets(buf,8,stdin);
- if(buf[0]=='y' || buf[0]=='Y') goto donerc;
- }
-
vsrm(s);
s=getenv("HOME");
if(s)
@@ -365,7 +369,7 @@
maint->curwin=maint->topwin;
if(help) helpon(maint);
if(!nonotice)
- msgnw(lastw(maint)->object,"\\i** Joe's Own Editor v2.8 ** Copyright (C) 1995 Joseph H. Allen **\\i");
+ msgnw(lastw(maint)->object,"\\i** Joe's Own Editor v2.8l ** Copyright (C) 1995 Joseph H. Allen **\\i");
edloop(0);
vclose(vmem);
nclose(n);

View File

@ -1,16 +0,0 @@
--- scrn.c.old Thu Oct 6 02:10:07 1994
+++ scrn.c Thu Sep 11 11:45:47 1997
@@ -288,6 +288,12 @@
if(!(t->uc=jgetstr(t->cap,"uc"))) if(t->ul) t->uc="_";
if(t->uc) t->avattr|=UNDERLINE;
+/* If we don't have underline, but we do have bold, print underline as bold */
+if (!(t->avattr & UNDERLINE) && t->md != NULL)
+ {
+ t->us = t->md ; t->ue = t->me ; t->avattr |= UNDERLINE;
+ }
+
t->ms=getflag(t->cap,"ms");
t->da=getflag(t->cap,"da");

View File

@ -1,98 +1,66 @@
--- b.c.orig Fri Jan 20 00:38:25 1995
+++ b.c Sun Dec 3 09:58:21 2000
@@ -21,6 +21,9 @@
--- b.c.orig Wed Apr 11 17:10:49 2001
+++ b.c Sat Apr 21 23:11:38 2001
@@ -16,6 +16,9 @@
#include <pwd.h>
#endif
#include <errno.h>
+#include <sys/file.h>
+#include <sys/types.h>
+#include <sys/stat.h>
#include "config.h"
#include "blocks.h"
@@ -201,6 +204,7 @@
if(prop) b->o=prop->o;
else b->o=pdefault;
mset(b->marks,0,sizeof(b->marks));
+ b->filehandle = -1; /* initialize filehandle &&& ob */
b->rdonly=0;
b->orphan=0;
b->oldcur=0;
@@ -255,6 +259,10 @@
{
if(b && !--b->count)
{
+ if (b->filehandle != -1) {
+ /* close filehandle, free lock &&& ob */
+ close (b->filehandle);
+ }
if(b->changed) abrerr(b->name);
if(b==errbuf) errbuf=0;
if(b->undo) undorm(b->undo);
@@ -1671,7 +1679,8 @@
B *b;
long skip,amnt;
char *n;
- int nowrite=0;
+ struct stat sb;
+ int nowrite=0,fh=-1;
if(!s || !s[0])
{
@@ -1704,6 +1713,28 @@
else fclose(fi);
fi=fopen(n,"r");
if(!fi) nowrite=0;
+/*printf ("nowrite open=%i\n", nowrite); */
+
+ /* check file mod, if no write flags set,
+ joe in read only mode. &&& ob */
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
@@ -178,6 +181,7 @@
else
b->o = pdefault;
mset (b->marks, 0, sizeof (b->marks));
+ b->filehandle = -1; /* initialize filehandle &&& ob */
b->rdonly = 0;
b->orphan = 0;
b->oldcur = 0;
@@ -229,6 +233,11 @@
void brm (B *b) {
if (b && !--b->count)
{
+ if (b->filehandle != -1) {
+ /* close filehandle, free lock &&& ob */
+ close (b->filehandle);
+ }
+
+ if (!nowrite) {
+ nowrite = (!stat (n, &sb)) && (!(sb.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)));
+ }
+/*printf ("nowrite stat=%i\n", nowrite); */
+
+ /* lock the file if writable, or go into read only mode if
+ already locked, */
+
+ if ((fi) && (!nowrite)) {
+ fh = dup( fileno(fi) );
+ nowrite = (flock (fh, LOCK_EX | LOCK_NB));
+ }
+/*printf ("nowrite flock=%i\n", nowrite); */
+
+/*nowrite = 1; */ /* for test purpose */
+/*printf ("nowrite=%i\n", nowrite); */
+
}
joesep(n);
if (b->changed)
abrerr (b->name);
if (b == errbuf)
@@ -1867,7 +1876,8 @@
B *b;
long skip, amnt;
char *n;
- int nowrite = 0;
+ struct stat sb;
+ int nowrite = 0, fh = -1;
@@ -1761,6 +1792,7 @@
vsrm(n);
if (!s || !s[0])
{
@@ -1920,6 +1930,14 @@
goto opnerr;
}
b->er=error;
+ if( fh != -1 ) b->filehandle = fh;
return b;
}
+ /* Lock the file &&& ob,petef */
+ if (fi)
+ {
+ fh = dup( fileno(fi) );
+ nowrite = (flock (fh, LOCK_EX | LOCK_NB));
+ }
+
+
/* Skip data if we need to */
if (skip && lseek (fileno (fi), skip, 0) < 0)
{
@@ -1978,6 +1996,8 @@
vsrm (n);
b->er = error;
+ if (fh != -1)
+ b->filehandle = fh;
return b;
}
@@ -1990,7 +2022,18 @@
{
long tim=time(0);
B *b;
- FILE *f=fopen("DEADJOE","a");
+ FILE *f;
+ struct stat sb;
+ if ((lstat("DEADJOE", &sb) == 0) && (((sb.st_mode & S_IFLNK) && (sb.st_uid != getuid())) || (sb.st_nlink > 1)))
+ {
+ printf("*** JOE was aborted ");
+ if (sig) printf("by signal %d, cannot save DEADJOE due to unsafe symlink\n",sig);
+ else printf("because the terminal closed, cannot save DEADJOE due to unsafe symlink\n");
+ if(sig) ttclsn();
+ _exit(1);
+ }
+ f=fopen("DEADJOE","a");
+ chmod("DEADJOE", S_IRUSR | S_IWUSR);
fprintf(f,"\n*** Modified files in JOE when it aborted on %s",ctime(&tim));
if(sig) fprintf(f,"*** JOE was aborted by signal %d\n",sig);
else fprintf(f,"*** JOE was aborted because the terminal closed\n");

View File

@ -1,8 +1,10 @@
--- b.h.orig Wed Dec 21 13:04:46 1994
+++ b.h Tue Dec 7 13:35:11 1999
@@ -61,4 +61,5 @@
int internal; /* Set for internal buffers */
int er; /* Error code when file was loaded */
+ int filehandle; /* File handle for locking */
};
--- b.h.orig Sat Apr 21 23:15:48 2001
+++ b.h Sat Apr 21 23:16:16 2001
@@ -56,6 +56,7 @@
P *oldtop; /* Last top screen position before orphaning */
int rdonly; /* Set for read-only */
int internal; /* Set for internal buffers */
+ int filehandle; /* File handle for locking */
int er; /* Error code when file was loaded */
};

View File

@ -1,11 +1,17 @@
--- conf.c.orig Fri Jun 1 19:32:10 2001
+++ conf.c Fri Jun 1 19:33:37 2001
@@ -204,8 +204,6 @@
fprintf(f,"\n");
--- conf.c.orig Wed Apr 11 16:11:00 2001
+++ conf.c Mon Jun 25 22:19:07 2001
@@ -179,14 +179,6 @@
fprintf (f, "\n");
fprintf(f,"char *getenv();\n");
- if(sizeof(long)==8) fprintf(f,"int time();\n");
- else fprintf(f,"long time();\n");
fprintf(f,"void *malloc();\n");
fprintf(f,"void free();\n");
fprintf(f,"void *calloc();\n");
fprintf (f, "char *getenv();\n");
-#if !defined(__linux__) || !defined(__alpha)
- if (sizeof (long) == 8) {
- fprintf (f, "int time();\n");
- } else
-#endif
- {
- fprintf (f, "long time();\n");
- }
fprintf (f, "void *malloc();\n");
fprintf (f, "void free();\n");
fprintf (f, "void *calloc();\n");

View File

@ -1,9 +1,15 @@
JOE is the professional freeware ASCII text screen editor for UNIX.
It makes full use of the power and versatility of UNIX, but lacks the steep
learning curve and basic nonsense you have to deal with in every other UNIX
editor. JOE has the feel of most IBM PC text editors: The key-sequences are
reminiscent of WordStar and Turbo-C. JOE is much more powerful than those
editors, however. JOE has all of the features a UNIX user should expect:
full use of termcap/terminfo, excellent screen update optimizations (JOE is
fully useable at 2400 baud), simple installation, and all of the
JOE is the professional freeware ASCII text screen editor for UNIX.
It makes full use of the power and versatility of UNIX, but lacks
the steep learning curve and basic nonsense you have to deal with
in every other UNIX editor. JOE has the feel of most IBM PC text
editors: the key-sequences are reminiscent of WordStar and Turbo-C.
JOE is much more powerful than those editors, however. JOE has
all of the features a UNIX user should expect: full use of
termcap/terminfo, excellent screen update optimizations (JOE is
fully usable at 2400 baud), simple installation, and all of the
UNIX-integration features of VI.
WWW: http://sourceforge.net/projects/joe-editor/
-Pete
petef@databits.net

View File

@ -3,8 +3,13 @@ bin/jmacs
bin/jstar
bin/rjoe
bin/jpico
lib/joerc
lib/jmacsrc
lib/jstarrc
lib/rjoerc
lib/jpicorc
bin/termidx
etc/joerc
etc/jmacsrc
etc/jstarrc
etc/rjoerc
etc/jpicorc
%%PORTDOCS%%share/doc/joe/INFO
%%PORTDOCS%%share/doc/joe/README
%%PORTDOCS%%share/doc/joe/CommandList
%%PORTDOCS%%@dirrm share/doc/joe