FreeBSD Bugzilla – Attachment 174676 Details for
Bug 212597
New port: editors/ecce Edinburgh Compatible Context Editor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
shar file for new port
ecce.shar (text/plain), 9.06 KB, created by
Bob Eager
on 2016-09-12 08:53:29 UTC
(
hide
)
Description:
shar file for new port
Filename:
MIME Type:
Creator:
Bob Eager
Created:
2016-09-12 08:53:29 UTC
Size:
9.06 KB
patch
obsolete
># 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: ># ># ecce ># ecce/pkg-descr ># ecce/Makefile ># ecce/files ># ecce/files/patch-ecce.c ># ecce/distinfo ># ecce/pkg-plist ># >echo c - ecce >mkdir -p ecce > /dev/null 2>&1 >echo x - ecce/pkg-descr >sed 's/^X//' >ecce/pkg-descr << '85ba8eeb39fe788d3719cfc7cf3d33dc' >XThis is a port of ECCE (the Edinburgh Compatible Context Editor). Now >Xreally quite ancient, it is still a favourite among many graduates of >XEdinburgh University. >X >XWWW: http://www.gtoal.com/ecce/ >85ba8eeb39fe788d3719cfc7cf3d33dc >echo x - ecce/Makefile >sed 's/^X//' >ecce/Makefile << '24b436182758990775ee9737cf6202c2' >X# $FreeBSD$ >X >XPORTNAME= ecce >XDISTVERSION= 2.9d >XCATEGORIES= editors >XMASTER_SITES= http://www.ml1.org.uk/distfiles/ \ >X http://www.ancientgeek.org.uk/distfiles/ >X >XMAINTAINER= bob@eager.cx >XCOMMENT= Edinburgh Compatible Context Editor >X >XLICENSE= CC0-1.0 >X >XOPTIONS_DEFINE= DOCS >X >Xdo-install: >X ${INSTALL_PROGRAM} ${WRKSRC}/ecce ${STAGEDIR}${PREFIX}/bin >X ${INSTALL_MAN} ${WRKSRC}/ecce.1.gz ${STAGEDIR}${MANPREFIX}/man/man1 >X >Xpost-install-DOCS-on: >X @${MKDIR} ${STAGEDIR}${DOCSDIR} >X ${INSTALL_MAN} ${WRKSRC}/doc/ecce2.txt ${STAGEDIR}${DOCSDIR} >X ${INSTALL_MAN} ${WRKSRC}/doc/review.txt ${STAGEDIR}${DOCSDIR} >X ${INSTALL_MAN} ${WRKSRC}/doc/hmdecce.html ${STAGEDIR}${DOCSDIR} >X ${INSTALL_MAN} ${WRKSRC}/doc/ldsecce.html ${STAGEDIR}${DOCSDIR} >X >X.include <bsd.port.mk> >24b436182758990775ee9737cf6202c2 >echo c - ecce/files >mkdir -p ecce/files > /dev/null 2>&1 >echo x - ecce/files/patch-ecce.c >sed 's/^X//' >ecce/files/patch-ecce.c << '54d453547668734a63bc2f1e7f453048' >X--- ecce.c.orig 2016-09-11 21:27:36 UTC >X+++ ecce.c >X@@ -12,6 +12,9 @@ >X #include <ctype.h> >X #include <signal.h> >X #include <errno.h> >X+#include <sys/types.h> >X+#include <unistd.h> >X+#include <sys/stat.h> >X >X #ifdef WANT_UTF8 >X /* EXPERIMENTAL SUPPORT FOR UTF-8 */ >X@@ -47,7 +50,7 @@ typedef char ecce_char; >X >X /**************************************************************************/ >X >X-#define NOTE_FILE "/tmp/Note0" >X+#define NOTE_FILE "/tmp/ecceNote0%06d" >X /* Name of temp file for multiple contexts - system dependant. */ >X /* Something like "/tmp/Note%c" would be a small improvement, */ >X /* but using a proper function like tmpnam() would be best. */ >X@@ -61,7 +64,7 @@ typedef char ecce_char; >X /* moving this to sourceforge. */ >X >X >X-#define CONTEXT_OFFSET (strlen(NOTE_FILE)-1) >X+#define CONTEXT_OFFSET 13 >X /* Index of variable part in name above (i.e. of '0') */ >X >X static char *ProgName = NULL; >X@@ -400,8 +403,7 @@ static int symtype[256] = { >X }; >X >X static int sym_type(ecce_char c) { >X- if ((0 <= c) && (c <= 255)) return symtype[(unsigned int)c]; >X- return err; >X+ return symtype[(unsigned int)c]; >X } >X >X static cindex a; >X@@ -412,7 +414,7 @@ static FILE *tty_out; >X static FILE *log_out; >X >X static ecce_int *com; >X-static int *link; >X+static int *xlink; >X static ecce_char *text; >X static long *num; >X static long *lim; >X@@ -442,7 +444,8 @@ int main(int argc, char **argv) { >X char *locale = setlocale(LC_ALL, ""); >X #endif >X >X- backup_save = tmpnam(backup_save_buf); >X+ sprintf(backup_save_buf, "/tmp/eccesave%06d", getpid()); >X+ backup_save = backup_save_buf; >X >X ProgName = argv[0]; >X s = strrchr(ProgName, '/'); >X@@ -596,7 +599,7 @@ void init_globals (void) { >X note_file = malloc (Max_parameter+1); >X >X com = (ecce_int *) malloc ((Max_command_units+1)*sizeof(ecce_int)); >X- link = (int *) malloc ((Max_command_units+1)*sizeof(int)); >X+ xlink = (int *) malloc ((Max_command_units+1)*sizeof(int)); >X text = (ecce_char *) malloc ((Max_command_units+1) * sizeof(ecce_char)); >X >X num = (long *) malloc ((Max_command_units+1)*sizeof(long)); >X@@ -605,7 +608,7 @@ void init_globals (void) { >X com_prompt = malloc (Max_prompt_length+1); >X >X if (a == NULL || note_file == NULL || com == NULL || >X- link == NULL || text == NULL || num == NULL || lim == NULL || >X+ xlink == NULL || text == NULL || num == NULL || lim == NULL || >X com_prompt == NULL) { >X fprintf (stderr, "Unable to claim buffer space\n"); >X free_buffers(); >X@@ -628,7 +631,7 @@ void init_globals (void) { >X pending_sym = '\n'; >X blank_line = TRUE; >X >X- (void)strcpy (note_file, NOTE_FILE); >X+ sprintf (note_file, NOTE_FILE, getpid()); >X noted = NULL; >X changes = 0; >X in_second = FALSE; >X@@ -640,7 +643,7 @@ void free_buffers (void) { /* only neede >X if (lim) free (lim); lim = NULL; >X if (num) free (num); num = NULL; >X if (text) free (text); text = NULL; >X- if (link) free (link); link = NULL; >X+ if (xlink) free (xlink); xlink = NULL; >X if (com) free (com); com = NULL; >X if (com_prompt) free (com_prompt); com_prompt = NULL; >X if (note_file) free (note_file); note_file = NULL; >X@@ -820,7 +823,9 @@ void percent (ecce_int Command_sym) { >X the edit and writing out the file. This is a quick hack: I >X should change this and the copy in percent('S') so that both >X share the same subroutine ensure_main_edit() *****************/ >X+ int oldmask = umask (0077); >X FILE *sec_out = fopen (note_file, "wb"); >X+ umask(oldmask); >X (void)strcpy (com_prompt, ">"); >X if (sec_out == NULL) { >X (void) fail_with ("Cannot save context", ' '); >X@@ -851,8 +856,10 @@ void percent (ecce_int Command_sym) { >X */ >X } /* End of copied bit */ >X if (Command_sym == 'c') { >X+ int oldmask = umask(0077); >X parameter[inoutlog] = backup_save; >X main_out = fopen (parameter[inoutlog], "wb"); >X+ umask(oldmask); >X if (main_out == NULL) { >X fprintf(stderr, >X "Sorry - I can't save your edit (even %s failed)\n", backup_save); >X@@ -865,10 +872,12 @@ void percent (ecce_int Command_sym) { >X else >X main_out = fopen (parameter[inoutlog], "wb"); >X if (main_out == NULL) { >X+ int oldmask = umask(0077); >X fprintf (stderr, >X "Can't create \"%s\" - attempting to save to %s instead\n", >X parameter[inoutlog], backup_save); >X main_out = fopen (backup_save, "w"); >X+ umask(oldmask); >X if (main_out == NULL) { >X fprintf(stderr, "Cannot save file at all. Giving up. Sorry!\n"); >X exit(1); >X@@ -947,7 +956,9 @@ void percent (ecce_int Command_sym) { >X pending_sym = '\n'; >X note_file[CONTEXT_OFFSET] = note_sec; >X if (in_second) { >X+ int oldmask = umask(0077); >X FILE *sec_out = fopen (note_file, "wb"); >X+ umask(oldmask); >X (void)strcpy (com_prompt, ">"); >X if (sec_out == NULL) { >X (void) fail_with ("Cannot save context", ' '); >X@@ -1028,14 +1039,14 @@ void unchain(void) { >X do { >X pointer = last_unit; >X if (pointer < 0) return; >X- last_unit = link[pointer]; >X- link[pointer] = this_unit; >X+ last_unit = xlink[pointer]; >X+ xlink[pointer] = this_unit; >X } while (com[pointer] != '('); >X } >X >X void stack(void) { >X com[this_unit] = command; >X- link[this_unit] = pointer; >X+ xlink[this_unit] = pointer; >X num[this_unit] = repeat_count; >X lim[this_unit] = limit; >X this_unit++; >X@@ -1369,7 +1380,9 @@ void execute_command(void) { >X } >X note_file[CONTEXT_OFFSET] = lim[this_unit]+'0'; >X { >X+ int oldmask = umask(0077); >X FILE *note_out = fopen (note_file, "wb"); >X+ umask(oldmask); >X cindex p = noted; >X >X if (note_out == NULL) { >X@@ -1628,7 +1641,7 @@ bool execute_unit (void) { >X >X command = com[this_unit]; >X culprit = command; >X- pointer = link[this_unit]; >X+ pointer = xlink[this_unit]; >X >X repeat_count = num[this_unit]; >X for (;;) { /* On repeats of this_unit */ >X@@ -1669,7 +1682,7 @@ bool execute_unit (void) { >X switch (command) { >X >X case '(': >X- this_unit = link[this_unit]; >X+ this_unit = xlink[this_unit]; >X break; /* Skip over (...) as if it were single command. */ >X >X case ',': >54d453547668734a63bc2f1e7f453048 >echo x - ecce/distinfo >sed 's/^X//' >ecce/distinfo << '1f6d3946c965882eb78e0399831aa7f2' >XTIMESTAMP = 1473669627 >XSHA256 (ecce-2.9d.tar.gz) = 598835fca74b25b4d3051689c2063d55348d3dce179952ec13070a00e4e9451b >XSIZE (ecce-2.9d.tar.gz) = 68887 >1f6d3946c965882eb78e0399831aa7f2 >echo x - ecce/pkg-plist >sed 's/^X//' >ecce/pkg-plist << '257b451e703606fcaafb42843ed7c3c7' >Xbin/ecce >Xman/man1/ecce.1.gz >X%%PORTDOCS%%%%DOCSDIR%%/ecce2.txt >X%%PORTDOCS%%%%DOCSDIR%%/hmdecce.html >X%%PORTDOCS%%%%DOCSDIR%%/ldsecce.html >X%%PORTDOCS%%%%DOCSDIR%%/review.txt >257b451e703606fcaafb42843ed7c3c7 >exit >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
bob
:
maintainer-approval+
Actions:
View
Attachments on
bug 212597
:
174676
|
174775