aboutsummaryrefslogtreecommitdiffstats
path: root/textproc/nicetext
diff options
context:
space:
mode:
authorkrion <krion@FreeBSD.org>2003-11-01 06:16:00 +0800
committerkrion <krion@FreeBSD.org>2003-11-01 06:16:00 +0800
commita15fb9d4f97cf5a7980e50be9d27b4009c7046e3 (patch)
treebd6451c7f1929a5a6a18c2d489d3747a803f40af /textproc/nicetext
parenta58c723dc5f8b2fd5110aeb7b75cbb518162e397 (diff)
downloadfreebsd-ports-graphics-a15fb9d4f97cf5a7980e50be9d27b4009c7046e3.tar.gz
freebsd-ports-graphics-a15fb9d4f97cf5a7980e50be9d27b4009c7046e3.tar.zst
freebsd-ports-graphics-a15fb9d4f97cf5a7980e50be9d27b4009c7046e3.zip
- Fix build on -current
- Utilize DOCSDIR/EXAMPLESDIR PR: 58771 Submitted by: Ports Fury
Diffstat (limited to 'textproc/nicetext')
-rw-r--r--textproc/nicetext/Makefile80
-rw-r--r--textproc/nicetext/files/patch-impkimmo.l54
-rw-r--r--textproc/nicetext/files/patch-nttpd.cc234
-rw-r--r--textproc/nicetext/files/patch-txt2bits.cc12
-rw-r--r--textproc/nicetext/pkg-plist280
5 files changed, 462 insertions, 198 deletions
diff --git a/textproc/nicetext/Makefile b/textproc/nicetext/Makefile
index a75abcaa64e..bb49aef0ae8 100644
--- a/textproc/nicetext/Makefile
+++ b/textproc/nicetext/Makefile
@@ -6,14 +6,16 @@
PORTNAME= nicetext
PORTVERSION= 0.9
+PORTREVISION= 1
CATEGORIES= textproc
-MASTER_SITES= http://www.nicetext.com/pub/ctgi/nicetext/src/ \
+MASTER_SITES= http://www.nicetext.com/pub/ctgi/nicetext/src/
MAINTAINER= ports@FreeBSD.org
COMMENT= Convert files to pseudo-natural-language text and back again
-USE_GMAKE= YES
-MAKE_FLAGS= CXXFLAGS="${CXXFLAGS} -pedantic" CFLAGS="${CFLAGS} -pedantic"
+USE_REINPLACE= yes
+USE_GMAKE= yes
+CFLAGS+= -fpermissive
MAN1= bitcp.1 dct2mstr.1 expgram.1 genmodel.1 gramtest.1 impkimmo.1 \
impmsc.1 impwbstr.1 listword.1 nicetext.1 nttpd.1 printint.1 \
@@ -22,15 +24,14 @@ PROGRAMS= bitcp dct2mstr expgram genmodel gramtest impkimmo impmsc \
impwbstr listword nicetext nttpd printint rinfo scramble \
sortdct txt2dct
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 500113
-BROKEN= "Does not compile (bad C++ code)"
-.endif
+post-patch:
+ @${FIND} ${WRKSRC} -name "Makefile" | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|gcc|$${CC}|g ; \
+ s|g++|$${CXX}|g'
post-install:
@${ECHO_CMD} "#!/bin/sh" > ${WRKSRC}/bin/qstart-nttpd
- @${ECHO_CMD} ${PREFIX}/bin/"nttpd -b " ${PREFIX}/share/examples/nicetext/database >> ${WRKSRC}/bin/qstart-nttpd
+ @${ECHO_CMD} ${PREFIX}/bin/"nttpd -b " ${EXAMPLESDIR}/database >> ${WRKSRC}/bin/qstart-nttpd
${CHMOD} a+rx ${WRKSRC}/bin/qstart-nttpd
${INSTALL_SCRIPT} ${WRKSRC}/bin/qstart-nttpd ${PREFIX}/bin/
.for f in ${MAN1}
@@ -40,54 +41,15 @@ post-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/${f} ${PREFIX}/bin/
.endfor
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/nicetext/
- ${INSTALL_MAN} ${WRKSRC}/doc/* ${PREFIX}/share/doc/nicetext/
- ${INSTALL_MAN} ${WRKSRC}/COPYRIGHT ${PREFIX}/share/doc/nicetext/
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/COPYRIGHT ${DOCSDIR}
+ ${TAR} -C ${WRKSRC}/doc --exclude "*.bak" -cf - . | \
+ ${TAR} -C ${DOCSDIR} --unlink -xf -
+ @${CHOWN} -R ${SHAREOWN}:${SHAREMODE} ${DOCSDIR}
+ @${MKDIR} ${EXAMPLESDIR}
+ ${TAR} -C ${WRKSRC}/examples --exclude "*.bak" -cf - . | \
+ ${TAR} -C ${EXAMPLESDIR} --unlink -xf -
+ @${CHOWN} -R ${SHAREOWN}:${SHAREMODE} ${EXAMPLESDIR}
.endif
- ${MKDIR} ${PREFIX}/share/examples/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/
- ${INSTALL_DATA} ${WRKSRC}/examples/Makefile ${PREFIX}/share/examples/nicetext/
- ${INSTALL_DATA} ${WRKSRC}/examples/README.TXT ${PREFIX}/share/examples/nicetext/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/database/
- ${INSTALL_DATA} ${WRKSRC}/examples/database/* ${PREFIX}/share/examples/nicetext/database/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/texts/
- ${INSTALL_DATA} ${WRKSRC}/examples/texts/Makefile ${PREFIX}/share/examples/nicetext/texts/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/texts/fabl/
- ${INSTALL_DATA} ${WRKSRC}/examples/texts/fabl/* ${PREFIX}/share/examples/nicetext/texts/fabl/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/texts/jfk/
- ${INSTALL_DATA} ${WRKSRC}/examples/texts/jfk/* ${PREFIX}/share/examples/nicetext/texts/jfk/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/texts/wizoz/
- ${INSTALL_DATA} ${WRKSRC}/examples/texts/wizoz/* ${PREFIX}/share/examples/nicetext/texts/wizoz/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/texts/shak/
- ${INSTALL_DATA} ${WRKSRC}/examples/texts/shak/* ${PREFIX}/share/examples/nicetext/texts/shak/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/tutorial/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/Makefile ${PREFIX}/share/examples/nicetext/tutorial/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/README.TXT ${PREFIX}/share/examples/nicetext/tutorial/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/tutorial/1/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/1/* ${PREFIX}/share/examples/nicetext/tutorial/1/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/tutorial/2/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/2/Makefile ${PREFIX}/share/examples/nicetext/tutorial/2/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/2/README.TXT ${PREFIX}/share/examples/nicetext/tutorial/2/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/2/sample.txt ${PREFIX}/share/examples/nicetext/tutorial/2/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/2/secret.txt ${PREFIX}/share/examples/nicetext/tutorial/2/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/tutorial/2/words
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/2/words/* ${PREFIX}/share/examples/nicetext/tutorial/2/words/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/tutorial/3/
- ${INSTALL_DATA} ${WRKSRC}/examples/tutorial/3/* ${PREFIX}/share/examples/nicetext/tutorial/3/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/wlist/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/wlist/Makefile ${PREFIX}/share/examples/nicetext/words/wlist/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/wlist/gutenberg/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/wlist/gutenberg/* ${PREFIX}/share/examples/nicetext/words/wlist/gutenberg/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/wlist/web2/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/wlist/web2/* ${PREFIX}/share/examples/nicetext/words/wlist/web2/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/twlist/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/twlist/Makefile ${PREFIX}/share/examples/nicetext/words/twlist/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/twlist/impkimmo/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/twlist/impkimmo/* ${PREFIX}/share/examples/nicetext/words/twlist/impkimmo/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/twlist/mitlist/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/twlist/mitlist/* ${PREFIX}/share/examples/nicetext/words/twlist/mitlist/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/twlist/numeric/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/twlist/numeric/* ${PREFIX}/share/examples/nicetext/words/twlist/numeric/
- ${MKDIR} ${PREFIX}/share/examples/nicetext/words/twlist/rhyme/
- ${INSTALL_DATA} ${WRKSRC}/examples/words/twlist/rhyme/* ${PREFIX}/share/examples/nicetext/words/twlist/rhyme/
-.include <bsd.port.post.mk>
+
+.include <bsd.port.mk>
diff --git a/textproc/nicetext/files/patch-impkimmo.l b/textproc/nicetext/files/patch-impkimmo.l
new file mode 100644
index 00000000000..1c418c43c15
--- /dev/null
+++ b/textproc/nicetext/files/patch-impkimmo.l
@@ -0,0 +1,54 @@
+--- import/src/impkimmo.l.orig Tue Jul 14 01:23:53 1998
++++ import/src/impkimmo.l Thu Oct 30 18:23:07 2003
+@@ -123,8 +123,8 @@
+ " "vform:" "*EN return VFORM_EN;
+ " "vform:" "*ING return VFORM_ING;
+ " "vform:" "*BASE return VFORM_BASE;
+-" "finite:" "*\+ return FINITE_PLUS;
+-" "finite:" "*- return FINITE_MINUS;
++" "my_finite:" "*\+ return FINITE_PLUS;
++" "my_finite:" "*- return FINITE_MINUS;
+ " "aform:" "*ABS return AFORM_ABS;
+ " "aform:" "*COMP return AFORM_COMP;
+ " "aform:" "*SUPER return AFORM_SUPER;
+@@ -158,7 +158,7 @@
+ MTCstring proper;
+ MTCstring tense;
+ MTCstring vform;
+-MTCstring finite;
++MTCstring my_finite;
+ MTCstring aform;
+ MTCstring verbal;
+ MTCstring Case;
+@@ -318,11 +318,11 @@
+ break;
+ case FINITE_PLUS:
+ defined=TRUE;
+- finite="Fin+";
++ my_finite="Fin+";
+ break;
+ case FINITE_MINUS:
+ defined=TRUE;
+- finite="Fin-";
++ my_finite="Fin-";
+ break;
+ case AFORM_ABS:
+ defined=TRUE;
+@@ -430,7 +430,7 @@
+ proper=NULL;
+ tense=NULL;
+ vform=NULL;
+- finite=NULL;
++ my_finite=NULL;
+ aform=NULL;
+ verbal=NULL;
+ Case=NULL;
+@@ -459,7 +459,7 @@
+ temp+=proper;
+ temp+=tense;
+ temp+=vform;
+- temp+=finite;
++ temp+=my_finite;
+ temp+=aform;
+ temp+=verbal;
+ temp+=Case;
diff --git a/textproc/nicetext/files/patch-nttpd.cc b/textproc/nicetext/files/patch-nttpd.cc
new file mode 100644
index 00000000000..0f130640322
--- /dev/null
+++ b/textproc/nicetext/files/patch-nttpd.cc
@@ -0,0 +1,234 @@
+--- nttpd/src/nttpd.cc.orig Fri Aug 28 01:16:30 1998
++++ nttpd/src/nttpd.cc Thu Oct 30 18:37:05 2003
+@@ -98,7 +98,7 @@
+ #include <unistd.h>
+ #include <iostream.h>
+ #include <fstream.h>
+-#include <strstream.h>
++#include <strstream>
+ #include <signal.h>
+ #include "../../mtc++/include/MTC++.h"
+ #include "../../mtc++/include/mstring.h"
+@@ -608,37 +608,37 @@
+ BOOL sendInitial(MTCstringList &os)
+ {
+ DEBUGMSG(cout << "INITIAL REQUEST." << endl;)
+- os.add("<HTML>
+-<HEAD>
+-<TITLE>NICETEXT Primary Input Screen</TITLE>
+-</HEAD>
+-<BODY BGCOLOR=\"#AAAAAA\">
+-<H2>NICETEXT Web-Sampler &copy; 1998 - Primary Input Screen</H2>
+-<P>The purpose of this demo is to convert your message into something
+-completely different. The same message can be changed into many
+-different texts - even with the same style and dictionary. What's more,
+-you will have the opportunity to convert the <I>nicetext</I> back into
+-your original message!</P>
+-<FORM METHOD=POST ACTION=\"nicetext?\">
+-<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"INITIAL\">
+-<H3>Enter a Message:</H3>
+-<P>
+-<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12></TEXTAREA>
+-</P>
+-<H3>Select the <B>NICETEXT</B> Style:
+-<SELECT NAME=STYLE>
+-<OPTION VALUE=\"Shakespeare\"> Shakespeare
+-<OPTION VALUE=\"Asoep's Fables\"> Asoep's Fables
+-<OPTION VALUE=\"Wizard of OZ\"> Wizard of OZ
+-</SELECT>
+-<INPUT TYPE=CHECKBOX NAME=BIGDICT VALUE=\"YES\"> Use a larger dictionary
+-</H3>
+-</P>
+-<INPUT TYPE=SUBMIT VALUE=\" Convert my message \">
+-<INPUT TYPE=RESET VALUE=\" Clear \">
+-</FORM>
+-<P>For more information please see the <A HREF=\"http://www.ctgi.net/nicetext/\">Official NICETEXT Home Page</A></P>
+-</BODY>
++ os.add("<HTML>\n\
++<HEAD>\n\
++<TITLE>NICETEXT Primary Input Screen</TITLE>\n\
++</HEAD>\n\
++<BODY BGCOLOR=\"#AAAAAA\">\n\
++<H2>NICETEXT Web-Sampler &copy; 1998 - Primary Input Screen</H2>\n\
++<P>The purpose of this demo is to convert your message into something\n\
++completely different. The same message can be changed into many\n\
++different texts - even with the same style and dictionary. What's more,\n\
++you will have the opportunity to convert the <I>nicetext</I> back into\n\
++your original message!</P>\n\
++<FORM METHOD=POST ACTION=\"nicetext?\">\n\
++<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"INITIAL\">\n\
++<H3>Enter a Message:</H3>\n\
++<P>\n\
++<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12></TEXTAREA>\n\
++</P>\n\
++<H3>Select the <B>NICETEXT</B> Style:\n\
++<SELECT NAME=STYLE>\n\
++<OPTION VALUE=\"Shakespeare\"> Shakespeare\n\
++<OPTION VALUE=\"Asoep's Fables\"> Asoep's Fables\n\
++<OPTION VALUE=\"Wizard of OZ\"> Wizard of OZ\n\
++</SELECT>\n\
++<INPUT TYPE=CHECKBOX NAME=BIGDICT VALUE=\"YES\"> Use a larger dictionary\n\
++</H3>\n\
++</P>\n\
++<INPUT TYPE=SUBMIT VALUE=\" Convert my message \">\n\
++<INPUT TYPE=RESET VALUE=\" Clear \">\n\
++</FORM>\n\
++<P>For more information please see the <A HREF=\"http://www.ctgi.net/nicetext/\">Official NICETEXT Home Page</A></P>\n\
++</BODY>\n\
+ </HTML>");
+
+ return TRUE;
+@@ -877,23 +877,23 @@
+
+ BOOL sendNiceText(MTCstringList &os, MTCRBT<MTCpostData> &pdSet)
+ {
+- os.add("<HTML>
+-<HEAD>
+-<TITLE>NICETEXT Output Screen</TITLE>
+-</HEAD>
+-<BODY BGCOLOR=\"#AAAAAA\">
+-<H2>NICETEXT Web-Sampler &copy; 1998 - <I>Nicetext</I> Output Screen</H2>
+-<P>This is the result of the <I>nicetext</I> operation on the message
+-you selected. If you <I>scramble</I> the unmodified text below then
+-the software will recover your original message on the next page.
+-But, if you modify the text - who knows what you will end up with? Also,
+-if you are not satisfied with the quality of the <I>nicetext</I> then
+-use the reload button on your browser for another try!</P>
+-<FORM METHOD=POST ACTION=\"scramble?\">
+-<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"NICETEXT\">
+-<P>
+-<H3>Here is the <I>NICETEXT</I>:</H3>
+-<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12>
++ os.add("<HTML>\n\
++<HEAD>\n\
++<TITLE>NICETEXT Output Screen</TITLE>\n\
++</HEAD>\n\
++<BODY BGCOLOR=\"#AAAAAA\">\n\
++<H2>NICETEXT Web-Sampler &copy; 1998 - <I>Nicetext</I> Output Screen</H2>\n\
++<P>This is the result of the <I>nicetext</I> operation on the message\n\
++you selected. If you <I>scramble</I> the unmodified text below then\n\
++the software will recover your original message on the next page.\n\
++But, if you modify the text - who knows what you will end up with? Also,\n\
++if you are not satisfied with the quality of the <I>nicetext</I> then\n\
++use the reload button on your browser for another try!</P>\n\
++<FORM METHOD=POST ACTION=\"scramble?\">\n\
++<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"NICETEXT\">\n\
++<P>\n\
++<H3>Here is the <I>NICETEXT</I>:</H3>\n\
++<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12>\n\
+ ");
+
+ MTCstring plainTextFileName(tempnam(tmpDir.c_str(), "nttp-pt"));
+@@ -1023,9 +1023,9 @@
+ }
+ }
+
+- os.add("</TEXTAREA>
+-</P>
+-<H3>
++ os.add("</TEXTAREA>\n\
++</P>\n\
++<H3>\n\
+ <INPUT TYPE=HIDDEN NAME=STYLE VALUE=\"");
+
+ os.add(formStyle.c_str());
+@@ -1038,16 +1038,16 @@
+
+ if (formDict.length()!=0)
+ {
+- os.add("... with a larger dictionary.
++ os.add("... with a larger dictionary.\n\
+ <INPUT TYPE=HIDDEN NAME=BIGDICT VALUE=\"YES\">");
+ }
+
+- os.add("</H3>
+-<INPUT TYPE=SUBMIT VALUE=\" Scramble this message \">
+-<INPUT TYPE=RESET VALUE=\" Reset \">
+-</FORM>
+-</BODY>
+-</HTML>
++ os.add("</H3>\n\
++<INPUT TYPE=SUBMIT VALUE=\" Scramble this message \">\n\
++<INPUT TYPE=RESET VALUE=\" Reset \">\n\
++</FORM>\n\
++</BODY>\n\
++</HTML>\n\
+ ");
+ }
+
+@@ -1073,23 +1073,23 @@
+
+ BOOL sendScramText(MTCstringList &os, MTCRBT<MTCpostData> &pdSet)
+ {
+- os.add("<HTML>
+-<HEAD>
+-<TITLE>SCRAMBLED Output Screen</TITLE>
+-</HEAD>
+-<BODY BGCOLOR=\"#AAAAAA\">
+-
+-<H2>NICETEXT Web-Sampler &copy; 1998 - <I>Scrambled</I> Output Screen</H2>
+-<P>This page contains the <I>scrambled</I> version of the <I>nicetext</I>
+-on the previous page. If you did not modify the <I>nicetext</I> then this
+-should be your original message! (If it does NOT match your original message
+-then rest assured that it is because of the poor implementation of HTTP/1.0
+-rather than a problem with the basic transformation software.)</P>
+-<H3>Here is the SCRAMBLED Text:</H3>
+-<FORM METHOD=POST ACTION=\"index.html\">
+-<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"INITIAL\">
+-<P>
+-<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12 READONLY=\"YES\">
++ os.add("<HTML>\n\
++<HEAD>\n\
++<TITLE>SCRAMBLED Output Screen</TITLE>\n\
++</HEAD>\n\
++<BODY BGCOLOR=\"#AAAAAA\">\n\
++\n\
++<H2>NICETEXT Web-Sampler &copy; 1998 - <I>Scrambled</I> Output Screen</H2>\n\
++<P>This page contains the <I>scrambled</I> version of the <I>nicetext</I>\n\
++on the previous page. If you did not modify the <I>nicetext</I> then this\n\
++should be your original message! (If it does NOT match your original message\n\
++then rest assured that it is because of the poor implementation of HTTP/1.0\n\
++rather than a problem with the basic transformation software.)</P>\n\
++<H3>Here is the SCRAMBLED Text:</H3>\n\
++<FORM METHOD=POST ACTION=\"index.html\">\n\
++<INPUT TYPE=HIDDEN NAME=NTTPDATA VALUE=\"INITIAL\">\n\
++<P>\n\
++<TEXTAREA NAME=PLAINTEXT COLS=80 ROWS=12 READONLY=\"YES\">\n\
+ ");
+
+ MTCstring plainTextFileName(tempnam(tmpDir.c_str(), "nttp-pt"));
+@@ -1207,15 +1207,15 @@
+ }
+ }
+
+- os.add("
+-</TEXTAREA>
+-</P>
+-</FORM>
+-<P>
+-<A HREF=\"start.html\">GO BACK TO START PAGE...</A>
+-</P>
+-</BODY>
+-</HTML>
++ os.add("\n\
++</TEXTAREA>\n\
++</P>\n\
++</FORM>\n\
++<P>\n\
++<A HREF=\"start.html\">GO BACK TO START PAGE...</A>\n\
++</P>\n\
++</BODY>\n\
++</HTML>\n\
+ ");
+ }
+
+@@ -1236,8 +1236,7 @@
+
+ if (gettimeofday(&t, &tz)==-1)
+ {
+- errorMsg(EMT_WARNING, "random seed generation failed...no big de
+-al though...", "randomize()");
++ errorMsg(EMT_WARNING, "random seed generation failed...no big deal though...", "randomize()");
+ }
+
+ srandom(t.tv_sec|t.tv_usec);
diff --git a/textproc/nicetext/files/patch-txt2bits.cc b/textproc/nicetext/files/patch-txt2bits.cc
new file mode 100644
index 00000000000..a70a35e5222
--- /dev/null
+++ b/textproc/nicetext/files/patch-txt2bits.cc
@@ -0,0 +1,12 @@
+--- babble/src/txt2bits.cc.orig Fri Feb 20 04:31:27 1998
++++ babble/src/txt2bits.cc Thu Oct 30 18:17:38 2003
+@@ -264,8 +264,7 @@
+ if (((dictRecRBT.getCount()==0)&&(getSmallMode()==FALSE))
+ || (dictRecRAOF==NULL)||(dictRecRAOF->getCount()==0))
+ {
+- errorMsg(EMT_ERROR, "The dictionary specified is empty", "MTCtex
+-tToBits::openDictName()");
++ errorMsg(EMT_ERROR, "The dictionary specified is empty", "MTCtextToBits::openDictName()");
+ return FALSE;
+ }
+
diff --git a/textproc/nicetext/pkg-plist b/textproc/nicetext/pkg-plist
index 90cefdb20cc..d221837a7a0 100644
--- a/textproc/nicetext/pkg-plist
+++ b/textproc/nicetext/pkg-plist
@@ -15,142 +15,144 @@ bin/rinfo
bin/scramble
bin/sortdct
bin/txt2dct
-share/doc/nicetext/README.TXT
-share/doc/nicetext/distribution.txt
-share/doc/nicetext/icics97.pdf
-share/doc/nicetext/icics97.ps
-share/doc/nicetext/icics97.txt
-share/doc/nicetext/thesis.pdf
-share/doc/nicetext/thesis.ps
-share/doc/nicetext/thesis.txt
-share/doc/nicetext/COPYRIGHT
-@dirrm share/doc/nicetext
-share/examples/nicetext/database/Makefile
-share/examples/nicetext/database/fabldict.alt
-share/examples/nicetext/database/fabldict.dat
-share/examples/nicetext/database/fabldict.jmp
-share/examples/nicetext/database/fablmodel.dat
-share/examples/nicetext/database/fablmodel.jmp
-share/examples/nicetext/database/fabltype.dat
-share/examples/nicetext/database/fabltype.jmp
-share/examples/nicetext/database/jfkdict.alt
-share/examples/nicetext/database/jfkdict.dat
-share/examples/nicetext/database/jfkdict.jmp
-share/examples/nicetext/database/jfkmodel.dat
-share/examples/nicetext/database/jfkmodel.jmp
-share/examples/nicetext/database/jfktype.dat
-share/examples/nicetext/database/jfktype.jmp
-share/examples/nicetext/database/wizozdict.alt
-share/examples/nicetext/database/wizozdict.dat
-share/examples/nicetext/database/wizozdict.jmp
-share/examples/nicetext/database/wizozmodel.dat
-share/examples/nicetext/database/wizozmodel.jmp
-share/examples/nicetext/database/wizoztype.dat
-share/examples/nicetext/database/wizoztype.jmp
-share/examples/nicetext/database/mstrdict.alt
-share/examples/nicetext/database/mstrdict.dat
-share/examples/nicetext/database/mstrdict.jmp
-share/examples/nicetext/database/mstrtype.dat
-share/examples/nicetext/database/mstrtype.jmp
-share/examples/nicetext/database/shakdict.alt
-share/examples/nicetext/database/shakdict.dat
-share/examples/nicetext/database/shakdict.jmp
-share/examples/nicetext/database/shakmodel.dat
-share/examples/nicetext/database/shakmodel.jmp
-share/examples/nicetext/database/shaktype.dat
-share/examples/nicetext/database/shaktype.jmp
-@dirrm share/examples/nicetext/database
-share/examples/nicetext/texts/fabl/Makefile
-share/examples/nicetext/texts/fabl/aesop11.txt.gz
-@dirrm share/examples/nicetext/texts/fabl
-share/examples/nicetext/texts/jfk/Makefile
-share/examples/nicetext/texts/jfk/jfk11.txt.gz
-@dirrm share/examples/nicetext/texts/jfk
-share/examples/nicetext/texts/wizoz/Makefile
-share/examples/nicetext/texts/wizoz/wizoz10.txt.gz
-@dirrm share/examples/nicetext/texts/wizoz
-share/examples/nicetext/texts/shak/Makefile
-share/examples/nicetext/texts/shak/shaks12.txt.gz
-@dirrm share/examples/nicetext/texts/shak
-share/examples/nicetext/texts/Makefile
-@dirrm share/examples/nicetext/texts
-share/examples/nicetext/tutorial/1/Makefile
-share/examples/nicetext/tutorial/1/README.TXT
-share/examples/nicetext/tutorial/1/dict.raw
-share/examples/nicetext/tutorial/1/sample.txt
-share/examples/nicetext/tutorial/1/secret.txt
-@dirrm share/examples/nicetext/tutorial/1
-share/examples/nicetext/tutorial/2/words/conjunction
-share/examples/nicetext/tutorial/2/words/name_family
-share/examples/nicetext/tutorial/2/words/name_female
-share/examples/nicetext/tutorial/2/words/name_male
-share/examples/nicetext/tutorial/2/words/name_other
-share/examples/nicetext/tutorial/2/words/num_cardinal_digits
-share/examples/nicetext/tutorial/2/words/num_cardinal_words
-share/examples/nicetext/tutorial/2/words/num_roman_digits
-share/examples/nicetext/tutorial/2/words/num_years_digits
-share/examples/nicetext/tutorial/2/words/place
-share/examples/nicetext/tutorial/2/words/prepin
-share/examples/nicetext/tutorial/2/words/prepto
-share/examples/nicetext/tutorial/2/words/verbmeet
-share/examples/nicetext/tutorial/2/words/verbmet
-share/examples/nicetext/tutorial/2/words/verbwent
-@dirrm share/examples/nicetext/tutorial/2/words
-share/examples/nicetext/tutorial/2/Makefile
-share/examples/nicetext/tutorial/2/README.TXT
-share/examples/nicetext/tutorial/2/sample.txt
-share/examples/nicetext/tutorial/2/secret.txt
-@dirrm share/examples/nicetext/tutorial/2
-share/examples/nicetext/tutorial/3/Makefile
-share/examples/nicetext/tutorial/3/README.TXT
-share/examples/nicetext/tutorial/3/gram1.def
-share/examples/nicetext/tutorial/3/gram2.inc
-share/examples/nicetext/tutorial/3/secret.txt
-@dirrm share/examples/nicetext/tutorial/3
-share/examples/nicetext/tutorial/Makefile
-share/examples/nicetext/tutorial/README.TXT
-@dirrm share/examples/nicetext/tutorial
-share/examples/nicetext/words/wlist/gutenberg/Makefile
-share/examples/nicetext/words/wlist/gutenberg/README.TXT
-share/examples/nicetext/words/wlist/gutenberg/create
-share/examples/nicetext/words/wlist/gutenberg/words.out.gz
-@dirrm share/examples/nicetext/words/wlist/gutenberg
-share/examples/nicetext/words/wlist/web2/Makefile
-share/examples/nicetext/words/wlist/web2/README.TXT
-share/examples/nicetext/words/wlist/web2/words.gz
-@dirrm share/examples/nicetext/words/wlist/web2
-share/examples/nicetext/words/wlist/Makefile
-@dirrm share/examples/nicetext/words/wlist
-share/examples/nicetext/words/twlist/impkimmo/Makefile
-share/examples/nicetext/words/twlist/impkimmo/README.TXT
-share/examples/nicetext/words/twlist/impkimmo/kimmo.twlist.gz
-@dirrm share/examples/nicetext/words/twlist/impkimmo
-share/examples/nicetext/words/twlist/mitlist/Makefile
-share/examples/nicetext/words/twlist/mitlist/name_family
-share/examples/nicetext/words/twlist/mitlist/name_female
-share/examples/nicetext/words/twlist/mitlist/name_male
-share/examples/nicetext/words/twlist/mitlist/name_other
-share/examples/nicetext/words/twlist/mitlist/place
-share/examples/nicetext/words/twlist/mitlist/pos.awk
-share/examples/nicetext/words/twlist/mitlist/posplr.awk
-@dirrm share/examples/nicetext/words/twlist/mitlist
-share/examples/nicetext/words/twlist/numeric/Makefile
-share/examples/nicetext/words/twlist/numeric/num_cardinal_digits
-share/examples/nicetext/words/twlist/numeric/num_cardinal_words
-share/examples/nicetext/words/twlist/numeric/num_roman_digits
-share/examples/nicetext/words/twlist/numeric/num_years_digits
-@dirrm share/examples/nicetext/words/twlist/numeric
-share/examples/nicetext/words/twlist/rhyme/Makefile
-share/examples/nicetext/words/twlist/rhyme/README.TXT
-share/examples/nicetext/words/twlist/rhyme/cmudict.0.4.gz
-share/examples/nicetext/words/twlist/rhyme/extract.awk
-share/examples/nicetext/words/twlist/rhyme/gt3.awk
-share/examples/nicetext/words/twlist/rhyme/rev2.awk
-share/examples/nicetext/words/twlist/rhyme/rhyme.twlist.gz
-@dirrm share/examples/nicetext/words/twlist/rhyme
-share/examples/nicetext/words/twlist/Makefile
-@dirrm share/examples/nicetext/words/twlist
-@dirrm share/examples/nicetext/words
-share/examples/nicetext/Makefile
-share/examples/nicetext/README.TXT
-@dirrm share/examples/nicetext
+%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/README.TXT
+%%PORTDOCS%%%%DOCSDIR%%/distribution.txt
+%%PORTDOCS%%%%DOCSDIR%%/icics97.pdf
+%%PORTDOCS%%%%DOCSDIR%%/icics97.ps
+%%PORTDOCS%%%%DOCSDIR%%/icics97.txt
+%%PORTDOCS%%%%DOCSDIR%%/thesis.pdf
+%%PORTDOCS%%%%DOCSDIR%%/thesis.ps
+%%PORTDOCS%%%%DOCSDIR%%/thesis.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fabldict.alt
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fabldict.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fabldict.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fablmodel.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fablmodel.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fabltype.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/fabltype.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfkdict.alt
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfkdict.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfkdict.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfkmodel.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfkmodel.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfktype.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/jfktype.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/mstrdict.alt
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/mstrdict.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/mstrdict.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/mstrtype.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/mstrtype.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shakdict.alt
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shakdict.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shakdict.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shakmodel.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shakmodel.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shaktype.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/shaktype.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizozdict.alt
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizozdict.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizozdict.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizozmodel.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizozmodel.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizoztype.dat
+%%PORTDOCS%%%%EXAMPLESDIR%%/database/wizoztype.jmp
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/fabl/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/fabl/aesop11.txt.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/jfk/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/jfk/jfk11.txt.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/shak/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/shak/shaks12.txt.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/wizoz/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/texts/wizoz/wizoz10.txt.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/1/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/1/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/1/dict.raw
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/1/sample.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/1/secret.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/sample.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/secret.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/conjunction
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/name_family
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/name_female
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/name_male
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/name_other
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/num_cardinal_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/num_cardinal_words
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/num_roman_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/num_years_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/place
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/prepin
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/prepto
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/verbmeet
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/verbmet
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/2/words/verbwent
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/3/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/3/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/3/gram1.def
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/3/gram2.inc
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/3/secret.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/impkimmo/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/impkimmo/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/impkimmo/kimmo.twlist.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/name_family
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/name_female
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/name_male
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/name_other
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/place
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/pos.awk
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/mitlist/posplr.awk
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/numeric/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/numeric/num_cardinal_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/numeric/num_cardinal_words
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/numeric/num_roman_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/numeric/num_years_digits
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/cmudict.0.4.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/extract.awk
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/gt3.awk
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/rev2.awk
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/twlist/rhyme/rhyme.twlist.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/gutenberg/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/gutenberg/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/gutenberg/create
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/gutenberg/words.out.gz
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/web2/Makefile
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/web2/README.TXT
+%%PORTDOCS%%%%EXAMPLESDIR%%/words/wlist/web2/words.gz
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/wlist/web2
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/wlist/gutenberg
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/wlist
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/twlist/rhyme
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/twlist/numeric
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/twlist/mitlist
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/twlist/impkimmo
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words/twlist
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/words
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial/3
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial/2/words
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial/2
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial/1
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/texts/wizoz
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/texts/shak
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/texts/jfk
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/texts/fabl
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/texts
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/database
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%