From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- app-editors/jove/Manifest | 9 + .../jove/files/jove-4.16.0.70.3.1-getline.patch | 81 +++++++++ app-editors/jove/files/jove-4.16.0.73-build.patch | 188 +++++++++++++++++++++ app-editors/jove/files/jove-4.16.0.73-doc.patch | 34 ++++ .../jove/files/jove-4.16.0.73-sendmail.patch | 19 +++ app-editors/jove/jove-4.16.0.73.ebuild | 51 ++++++ app-editors/jove/metadata.xml | 15 ++ 7 files changed, 397 insertions(+) create mode 100644 app-editors/jove/Manifest create mode 100644 app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch create mode 100644 app-editors/jove/files/jove-4.16.0.73-build.patch create mode 100644 app-editors/jove/files/jove-4.16.0.73-doc.patch create mode 100644 app-editors/jove/files/jove-4.16.0.73-sendmail.patch create mode 100644 app-editors/jove/jove-4.16.0.73.ebuild create mode 100644 app-editors/jove/metadata.xml (limited to 'app-editors/jove') diff --git a/app-editors/jove/Manifest b/app-editors/jove/Manifest new file mode 100644 index 000000000000..e9e77d861757 --- /dev/null +++ b/app-editors/jove/Manifest @@ -0,0 +1,9 @@ +AUX jove-4.16.0.70.3.1-getline.patch 2058 SHA256 3d9738661666d379c8003ea2a8e2de996208e8ee301ff7a83397f8e3758ed2cd SHA512 2481e0e69f35e128cc07e4782abff07b3aab8f9bbe7ee72304e2abccbacb481ded1b5088b626df32ea43978c52e91565257a4665a26dc4df5fc277079b42b382 WHIRLPOOL 68edde0f1418e12c87de49dfd5909f63273e7adf67bcccece13c46298d596aac4d5a0dab48337d7d5e8cd6fc58f43b7ffa4a71f25fd17217ec72b634c1ca6e48 +AUX jove-4.16.0.73-build.patch 5776 SHA256 5ebc668efbb37692565d0ae4ffe7becd4588499572a54eff764da6ae21943d02 SHA512 11398bf31dc4986f0708cd3321f0069d9af6a00c532431554b4433588be528f41b9003286e1d2300d74b314f05fc310aab8ed80fab22579c071cdd43d0a90d22 WHIRLPOOL 0a11d429a8a01046f966d16278a8c1f60be7137fe91458a4920528c1955875038c76e1968fe807329ee02ce111f95ad519fd81dd4850d046c52b81f5dbcc4404 +AUX jove-4.16.0.73-doc.patch 1004 SHA256 f3204aa4022809eb6b449208a67579023bfd714e4cac2181ef587bbec4d32ccf SHA512 c15d8ffc92292e8284aebe93311c14e5d157d25e75c2228497faf1121e370e738ee345f27cce187196fceb4eb26c3222a4b39f734deb13ff14b2a044225a715d WHIRLPOOL 1ded0e1eab53c11a9b721983833bf8e802bd5b5ab53982e5502ca8266c20cf29174b234e0ae729a802af5d3968a62e057d3c6df01fd8747b27ee61a84219a2e1 +AUX jove-4.16.0.73-sendmail.patch 675 SHA256 1a428f66774319842dd548a834e586bfc07eb80e9dd0348a95e34560bbb89831 SHA512 a0c7179b601c620aad5b6bea5e07ff620bec14d27c1f8b27b0a25cb8cd687066abacf2786a00d79913087c2c5330da99e154f325b39243e9a19323a5c7729f10 WHIRLPOOL 61035a9f89494f6f4acab1765c84ed8712e6c8127f1757d90b1aaa8b9019fe7fdafe1db17120248c6d6285ae9ee27b010d92b0c4ca69054489be045d063caa8e +DIST jove4.16.0.73.tgz 465214 SHA256 9c9e202607f5972c382098d10b63c815ac01e578f432626c982e6aa65000c630 SHA512 2198504f9a23590710acba7f27661fa5649fdbed559a4c6bde9d2c1d673c22ce7d99a690be45a4602d37cf6e70399230c4ae3a251d8451af0c5252bdca61b09d WHIRLPOOL aad67b0a4ed52f89719feffbacb8b3de9acf50ccb2fbc6cb8f35bb9bcb475794d5aeb4bfe7485c9ccfc41f687bb42a4d9a9242d1ba84fd17790c35a03b1a8000 +EBUILD jove-4.16.0.73.ebuild 1106 SHA256 e27aa38fd2aa96ac99bd1fafc8104939c1d138c31c47ee701927698b7aed17bb SHA512 f17f5e08d15c87203de69a31ebbfa8ad0574c1b258eb3e0b916d583d7163d74576f7e2c6886fdfdae7abb79d0c198e0e8aba0894044ac84e09742dbaf971c3d4 WHIRLPOOL fb675286c2c438652e7ba9dab687ca89a57c129e59421c7a5ef51f83a332d6b09b38bfbe3c72980ceb870fee3d5269a194214ded8f20f3bc40984ab008464b21 +MISC ChangeLog 2467 SHA256 3fe38fc49654607c070ddd007d5d8a2f77b03d613e4a3f115f478380a9354fd7 SHA512 ddd86fb7776148bab5e6363a9e4ee557d1f79d27fb23eaa21e2f4373cc674bd079bc8c2c5c8a25d5f321e9988caa048992650e5a306f80437497c259c2494747 WHIRLPOOL 4c3ed4d820c8a76e6f15a7381e722e3d33cc49a774a4b8dd222aeaa66a2e680b31bcb0846c1d058dc7fb44125a56f93772ea3b84ef2a1fc15840df0c3e4128d8 +MISC ChangeLog-2015 5755 SHA256 a6a71f0861b122266f651dab1ec192d70dd7630323033387f71f7b081eb8b822 SHA512 a57179694211eed42e9a8b49f4265b983c659a3c325e06e393aa0d06d98db0ee59efc95d400cc1c6169d64e26328aef0a71f60badb906542d15403130c1a70b0 WHIRLPOOL 2075b1f6928a3018eed6683d91b86bd3fe2a2e45c449fe450249102f31e6a6381e6a43a168171095ef906efa6c7d379ebcdc4c5fba7861aa7422d5e5ad719da3 +MISC metadata.xml 623 SHA256 142c6fa2e724899bb8c7c5f937b5217e62b7a6def90b57652dd5dbf9082a3efa SHA512 33f559b386d5163174eaf5c39ebabbecb886b822dc9db5d2d3a12449a1ec737a560956e8880dbabdf84c5ffe0486f76ef2eac55cd58c9c3406a153dc4d603788 WHIRLPOOL a1fe0f16bf46bfc578b9f60200491a92869aaf98b665f6c1f83e67cc71c05ce868caa590e1f18655714313712d91bae336837d90ebac067a0d8724ad7b4c0c35 diff --git a/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch new file mode 100644 index 000000000000..98cef6011f8c --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch @@ -0,0 +1,81 @@ +http://bugs.gentoo.org/274352 +Fix build failure with glibc-2.10 + +--- jove4.16.0.70-orig/insert.c ++++ jove4.16.0.70/insert.c +@@ -504,7 +504,7 @@ + atchar = 0; + } + +- getline(atline->l_dline, genbuf); ++ get_line(atline->l_dline, genbuf); + atchar += tchar; + linecopy(genbuf, atchar, save); + atline->l_dline = putline(genbuf); +--- jove4.16.0.70-orig/io.c ++++ jove4.16.0.70/io.c +@@ -1347,9 +1347,9 @@ + + void + #ifdef USE_PROTOTYPES +-getline proto((daddr addr, register char *buf)) ++get_line proto((daddr addr, register char *buf)) + #else +-getline(addr, buf) ++get_line(addr, buf) + daddr addr; + register char *buf; + #endif +--- jove4.16.0.70-orig/io.h ++++ jove4.16.0.70/io.h +@@ -40,7 +40,7 @@ + close_file proto((File *fp)), + d_cache_init proto((void)), + file_write proto((char *fname, bool app)), +- getline proto((daddr addr, char *buf)), ++ get_line proto((daddr addr, char *buf)), + lsave proto((void)), + putreg proto((File *fp,LinePtr line1,int char1,LinePtr line2,int char2,bool makesure)), + read_file proto((char *file, bool is_insert)), +--- jove4.16.0.70-orig/recover.c ++++ jove4.16.0.70/recover.c +@@ -165,7 +165,7 @@ + private char *getblock proto((daddr atl)); + + void +-getline(tl, buf) ++get_line(tl, buf) + daddr tl; + char *buf; + { +@@ -580,7 +580,7 @@ + Nchars = Nlines = 0L; + while (--nlines >= 0) { + addr = getaddr(ptrs_fp); +- getline(addr, buf); ++ get_line(addr, buf); + Nlines += 1; + Nchars += 1 + strlen(buf); + fputs(buf, out); +--- jove4.16.0.70-orig/util.c ++++ jove4.16.0.70/util.c +@@ -280,7 +280,7 @@ + strcpy(buf, linebuf); + Jr_Len = strlen(linebuf); + } else +- getline(line->l_dline, buf); ++ get_line(line->l_dline, buf); + return buf; + } + +--- jove4.16.0.70-orig/util.h ++++ jove4.16.0.70/util.h +@@ -18,7 +18,7 @@ + #define eobp() (lastp(curline) && eolp()) + #define eolp() (linebuf[curchar] == '\0') + #define firstp(line) ((line) == curbuf->b_first) +-#define getDOT() getline(curline->l_dline, linebuf) ++#define getDOT() get_line(curline->l_dline, linebuf) + #define lastp(line) ((line) == curbuf->b_last) + + extern UnivPtr diff --git a/app-editors/jove/files/jove-4.16.0.73-build.patch b/app-editors/jove/files/jove-4.16.0.73-build.patch new file mode 100644 index 000000000000..105d163d32be --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-build.patch @@ -0,0 +1,188 @@ +Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz + +--- jove4.16.0.73-orig/doc/jove.rc ++++ jove4.16.0.73/doc/jove.rc +@@ -74,6 +74,6 @@ + 1 source jove.rc.$TERM + + # source local custom rc file, if present +-1 source jove-local.rc ++1 source /etc/jove/jove-local.rc + + popd +--- jove4.16.0.73-orig/jove.c ++++ jove4.16.0.73/jove.c +@@ -1576,7 +1576,7 @@ + char Joverc[FILESIZE]; + + if (dosys) { +- PathCat(Joverc, sizeof(Joverc), ShareDir, "jove.rc"); ++ PathCat(Joverc, sizeof(Joverc), CONFIGDIR, "jove.rc"); + (void) joverc(Joverc); /* system wide jove.rc */ + } + +--- jove4.16.0.73-orig/Makefile ++++ jove4.16.0.73/Makefile +@@ -21,13 +21,14 @@ + # If they don't exist, this makefile will try to create the directories + # LIBDIR and SHAREDIR. All others must already exist. + +-JOVEHOME = /usr/local +-SHAREDIR = $(JOVEHOME)/lib/jove ++JOVEHOME = ${DESTDIR}/usr ++SHAREDIR = $(JOVEHOME)/share/jove + LIBDIR = $(JOVEHOME)/lib/jove + BINDIR = $(JOVEHOME)/bin + XEXT= +-MANDIR = $(JOVEHOME)/man/man$(MANEXT) ++MANDIR = $(JOVEHOME)/share/man/man$(MANEXT) + MANEXT = 1 ++CONFIGDIR=${DESTDIR}/etc/jove + + # TMPDIR is where the tmp files get stored, usually /tmp, /var/tmp, or + # /usr/tmp. If you wish to be able to recover buffers after a system +@@ -38,11 +39,11 @@ + # (in case the system startup salvages tempfiles by moving them, + # which is probably a good idea). + +-TMPDIR = /tmp +-RECDIR = /var/preserve ++TMPDIR = /var/tmp ++RECDIR = ${DESTDIR}/var/lib/jove/preserve + + # DFLTSHELL is the default shell invoked by JOVE and TEACHJOVE. +-DFLTSHELL = /bin/csh ++DFLTSHELL = /bin/sh + + # The install commands of BSD and System V differ in unpleasant ways: + # -c: copy (BSD); -c dir: destination directory (SysV) +@@ -56,15 +57,18 @@ + INSTALLFLAGS = # -g bin -o root + + # to install executable files +-XINSTALL=cp ++XINSTALL=install -m 755 + #XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s + #CYGWIN32: XINSTALL=install $(INSTALLFLAGS) -c -m 755 + + # to install text files +-TINSTALL=cp ++TINSTALL=install -m 644 + #TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644 + #CYGWIN32: TINSTALL=install $(INSTALLFLAGS) -c -m 644 + ++# to install directories ++DINSTALL=install -d 755 ++ + # These should all just be right if the above ones are. + # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR. + +@@ -72,7 +76,7 @@ + TEACHJOVE = $(BINDIR)/teachjove$(XEXT) + RECOVER = $(LIBDIR)/recover$(XEXT) + PORTSRV = $(LIBDIR)/portsrv$(XEXT) +-JOVERC = $(SHAREDIR)/jove.rc ++JOVERC = $(CONFIGDIR)/jove.rc + TERMSDIR = $(SHAREDIR) + CMDS.DOC = $(SHAREDIR)/cmds.doc + TEACH-JOVE = $(SHAREDIR)/teach-jove +@@ -160,7 +164,7 @@ + # SCO UNIX: TERMCAPLIB = -lcurses + # AIX on the R6000s: TERMCAPLIB = -lcurses -ltermcap -ls + +-TERMCAPLIB = -ltermcap ++TERMCAPLIB = -lncurses + + # Extra libraries flags needed by oddball systems. + # Modern BSD systems using openpty need its library. +@@ -181,7 +185,7 @@ + # PDP-11 with separate I&D: -i + # PDP-11 without separate I&D: -n + +-LDFLAGS = ++#LDFLAGS = + + # for SCO Xenix, set + # MEMFLAGS = -Mle +@@ -236,7 +240,8 @@ + TROFF = troff -Tpost + TROFFPOST = | /usr/lib/lp/postscript/dpost - + +-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM) ++MANUALS = $(JOVEM) $(TEACHJOVEM) ++# $(XJOVEM) $(JOVETOOLM) + + C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c case.c jctype.c \ + delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \ +@@ -283,8 +288,7 @@ + # all: default target. + # Builds everything that "install" needs. + all: jjove$(XEXT) recover$(XEXT) teachjove$(XEXT) portsrv$(XEXT) \ +- doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) \ +- doc/jovetool.$(MANEXT) ++ doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) + + jjove$(XEXT): $(OBJECTS) + $(LDCC) $(LDFLAGS) $(OPTFLAGS) -o jjove$(XEXT) $(OBJECTS) $(TERMCAPLIB) $(EXTRALIBS) +@@ -341,6 +345,7 @@ + @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h + @echo \#define SHAREDIR \"$(SHAREDIR)\" >> paths.h + @echo \#define DFLTSHELL \"$(DFLTSHELL)\" >> paths.h ++ @echo \#define CONFIGDIR \"$(CONFIGDIR)\" >> paths.h + + makexjove: + ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" $(TOOLMAKEEXTRAS) xjove ) +@@ -358,18 +363,31 @@ + # Thus, if "all" is done first, "install" can be invoked with + # JOVEHOME pointing at a playpen where files are to be marshalled. + # This property is fragile. +-install: $(LIBDIR) $(SHAREDIR) \ ++install: $(BINDIR) $(LIBDIR) $(SHAREDIR) $(CONFIGDIR) $(RECDIR) \ + $(TEACH-JOVE) $(CMDS.DOC) $(TERMSDIR)docs \ + $(PORTSRVINST) $(RECOVER) $(JOVE) $(TEACHJOVE) $(MANUALS) +- $(TINSTALL) doc/jove.rc $(JOVERC) ++ $(TINSTALL) doc/jove.rc $(CONFIGDIR) + @echo See the README about changes to /etc/rc or /etc/rc.local + @echo so that the system recovers jove files on reboot after a crash + ++$(BINDIR):: ++ $(DINSTALL) $(BINDIR) ++ + $(LIBDIR):: +- test -d $(LIBDIR) || mkdir -p $(LIBDIR) ++ $(DINSTALL) $(LIBDIR) + + $(SHAREDIR):: +- test -d $(SHAREDIR) || mkdir -p $(SHAREDIR) ++ $(DINSTALL) $(SHAREDIR) ++ ++$(CONFIGDIR):: ++ $(DINSTALL) $(CONFIGDIR) ++ ++$(RECDIR):: ++ $(DINSTALL) $(RECDIR) ++ chmod 1777 $(RECDIR) ++ ++$(MANDIR):: ++ $(DINSTALL) $(MANDIR) + + $(TEACH-JOVE): doc/teach-jove + $(TINSTALL) doc/teach-jove $(TEACH-JOVE) +@@ -410,7 +428,7 @@ + -e 's;;$(SHAREDIR);' \ + -e 's;;$(DFLTSHELL);' doc/jove.nr > doc/jove.$(MANEXT) + +-$(JOVEM): doc/jove.$(MANEXT) ++$(JOVEM): $(MANDIR) doc/jove.$(MANEXT) + $(TINSTALL) doc/jove.$(MANEXT) $(JOVEM) + + # doc/jove.doc is the formatted manpage (only needed by DOS) +@@ -427,7 +445,7 @@ + -e 's;;$(SHAREDIR);' \ + -e 's;;$(DFLTSHELL);' doc/teachjove.nr > doc/teachjove.$(MANEXT) + +-$(TEACHJOVEM): doc/teachjove.$(MANEXT) ++$(TEACHJOVEM): $(MANDIR) doc/teachjove.$(MANEXT) + $(TINSTALL) doc/teachjove.$(MANEXT) $(TEACHJOVEM) + + $(XJOVEM): doc/xjove.nr diff --git a/app-editors/jove/files/jove-4.16.0.73-doc.patch b/app-editors/jove/files/jove-4.16.0.73-doc.patch new file mode 100644 index 000000000000..d62add543af6 --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-doc.patch @@ -0,0 +1,34 @@ +Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz + +--- jove4.16.0.73-orig/doc/intro.nr ++++ jove4.16.0.73/doc/intro.nr +@@ -56,9 +56,8 @@ + .. + . + .\" Change the extra vertical spacing around .DS/.DE +-.\" Does not work with groff's version of MS (GS is 1 iff groff MS) +-.if !\n(GS .if n .nr DD 0v +-.if !\n(GS .if t .nr DD \n(PD/2u ++.if n .nr DD 0v ++.if t .nr DD \n(PD/2u + . + .nr LL 6.5i + .nr LT 6.5i +@@ -152,7 +151,7 @@ + } + + _ +-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\fP <\ the Mode Line ++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\ \ \ \ 15:23\fP <\ the Mode Line + _ + : write-file (default hello.c) aloha.c\^\(sq <\ the Message Line + = +@@ -1978,7 +1977,7 @@ + \ \ \ \ return 0; <\ second Window + }\^\(sq + _ +-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\fP <\ the Mode Line ++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\ \ \ \ 15:28\fP <\ the Mode Line + _ + [Point pushed] <\ the Message Line + = diff --git a/app-editors/jove/files/jove-4.16.0.73-sendmail.patch b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch new file mode 100644 index 000000000000..072dd1f843ce --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch @@ -0,0 +1,19 @@ +--- jove4.16.0.73-orig/recover.c ++++ jove4.16.0.73/recover.c +@@ -776,7 +776,7 @@ + + last_update = ctime(&(rec->UpdTime)); + /* Start up mail */ +- sprintf(mail_cmd, "/bin/mail %s", pw->pw_name); ++ sprintf(mail_cmd, "/usr/sbin/sendmail -t %s", pw->pw_name); + setuid(getuid()); + if ((mail_pipe = popen(mail_cmd, "w")) == NULL) + return; +@@ -784,6 +784,7 @@ + setbuf(mail_pipe, mail_cmd); + /* Let's be grammatically correct! */ + buf_string = rec->Nbuffers == 1? "buffer" : "buffers"; ++ fprintf(mail_pipe, "To: %s\n", pw->pw_name); + fprintf(mail_pipe, "Subject: Jove saved %d %s after \"%s\" crashed\n", + rec->Nbuffers, buf_string, hname()); + fprintf(mail_pipe, " \n"); diff --git a/app-editors/jove/jove-4.16.0.73.ebuild b/app-editors/jove/jove-4.16.0.73.ebuild new file mode 100644 index 000000000000..72d2a677cad1 --- /dev/null +++ b/app-editors/jove/jove-4.16.0.73.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="Jonathan's Own Version of Emacs, a light emacs-like editor without LISP bindings" +HOMEPAGE="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/" +SRC_URI="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/${PN}${PV}.tgz" + +LICENSE="JOVE" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="doc" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${PN}${PV}" + +src_prepare() { + epatch "${FILESDIR}/${PN}-4.16.0.70.3.1-getline.patch" + epatch "${FILESDIR}/${P}-build.patch" + epatch "${FILESDIR}/${P}-sendmail.patch" + epatch "${FILESDIR}/${P}-doc.patch" +} + +src_compile() { + tc-export CC + + emake OPTFLAGS="${CFLAGS}" \ + SYSDEFS="-DSYSVR4 -D_XOPEN_SOURCE=500" \ + TERMCAPLIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)" + + if use doc; then + # Full manual (*not* man page) + emake doc/jove.man + fi +} + +src_install() { + emake DESTDIR="${D}" install + keepdir /var/lib/jove/preserve + + dodoc README + if use doc; then + dodoc doc/jove.man + fi +} diff --git a/app-editors/jove/metadata.xml b/app-editors/jove/metadata.xml new file mode 100644 index 000000000000..e18d3b3af8c5 --- /dev/null +++ b/app-editors/jove/metadata.xml @@ -0,0 +1,15 @@ + + + + + emacs@gentoo.org + Gentoo Emacs project + + + Jove is a compact, powerful, Emacs-style text-editor. It provides the common + emacs keyboard bindings, together with a reasonable assortment of the most + popular advanced features (e.g., interactive shell windows, compile-it, + language specific modes) while weighing in with CPU, memory, and disk + requirements comparable to vi. + + -- cgit v1.2.3