[MacPorts] #387: new port: editors/jove

MacPorts noreply at macports.org
Thu Mar 24 06:26:15 PDT 2016


#387: new port: editors/jove
-------------------------+------------------------
  Reporter:  vivek@…     |      Owner:  michaelm@…
      Type:  submission  |     Status:  closed
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  1.0
Resolution:  fixed       |   Keywords:
      Port:  jove        |
-------------------------+------------------------
Changes (by ryandesign@…):

 * type:  defect => submission
 * port:   => jove


Old description:

> This is mostly a transliteration of the freebsd port for jove, an emacs-
> inspired
> editor.  only difference from freebsd version is in how the Makefile is
> patched.
>
> # 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:
> #
> #       jove
> #       jove/files
> #       jove/files/patch-aa
> #       jove/files/patch-ab
> #       jove/files/patch-ac
> #       jove/files/patch-ad
> #       jove/files/patch-ae
> #       jove/files/patch-af
> #       jove/files/patch-ag
> #       jove/Portfile
> #
> echo c - jove
> mkdir -p jove > /dev/null 2>&1
> echo c - jove/files
> mkdir -p jove/files > /dev/null 2>&1
> echo x - jove/files/patch-aa
> sed 's/^X//' >jove/files/patch-aa << 'END-of-jove/files/patch-aa'
> X--- Makefile.orig      Tue Mar 19 13:44:33 1996
> X+++ Makefile   Wed Dec 20 05:39:12 2000
> X@@ -27,16 +27,16 @@
> X # LIBDIR and SHAREDIR.  All others must already exist.
> X
> X SHELL = /bin/sh
> X-TMPDIR = /usr/tmp
> X+TMPDIR = /var/tmp
> X RECDIR = /usr/preserve
> X
> X-JOVEHOME = /usr/local
> X-SHAREDIR = $(JOVEHOME)/lib/jove
> X-LIBDIR = $(JOVEHOME)/lib/jove
> X+JOVEHOME = __PREFIX
> X+SHAREDIR = $(JOVEHOME)/share/jove
> X+LIBDIR = $(JOVEHOME)/libexec/jove
> X BINDIR = $(JOVEHOME)/bin
> X MANDIR = $(JOVEHOME)/man/man$(MANEXT)
> X MANEXT = 1
> X-DFLTSHELL = /bin/csh
> X+DFLTSHELL = /bin/sh
> X
> X # The install commands of BSD and System V differ in unpleasant ways:
> X # -c: copy (BSD); -c dir: destination directory (SysV)
> X@@ -50,12 +50,12 @@
> X INSTALLFLAGS = # -g bin -o root
> X
> X # to install executable files
> X-XINSTALL=cp
> X-#XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s
> X+#XINSTALL=cp
> X+XINSTALL=install $(INSTALLFLAGS) -c -m 755 -s
> X
> X # to install text files
> X-TINSTALL=cp
> X-#TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644
> X+#TINSTALL=cp
> X+TINSTALL=install $(INSTALLFLAGS) -c -m 644
> X
> X # These should all just be right if the above ones are.
> X # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR.
> X@@ -79,7 +79,7 @@
> X # compiler, adding -Xa -v will increase compiler checking.
> X # On DEC OSF/1, -std1 -O
> X
> X-OPTFLAGS = -O
> X+#OPTFLAGS = -O
> X
> X # For making dependencies under BSD systems
> X DEPENDFLAG = -M
> X@@ -163,13 +163,13 @@
> X #
> X # You can just say 'make SYSDEFS=-Dwhatever' on these systems.
> X
> X-SYSDEFS =
> X+SYSDEFS = -DBSDPOSIX
> X
> X # for SCO Xenix, set
> X #     MEMFLAGS = -Mle
> X #     CFLAGS = -LARGE -O -F 3000 -K -Mle  (say -Mle2 for an 80286)
> X
> X-CFLAGS = $(OPTFLAGS) $(SYSDEFS)
> X+CFLAGS += $(OPTFLAGS) $(SYSDEFS)
> X
> X # For SYSVR4 (/usr/ucb/cc will NOT work because of setjmp.h):
> X # CC = /usr/bin/cc
> X@@ -213,7 +213,7 @@
> X TROFF = troff -Tpost
> X TROFFPOST = | /usr/lib/lp/postscript/dpost - >troff.out.ps
> X
> X-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM)
> X+MANUALS = $(JOVEM) $(TEACHJOVEM) # $(XJOVEM) $(JOVETOOLM)
> X
> X C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c
> case.c
> jctype.c \
> X       delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
> END-of-jove/files/patch-aa
> echo x - jove/files/patch-ab
> sed 's/^X//' >jove/files/patch-ab << 'END-of-jove/files/patch-ab'
> X*** mouse.c.org        Thu Mar  7 12:34:43 1996
> X--- mouse.c    Thu Jun 25 14:17:16 1998
> X***************
> X*** 266,272 ****
> X       /* Format of command to xterm to start or stop mouse hilite
> tracking:
> X        * ^[ [ func ; startx ; starty ; firstrow ; lastrow T
> X        */
> X! #define XTERMBUG
> X  #ifdef XTERMBUG
> X       static const char       hl_fmt[] = "\033[%d;%d;%d;%d;%dTX";
> X  #else
> X--- 266,272 ----
> X       /* Format of command to xterm to start or stop mouse hilite
> tracking:
> X        * ^[ [ func ; startx ; starty ; firstrow ; lastrow T
> X        */
> X! /* #undef XTERMBUG */
> X  #ifdef XTERMBUG
> X       static const char       hl_fmt[] = "\033[%d;%d;%d;%d;%dTX";
> X  #else
> END-of-jove/files/patch-ab
> echo x - jove/files/patch-ac
> sed 's/^X//' >jove/files/patch-ac << 'END-of-jove/files/patch-ac'
> X--- sysdep.h.orig      Mon Jul 20 16:39:19 1998
> X+++ sysdep.h   Mon Jul 20 16:40:08 1998
> X@@ -154,6 +154,7 @@
> X # define USE_FSYNC    1
> X # define USE_FSTAT    1
> X # define USE_FCHMOD   1
> X+# define USE_CTYPE    1
> X #endif
> X
> X #ifdef IRIX
> END-of-jove/files/patch-ac
> echo x - jove/files/patch-ad
> sed 's/^X//' >jove/files/patch-ad << 'END-of-jove/files/patch-ad'
> X--- abbrev.c.orig      Fri Mar  8 02:34:41 1996
> X+++ abbrev.c   Wed Dec 20 05:19:33 2000
> X@@ -274,7 +274,16 @@
> X               "jabbXXXXXX"
> X #endif
> X               );
> X+#ifndef NO_MKSTEMP
> X+      {
> X+              int fd = mkstemp(tname);
> X+              if ( fd == -1 )
> X+                      err( 1, "can't create temp file %s", tname );
> X+              close( fd );
> X+      }
> X+#else
> X       (void) mktemp(tname);
> X+#endif
> X       save_abbrevs(tname);
> X       setfname(ebuf, tname);
> X       read_file(tname, NO);
> END-of-jove/files/patch-ad
> echo x - jove/files/patch-ae
> sed 's/^X//' >jove/files/patch-ae << 'END-of-jove/files/patch-ae'
> X--- io.c.orig  Fri Mar  8 02:34:42 1996
> X+++ io.c       Wed Dec 20 05:19:17 2000
> X@@ -1193,10 +1193,16 @@
> X #endif
> X               );
> X       tfname = copystr(buf);
> X+#ifdef NO_MKSTEMP
> X       tfname = mktemp(tfname);
> X+#endif
> X #ifndef MSFILESYSTEM
> X+#ifndef NO_MKSTEMP
> X+      tmpfd = mkstemp(tfname);
> X+#else
> X       (void) close(creat(tfname, 0600));
> X       tmpfd = open(tfname, 2);
> X+#endif
> X #else /* MSFILESYSTEM */
> X       tmpfd = open(tfname, O_CREAT|O_EXCL|O_BINARY|O_RDWR,
> S_IWRITE|S_IREAD);
> X #endif /* MSFILESYSTEM */
> END-of-jove/files/patch-ae
> echo x - jove/files/patch-af
> sed 's/^X//' >jove/files/patch-af << 'END-of-jove/files/patch-af'
> X--- proc.c.orig        Sat Mar  9 06:46:40 1996
> X+++ proc.c     Wed Dec 20 05:20:13 2000
> X@@ -827,8 +827,14 @@
> X               int     ph;
> X
> X               swritef(pnbuf, sizeof(pnbuf), "%s/%s", TmpDir,
> "jpXXXXXX");
> X+#ifndef NO_MKSTEMP
> X+              pipename = pnbuf;
> X+              ph = mkstemp( pipename );
> X+#else
> X               pipename = mktemp(pnbuf);
> X-              if ((ph = creat(pipename, S_IWRITE|S_IREAD)) < 0)
> X+              ph = creat(pipename, S_IWRITE|S_IREAD);
> X+#endif
> X+              if (ph == -1)
> X                       complain("cannot make pipe for filter: %s",
> strerror(errno));
> X               close(1);
> X               close(2);
> X@@ -923,7 +929,18 @@
> X       jmp_buf sav_jmp;
> X
> X       swritef(tnambuf, sizeof(tnambuf), "%s/%s", TmpDir, "jfXXXXXX");
> X+#ifndef NO_MKSTEMP
> X+      {
> X+              int fd = mkstemp(tnambuf);
> X+              if ( fd == -1 )
> X+                      complain( "can't create temp file %s: %s",
> X+                                tnambuf, strerror(errno) );
> X+              close( fd );
> X+              tname = tnambuf;
> X+      }
> X+#else
> X       tname = mktemp(tnambuf);
> X+#endif
> X       fp = open_file(tname, iobuff, F_WRITE, YES);
> X       push_env(sav_jmp);
> X       if (setjmp(mainjmp) == 0) {
> END-of-jove/files/patch-af
> echo x - jove/files/patch-ag
> sed 's/^X//' >jove/files/patch-ag << 'END-of-jove/files/patch-ag'
> X--- rec.c.orig Fri Mar  8 02:34:43 1996
> X+++ rec.c      Wed Dec 20 05:19:50 2000
> X@@ -55,8 +55,12 @@
> X #endif
> X               );
> X       recfname = copystr(buf);
> X+#ifndef NO_MKSTEMP
> X+      rec_fd = mkstemp(recfname);
> X+#else
> X       recfname = mktemp(recfname);
> X       rec_fd = creat(recfname, 0644);
> X+#endif
> X       if (rec_fd == -1) {
> X               complain("Cannot create \"%s\"; recovery disabled.",
> recfname);
> X               /*NOTREACHED*/
> END-of-jove/files/patch-ag
> echo x - jove/Portfile
> sed 's/^X//' >jove/Portfile << 'END-of-jove/Portfile'
> X# $Id:  $
> X
> XPortSystem 1.0
> Xname           jove
> Xversion                4.16
> Xworksrcdir     jove
> Xconfigure      {
> X                 cd ${worksrcpath}
> X                  reinplace "s|__PREFIX|${prefix}|g" Makefile
> X               }
> Xcategories     editors
> Xmaintainers    vivek at khera.org
> Xdescription    Jonathan's Own Version of Emacs
> Xlong_description       \
> XJove is a simple text editor in the spirit of GNU emacs, but somewhat \
> Xsmaller and faster to start up.
> Xplatforms      darwin freebsd
> Xmaster_sites   ftp://ftp.cs.toronto.edu/pub/moraes/jove/
> Xpatchfiles patch-aa patch-ab patch-ac patch-ad patch-ae patch-af patch-
> ag
> Xchecksums      md5 38ebd64355a99b0d007aaef17b0d00b1
> END-of-jove/Portfile
> exit

New description:

 This is mostly a transliteration of the freebsd port for jove, an emacs-
 inspired
 editor.  only difference from freebsd version is in how the Makefile is
 patched.

 {{{
 # 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:
 #
 #       jove
 #       jove/files
 #       jove/files/patch-aa
 #       jove/files/patch-ab
 #       jove/files/patch-ac
 #       jove/files/patch-ad
 #       jove/files/patch-ae
 #       jove/files/patch-af
 #       jove/files/patch-ag
 #       jove/Portfile
 #
 echo c - jove
 mkdir -p jove > /dev/null 2>&1
 echo c - jove/files
 mkdir -p jove/files > /dev/null 2>&1
 echo x - jove/files/patch-aa
 sed 's/^X//' >jove/files/patch-aa << 'END-of-jove/files/patch-aa'
 X--- Makefile.orig      Tue Mar 19 13:44:33 1996
 X+++ Makefile   Wed Dec 20 05:39:12 2000
 X@@ -27,16 +27,16 @@
 X # LIBDIR and SHAREDIR.  All others must already exist.
 X
 X SHELL = /bin/sh
 X-TMPDIR = /usr/tmp
 X+TMPDIR = /var/tmp
 X RECDIR = /usr/preserve
 X
 X-JOVEHOME = /usr/local
 X-SHAREDIR = $(JOVEHOME)/lib/jove
 X-LIBDIR = $(JOVEHOME)/lib/jove
 X+JOVEHOME = __PREFIX
 X+SHAREDIR = $(JOVEHOME)/share/jove
 X+LIBDIR = $(JOVEHOME)/libexec/jove
 X BINDIR = $(JOVEHOME)/bin
 X MANDIR = $(JOVEHOME)/man/man$(MANEXT)
 X MANEXT = 1
 X-DFLTSHELL = /bin/csh
 X+DFLTSHELL = /bin/sh
 X
 X # The install commands of BSD and System V differ in unpleasant ways:
 X # -c: copy (BSD); -c dir: destination directory (SysV)
 X@@ -50,12 +50,12 @@
 X INSTALLFLAGS = # -g bin -o root
 X
 X # to install executable files
 X-XINSTALL=cp
 X-#XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s
 X+#XINSTALL=cp
 X+XINSTALL=install $(INSTALLFLAGS) -c -m 755 -s
 X
 X # to install text files
 X-TINSTALL=cp
 X-#TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644
 X+#TINSTALL=cp
 X+TINSTALL=install $(INSTALLFLAGS) -c -m 644
 X
 X # These should all just be right if the above ones are.
 X # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR.
 X@@ -79,7 +79,7 @@
 X # compiler, adding -Xa -v will increase compiler checking.
 X # On DEC OSF/1, -std1 -O
 X
 X-OPTFLAGS = -O
 X+#OPTFLAGS = -O
 X
 X # For making dependencies under BSD systems
 X DEPENDFLAG = -M
 X@@ -163,13 +163,13 @@
 X #
 X # You can just say 'make SYSDEFS=-Dwhatever' on these systems.
 X
 X-SYSDEFS =
 X+SYSDEFS = -DBSDPOSIX
 X
 X # for SCO Xenix, set
 X #     MEMFLAGS = -Mle
 X #     CFLAGS = -LARGE -O -F 3000 -K -Mle  (say -Mle2 for an 80286)
 X
 X-CFLAGS = $(OPTFLAGS) $(SYSDEFS)
 X+CFLAGS += $(OPTFLAGS) $(SYSDEFS)
 X
 X # For SYSVR4 (/usr/ucb/cc will NOT work because of setjmp.h):
 X # CC = /usr/bin/cc
 X@@ -213,7 +213,7 @@
 X TROFF = troff -Tpost
 X TROFFPOST = | /usr/lib/lp/postscript/dpost - >troff.out.ps
 X
 X-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM)
 X+MANUALS = $(JOVEM) $(TEACHJOVEM) # $(XJOVEM) $(JOVETOOLM)
 X
 X C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c
 case.c
 jctype.c \
 X       delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
 END-of-jove/files/patch-aa
 echo x - jove/files/patch-ab
 sed 's/^X//' >jove/files/patch-ab << 'END-of-jove/files/patch-ab'
 X*** mouse.c.org        Thu Mar  7 12:34:43 1996
 X--- mouse.c    Thu Jun 25 14:17:16 1998
 X***************
 X*** 266,272 ****
 X       /* Format of command to xterm to start or stop mouse hilite
 tracking:
 X        * ^[ [ func ; startx ; starty ; firstrow ; lastrow T
 X        */
 X! #define XTERMBUG
 X  #ifdef XTERMBUG
 X       static const char       hl_fmt[] = "\033[%d;%d;%d;%d;%dTX";
 X  #else
 X--- 266,272 ----
 X       /* Format of command to xterm to start or stop mouse hilite
 tracking:
 X        * ^[ [ func ; startx ; starty ; firstrow ; lastrow T
 X        */
 X! /* #undef XTERMBUG */
 X  #ifdef XTERMBUG
 X       static const char       hl_fmt[] = "\033[%d;%d;%d;%d;%dTX";
 X  #else
 END-of-jove/files/patch-ab
 echo x - jove/files/patch-ac
 sed 's/^X//' >jove/files/patch-ac << 'END-of-jove/files/patch-ac'
 X--- sysdep.h.orig      Mon Jul 20 16:39:19 1998
 X+++ sysdep.h   Mon Jul 20 16:40:08 1998
 X@@ -154,6 +154,7 @@
 X # define USE_FSYNC    1
 X # define USE_FSTAT    1
 X # define USE_FCHMOD   1
 X+# define USE_CTYPE    1
 X #endif
 X
 X #ifdef IRIX
 END-of-jove/files/patch-ac
 echo x - jove/files/patch-ad
 sed 's/^X//' >jove/files/patch-ad << 'END-of-jove/files/patch-ad'
 X--- abbrev.c.orig      Fri Mar  8 02:34:41 1996
 X+++ abbrev.c   Wed Dec 20 05:19:33 2000
 X@@ -274,7 +274,16 @@
 X               "jabbXXXXXX"
 X #endif
 X               );
 X+#ifndef NO_MKSTEMP
 X+      {
 X+              int fd = mkstemp(tname);
 X+              if ( fd == -1 )
 X+                      err( 1, "can't create temp file %s", tname );
 X+              close( fd );
 X+      }
 X+#else
 X       (void) mktemp(tname);
 X+#endif
 X       save_abbrevs(tname);
 X       setfname(ebuf, tname);
 X       read_file(tname, NO);
 END-of-jove/files/patch-ad
 echo x - jove/files/patch-ae
 sed 's/^X//' >jove/files/patch-ae << 'END-of-jove/files/patch-ae'
 X--- io.c.orig  Fri Mar  8 02:34:42 1996
 X+++ io.c       Wed Dec 20 05:19:17 2000
 X@@ -1193,10 +1193,16 @@
 X #endif
 X               );
 X       tfname = copystr(buf);
 X+#ifdef NO_MKSTEMP
 X       tfname = mktemp(tfname);
 X+#endif
 X #ifndef MSFILESYSTEM
 X+#ifndef NO_MKSTEMP
 X+      tmpfd = mkstemp(tfname);
 X+#else
 X       (void) close(creat(tfname, 0600));
 X       tmpfd = open(tfname, 2);
 X+#endif
 X #else /* MSFILESYSTEM */
 X       tmpfd = open(tfname, O_CREAT|O_EXCL|O_BINARY|O_RDWR,
 S_IWRITE|S_IREAD);
 X #endif /* MSFILESYSTEM */
 END-of-jove/files/patch-ae
 echo x - jove/files/patch-af
 sed 's/^X//' >jove/files/patch-af << 'END-of-jove/files/patch-af'
 X--- proc.c.orig        Sat Mar  9 06:46:40 1996
 X+++ proc.c     Wed Dec 20 05:20:13 2000
 X@@ -827,8 +827,14 @@
 X               int     ph;
 X
 X               swritef(pnbuf, sizeof(pnbuf), "%s/%s", TmpDir,
 "jpXXXXXX");
 X+#ifndef NO_MKSTEMP
 X+              pipename = pnbuf;
 X+              ph = mkstemp( pipename );
 X+#else
 X               pipename = mktemp(pnbuf);
 X-              if ((ph = creat(pipename, S_IWRITE|S_IREAD)) < 0)
 X+              ph = creat(pipename, S_IWRITE|S_IREAD);
 X+#endif
 X+              if (ph == -1)
 X                       complain("cannot make pipe for filter: %s",
 strerror(errno));
 X               close(1);
 X               close(2);
 X@@ -923,7 +929,18 @@
 X       jmp_buf sav_jmp;
 X
 X       swritef(tnambuf, sizeof(tnambuf), "%s/%s", TmpDir, "jfXXXXXX");
 X+#ifndef NO_MKSTEMP
 X+      {
 X+              int fd = mkstemp(tnambuf);
 X+              if ( fd == -1 )
 X+                      complain( "can't create temp file %s: %s",
 X+                                tnambuf, strerror(errno) );
 X+              close( fd );
 X+              tname = tnambuf;
 X+      }
 X+#else
 X       tname = mktemp(tnambuf);
 X+#endif
 X       fp = open_file(tname, iobuff, F_WRITE, YES);
 X       push_env(sav_jmp);
 X       if (setjmp(mainjmp) == 0) {
 END-of-jove/files/patch-af
 echo x - jove/files/patch-ag
 sed 's/^X//' >jove/files/patch-ag << 'END-of-jove/files/patch-ag'
 X--- rec.c.orig Fri Mar  8 02:34:43 1996
 X+++ rec.c      Wed Dec 20 05:19:50 2000
 X@@ -55,8 +55,12 @@
 X #endif
 X               );
 X       recfname = copystr(buf);
 X+#ifndef NO_MKSTEMP
 X+      rec_fd = mkstemp(recfname);
 X+#else
 X       recfname = mktemp(recfname);
 X       rec_fd = creat(recfname, 0644);
 X+#endif
 X       if (rec_fd == -1) {
 X               complain("Cannot create \"%s\"; recovery disabled.",
 recfname);
 X               /*NOTREACHED*/
 END-of-jove/files/patch-ag
 echo x - jove/Portfile
 sed 's/^X//' >jove/Portfile << 'END-of-jove/Portfile'
 X# $Id:  $
 X
 XPortSystem 1.0
 Xname           jove
 Xversion                4.16
 Xworksrcdir     jove
 Xconfigure      {
 X                 cd ${worksrcpath}
 X                  reinplace "s|__PREFIX|${prefix}|g" Makefile
 X               }
 Xcategories     editors
 Xmaintainers    vivek at khera.org
 Xdescription    Jonathan's Own Version of Emacs
 Xlong_description       \
 XJove is a simple text editor in the spirit of GNU emacs, but somewhat \
 Xsmaller and faster to start up.
 Xplatforms      darwin freebsd
 Xmaster_sites   ftp://ftp.cs.toronto.edu/pub/moraes/jove/
 Xpatchfiles patch-aa patch-ab patch-ac patch-ad patch-ae patch-af patch-ag
 Xchecksums      md5 38ebd64355a99b0d007aaef17b0d00b1
 END-of-jove/Portfile
 exit
 }}}

--

-- 
Ticket URL: <https://trac.macports.org/ticket/387#comment:7>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list