summaryrefslogtreecommitdiff
path: root/app-dicts/wordnet
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-dicts/wordnet
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-dicts/wordnet')
-rw-r--r--app-dicts/wordnet/Manifest11
-rw-r--r--app-dicts/wordnet/files/wordnet-3.0-fix-indexing-bug-314799.patch20
-rw-r--r--app-dicts/wordnet/files/wordnet-3.0-format-security.patch48
-rw-r--r--app-dicts/wordnet/files/wordnet-3.0-src_stubs_c.patch12
-rw-r--r--app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch133
-rw-r--r--app-dicts/wordnet/metadata.xml12
-rw-r--r--app-dicts/wordnet/wordnet-3.0-r4.ebuild71
-rw-r--r--app-dicts/wordnet/wordnet-3.0-r5.ebuild75
-rw-r--r--app-dicts/wordnet/wordnet-3.1.ebuild94
9 files changed, 476 insertions, 0 deletions
diff --git a/app-dicts/wordnet/Manifest b/app-dicts/wordnet/Manifest
new file mode 100644
index 000000000000..ac318ccd7259
--- /dev/null
+++ b/app-dicts/wordnet/Manifest
@@ -0,0 +1,11 @@
+AUX wordnet-3.0-fix-indexing-bug-314799.patch 732 BLAKE2B bb6d4453f9119a134c0b108984cc67a056a8f9a9cc4ed9c357e8eb7e68761e70680950475118198d6f9487ab7f14e5776798dff32d86e65e4db591e461595dbf SHA512 697a6279223270dad6a8f3834020560b6cde07edea62e3f4238c0b288b2cb875d294bf0101cf9c79f0e1d086116d90309ca851a926318a48f5cd02058062f149
+AUX wordnet-3.0-format-security.patch 1443 BLAKE2B 21e79d7341cd119598730d317c664406915cdb2aaf572e482061be913fcb85a372214eae71b93a2a31022c6b5638cf3bc8a2b2b719b975d15143c9487f443332 SHA512 5567b1d5e041ed39a38e40e253dc94e22a3a7c6b690bc452716b26c2932b94eeb065e00354e2c8f1dc77d53713fd2e69e44a498a8664e867de2df07f2f36c170
+AUX wordnet-3.0-src_stubs_c.patch 438 BLAKE2B de2bbb812e01d6c63912ae414a02e8f4c0caa697cf4ade90d605e10dce7afd8907ff65b3af0585ca100650264615ad9bbc2008098fec51969c406b563f1c783d SHA512 82bf6705b26bd0455a2a556abd9cd01cde7c7f738f3f4f5cbf49eefe5c301c7022e908208cce2617e0b95f78464beeab21c7af4131c3472fe4e2ba4650533359
+AUX wordnet-3.0-tcl8.6.patch 4974 BLAKE2B f26cdf66b00bbf2a5185642fbe140ee6294e6910e78d7230a7f4f4c7324a207537df8a5a32ba33c1166e332d4afcce621704f9186ac1adb362883d716ac8da22 SHA512 2dafc6a6cd332d387fa15b63a7c5cad222e611906582232f7bd6f2522773336e7b632775e73fcd1a8587bd95eabaf70ec1c9ea4b8a81a7c147360a836be0a90c
+DIST WordNet-3.0.tar.gz 11537227 BLAKE2B 358bdc3178f35f4f269ad9d0a5245396811f8678a020ab1ddf9978eef733bb91450f331d03734f585121b1532bb67ca97e765b13cb3f37018cd29df558201c5d SHA512 d39c008cec41de8f1b2aeacb4ad818f9997a13b30a992fda100b6dcc9c11c253530b00a1909b55ff7b564bafc33f7763c1ce9b0a6ae3e591695db2083e9ead7a
+DIST wn3.1.dict.tar.gz 16358468 BLAKE2B f3df09f39ea29fce3378122f1a93d713acb8be39e6798695b8cc412a3ae6e644cfcf906426d4091d9849be60620367d3de541ec6dd0d8016b8f0cf39a7bad346 SHA512 16dca17a87026d8a0b7b4758219cd21a869c3ef3da23ce7875924546f2eacac4c2f376cb271b798b2c458fe8c078fb43d681356e3d9beef40f4bd88d3579394f
+DIST wordnet-3.0-patchset-1.tar.bz2 8076 BLAKE2B 20684bd96814db6e0bf2d9aeb455def682fc38566d6abd3832bf0f7eae3b65b63e8b16aa21656bb81c1696bec0d179028ea8bb4687e5566a6d679bc55e300b9c SHA512 17668d736dd6dfe83e4d5d328729cbcdfb4dbca9a9707651534169bd2ce6fc2238d5c820d63330c51c20ab9b2964b56a609f58242b05dabbcfdfc0da61c048cb
+EBUILD wordnet-3.0-r4.ebuild 2102 BLAKE2B ffbad9b621e22d6eac0222ee0e9f9eb71b775ea6916c38b1b44e6257d4c08ec396692304e62ee5a40ec02de0a7b086e5faffeab1a33cbf25627de1017a740f25 SHA512 23a1bffeb3294743b1fca001fe68f07f0be2af4303d9bc9a60202401940c0d7c61691050a574045bba9543b67df0a4810d835b8b0b73206cf1fe2b9647fe6d0f
+EBUILD wordnet-3.0-r5.ebuild 2152 BLAKE2B 46f2d2f22ef3b05c044cb16cf9a391ced71836b5b60f4bded033a73d548974c91d00a2561c6040406a5f3289069878505d4b24b53971e6ce968a871b3c9a7271 SHA512 b4d7e2004c58b6c1bc8a8a45b2f3680fe7dd6af9d5786ea9c999f1b44909ab13b2893fdcd80a22bef908685fd6a6bcdc43b4f6e22f2e41069dcec97850416388
+EBUILD wordnet-3.1.ebuild 2796 BLAKE2B b4c8b7399d72c7aafe5e25a569e6a8d252a3c72bf3ebc808729fb993f2529bc174e8a782f38105c6925edfb088c0d0cd8fd774541a46452bdc056b75699a220f SHA512 fe498aba70d39e045713d08eb3db416e9cbaebafeffaae8d56fa82ac5519305a659f672eb9529ba0c446cdf63a36d3ab69631216d3c225c70faaf7a89ac9101d
+MISC metadata.xml 358 BLAKE2B 11b80740d0327acc1dc7c94c2492cf25fa6941014d2c352af5e744036f30f386b9549c5773036708738b774830a22ed5a972e3d88de99dab4777cc46727945ce SHA512 1f57e2d03f71e806f11f7a8e5e667fb2d7255b2af6fd17bf6b095e4f6502cc9f0ff16ef1fb7febd93c98ac52f7a3b6857c0fe1772bb5dd269b455d6db2fa125b
diff --git a/app-dicts/wordnet/files/wordnet-3.0-fix-indexing-bug-314799.patch b/app-dicts/wordnet/files/wordnet-3.0-fix-indexing-bug-314799.patch
new file mode 100644
index 000000000000..fafaa2c331d7
--- /dev/null
+++ b/app-dicts/wordnet/files/wordnet-3.0-fix-indexing-bug-314799.patch
@@ -0,0 +1,20 @@
+diff -p -u -r WordNet-3.0/lib/morph.c WordNet-3.0-mine/lib/morph.c
+--- a/lib/morph.c 2010-04-12 13:53:04.000000000 +0200
++++ b/lib/morph.c 2010-04-12 13:54:53.000000000 +0200
+@@ -375,14 +375,14 @@ static char *exc_lookup(char *word, int
+ static char line[WORDBUF], *beglp, *endlp;
+ char *excline;
+
+- if (exc_fps[pos] == NULL)
++ if (exc_fps[pos-1] == NULL)
+ return(NULL);
+
+ /* first time through load line from exception file */
+ if(word != NULL){
+ if (strlen(word) > WORDBUF - 1)
+ return(NULL);
+- if ((excline = bin_search(word, exc_fps[pos])) != NULL) {
++ if ((excline = bin_search(word, exc_fps[pos-1])) != NULL) {
+ strcpy(line, excline);
+ endlp = strchr(line,' ');
+ } else
diff --git a/app-dicts/wordnet/files/wordnet-3.0-format-security.patch b/app-dicts/wordnet/files/wordnet-3.0-format-security.patch
new file mode 100644
index 000000000000..b5d86dbbdd89
--- /dev/null
+++ b/app-dicts/wordnet/files/wordnet-3.0-format-security.patch
@@ -0,0 +1,48 @@
+ lib/binsrch.c | 4 ++--
+ src/wn.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/binsrch.c b/lib/binsrch.c
+index 8b71216..9ac51a7 100644
+--- a/lib/binsrch.c
++++ b/lib/binsrch.c
+@@ -193,7 +193,7 @@ char *replace_line(char *new_line, char *searchkey, FILE *fp)
+ copyfile(fp, tfp);
+ if (fseek(fp, offset, 0) == -1)
+ return(NULL); /* could not seek to offset */
+- fprintf(fp, new_line); /* write line */
++ fprintf(fp, "%s", new_line); /* write line */
+ rewind(tfp);
+ copyfile(tfp, fp);
+
+@@ -220,7 +220,7 @@ char *insert_line(char *new_line, char *searchkey, FILE *fp)
+ copyfile(fp, tfp);
+ if (fseek(fp, offset, 0) == -1)
+ return(NULL); /* could not seek to offset */
+- fprintf(fp, new_line); /* write line */
++ fprintf(fp, "%s", new_line); /* write line */
+ rewind(tfp);
+ copyfile(tfp, fp);
+
+diff --git a/src/wn.c b/src/wn.c
+index 004e1e6..398632f 100644
+--- a/src/wn.c
++++ b/src/wn.c
+@@ -284,7 +284,7 @@ static void printsearches(char *word, int dbase, unsigned long search)
+ printf("\t");
+ printf(searchstr[j].template,
+ partchars[dbase], partchars[dbase]);
+- printf(searchstr[j].helpstr);
++ printf("%s", searchstr[j].helpstr);
+ printf("\n");
+ }
+ }
+@@ -345,7 +345,7 @@ static int getoptidx(char *searchtype)
+
+ static int error_message(char *msg)
+ {
+- fprintf(stderr, msg);
++ fprintf(stderr, "%s", msg);
+ return(0);
+ }
+
diff --git a/app-dicts/wordnet/files/wordnet-3.0-src_stubs_c.patch b/app-dicts/wordnet/files/wordnet-3.0-src_stubs_c.patch
new file mode 100644
index 000000000000..29c42dea9c35
--- /dev/null
+++ b/app-dicts/wordnet/files/wordnet-3.0-src_stubs_c.patch
@@ -0,0 +1,12 @@
+diff -urNad wordnet-3.0/src/stubs.c.orig wordnet-3.0/src/stubs.c
+--- wordnet-3.0/src/stubs.c.orig 2007-01-04 18:47:55.000000000 +0100
++++ wordnet-3.0/src/stubs.c 2007-01-20 19:01:19.000000000 +0100
+@@ -14,7 +14,7 @@
+ #include <tk.h>
+ #include <wn.h>
+
+-static char *Id = "$Id: stubs.c,v 1.7 2005/04/29 19:01:57 wn Exp $";
++static const char Id[] = "$Id: stubs.c,v 1.7 2005/04/29 19:01:57 wn Exp $";
+
+ static char resultbuf[SEARCHBUF];
+
diff --git a/app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch b/app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch
new file mode 100644
index 000000000000..110ffc2110b8
--- /dev/null
+++ b/app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch
@@ -0,0 +1,133 @@
+ src/stubs.c | 33 +++++++++++++++++----------------
+ 1 file changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/src/stubs.c b/src/stubs.c
+index 794485c..cec2c04 100644
+--- a/src/stubs.c
++++ b/src/stubs.c
+@@ -40,8 +40,8 @@ int wn_findvalidsearches (ClientData clientData, Tcl_Interp *interp,
+ char *morph;
+ int pos;
+ if (argc != 3) {
+- interp -> result =
+- "usage: findvalidsearches searchword partofspeechnum";
++ Tcl_SetResult(interp,
++ "usage: findvalidsearches searchword partofspeechnum", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ pos = atoi (argv[2]);
+@@ -52,7 +52,7 @@ int wn_findvalidsearches (ClientData clientData, Tcl_Interp *interp,
+ } while ((morph = morphstr (NULL, pos)) != NULL);
+ }
+ sprintf (bitfieldstr, "%u", bitfield);
+- interp -> result = bitfieldstr;
++ Tcl_SetResult(interp, bitfieldstr, TCL_STATIC);
+ return TCL_OK;
+ }
+
+@@ -69,13 +69,13 @@ int wn_bit (ClientData clientData, Tcl_Interp *interp,
+ static char bitfieldstr[32];
+ int whichbit;
+ if (argc != 2) {
+- interp -> result = "usage: bit bitnum";
++ Tcl_SetResult(interp, "usage: bit bitnum", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ whichbit = atoi (argv[1]);
+ bitfield = bit (whichbit);
+ sprintf (bitfieldstr, "%u", bitfield);
+- interp -> result = bitfieldstr;
++ Tcl_SetResult(interp, bitfieldstr, TCL_STATIC);
+ return TCL_OK;
+ }
+
+@@ -89,8 +89,8 @@ int wn_search (ClientData clientData, Tcl_Interp *interp,
+ int pos, searchtype, sense;
+ char *morph;
+ if (argc != 5) {
+- interp -> result =
+- "usage: search searchword partofspeechnum searchtypenum sensenum";
++ Tcl_SetResult(interp,
++ "usage: search searchword partofspeechnum searchtypenum sensenum", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ pos = atoi (argv[2]);
+@@ -102,7 +102,7 @@ int wn_search (ClientData clientData, Tcl_Interp *interp,
+ strcat (resultbuf, findtheinfo (morph, pos, searchtype, sense));
+ } while ((morph = morphstr (NULL, pos)) != NULL);
+ }
+- interp -> result = resultbuf;
++ Tcl_SetResult(interp, resultbuf, TCL_STATIC);
+ return TCL_OK;
+ }
+
+@@ -114,7 +114,7 @@ int wn_search (ClientData clientData, Tcl_Interp *interp,
+ int wn_glosses (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 2) {
+- interp -> result = "usage: glosses [1 | 0]";
++ Tcl_SetResult(interp, "usage: glosses [1 | 0]", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ dflag = atoi (argv[1]);
+@@ -129,7 +129,7 @@ int wn_glosses (ClientData clientData, Tcl_Interp *interp,
+ int wn_fileinfo (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 2) {
+- interp -> result = "usage: fileinfo [1 | 0]";
++ Tcl_SetResult(interp, "usage: fileinfo [1 | 0]", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ fileinfoflag = atoi (argv[1]);
+@@ -144,7 +144,7 @@ int wn_fileinfo (ClientData clientData, Tcl_Interp *interp,
+ int wn_byteoffset (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 2) {
+- interp -> result = "usage: byteoffset [1 | 0]";
++ Tcl_SetResult(interp, "usage: byteoffset [1 | 0]", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ offsetflag = atoi (argv[1]);
+@@ -159,7 +159,7 @@ int wn_byteoffset (ClientData clientData, Tcl_Interp *interp,
+ int wn_senseflag (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 2) {
+- interp -> result = "usage: senseflag [1 | 0]";
++ Tcl_SetResult(interp, "usage: senseflag [1 | 0]", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ wnsnsflag = atoi (argv[1]);
+@@ -175,12 +175,13 @@ int wn_contextualhelp (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ int pos, searchtype;
+ if (argc != 3) {
+- interp -> result = "usage: contextualhelp partofspeechnum searchtypenum";
++ Tcl_SetResult(interp,
++ "usage: contextualhelp partofspeechnum searchtypenum", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ pos = atoi (argv[1]);
+ searchtype = atoi (argv[2]);
+- interp -> result = helptext[pos][searchtype];
++ Tcl_SetResult(interp, helptext[pos][searchtype], TCL_STATIC);
+ return TCL_OK;
+ }
+
+@@ -190,7 +191,7 @@ int wn_contextualhelp (ClientData clientData, Tcl_Interp *interp,
+ int wn_reopendb (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 1) {
+- interp -> result = "usage: reopendb";
++ Tcl_SetResult(interp, "usage: reopendb", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ re_wninit ();
+@@ -204,7 +205,7 @@ int wn_reopendb (ClientData clientData, Tcl_Interp *interp,
+ int wn_abortsearch (ClientData clientData, Tcl_Interp *interp,
+ int argc, char *argv[]) {
+ if (argc != 1) {
+- interp -> result = "usage: abortsearch";
++ Tcl_SetResult(interp, "usage: abortsearch", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ abortsearch = 1;
diff --git a/app-dicts/wordnet/metadata.xml b/app-dicts/wordnet/metadata.xml
new file mode 100644
index 000000000000..c40afbd5319c
--- /dev/null
+++ b/app-dicts/wordnet/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>chocopuff298@gmail.com</email>
+ <name>Ethan Kiang</name>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-dicts/wordnet/wordnet-3.0-r4.ebuild b/app-dicts/wordnet/wordnet-3.0-r4.ebuild
new file mode 100644
index 000000000000..bd72aae233cc
--- /dev/null
+++ b/app-dicts/wordnet/wordnet-3.0-r4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic multilib
+
+DESCRIPTION="A lexical database for the English language"
+HOMEPAGE="https://wordnet.princeton.edu/"
+SRC_URI="
+ ftp://ftp.cogsci.princeton.edu/pub/wordnet/${PV}/WordNet-${PV}.tar.gz
+ mirror://gentoo/${P}-patchset-1.tar.bz2"
+LICENSE="Princeton"
+
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+# In contrast to what the configure script seems to imply, Tcl/Tk is NOT optional.
+# cf. bug 163478 for details. (Yes, it's about 2.1 but it's still the same here.)
+DEPEND="
+ dev-lang/tcl:0=
+ dev-lang/tk:0="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/WordNet-${PV}"
+
+PATCHES=(
+ # Don't install into PREFIX/dict but PREFIX/share/wordnet/dict
+ "${WORKDIR}/${P}-dict-location.patch"
+ # Fixes bug 130024, make an additional shared lib
+ "${WORKDIR}/${P}-shared-lib.patch"
+ # Don't install the docs directly into PREFIX/doc but PREFIX/doc/PN
+ "${WORKDIR}/${P}-docs-path.patch"
+ "${WORKDIR}"/${P}-CVE-2008-3908.patch #211491
+ "${WORKDIR}"/${P}-CVE-2008-2149.patch #211491
+
+ "${FILESDIR}"/${P}-tcl8.6.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/${P}-src_stubs_c.patch
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ # Don't install all the extra docs (html, pdf, ps) without doc USE flag.
+ if ! use doc; then
+ sed -i -e "s:SUBDIRS =.*:SUBDIRS = man:" doc/Makefile.am || die
+ fi
+
+ # Drop installation of OLD tk.h headers #255590
+ sed '/^SUBDIRS/d' -i include/Makefile.am || die
+ sed 's: include/tk/Makefile::' -i configure.ac || die
+ rm -rf include/tk/ || die
+
+ rm -f configure || die
+ eautoreconf
+ MAKEOPTS+=" -e"
+}
+
+src_configure() {
+ append-cppflags -DUNIX -I"${T}"/usr/include
+
+ PLATFORM=linux WN_ROOT="${T}/usr" \
+ WN_DICTDIR="${T}/usr/share/wordnet/dict" \
+ WN_MANDIR="${T}/usr/share/man" \
+ WN_DOCDIR="${T}/usr/share/doc/wordnet-${PV}" \
+ WNHOME="${EPREFIX}/usr/share/wordnet" \
+ econf \
+ --with-tcl="${EPREFIX}"/usr/$(get_libdir) \
+ --with-tk="${EPREFIX}"/usr/$(get_libdir)
+}
diff --git a/app-dicts/wordnet/wordnet-3.0-r5.ebuild b/app-dicts/wordnet/wordnet-3.0-r5.ebuild
new file mode 100644
index 000000000000..68cdec705c13
--- /dev/null
+++ b/app-dicts/wordnet/wordnet-3.0-r5.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="A lexical database for the English language"
+HOMEPAGE="https://wordnet.princeton.edu/"
+SRC_URI="
+ http://wordnetcode.princeton.edu/${PV}/WordNet-${PV}.tar.gz
+ mirror://gentoo/${P}-patchset-1.tar.bz2"
+LICENSE="Princeton"
+
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+# In contrast to what the configure script seems to imply, Tcl/Tk is NOT
+# optional. cf. bug 163478 for details. (Yes, it's about 2.1 but it's
+# still the same here.)
+DEPEND="
+ dev-lang/tcl:0=
+ dev-lang/tk:0="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/WordNet-${PV}"
+
+PATCHES=(
+ # Don't install into PREFIX/dict but PREFIX/share/wordnet/dict
+ "${WORKDIR}/${P}-dict-location.patch"
+ # Fixes bug 130024, make an additional shared lib
+ "${WORKDIR}/${P}-shared-lib.patch"
+ # Don't install the docs directly into PREFIX/doc but PREFIX/doc/PN
+ "${WORKDIR}/${P}-docs-path.patch"
+ "${WORKDIR}"/${P}-CVE-2008-3908.patch #211491
+ "${WORKDIR}"/${P}-CVE-2008-2149.patch #211491
+
+ "${FILESDIR}"/${P}-tcl8.6.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/${P}-src_stubs_c.patch
+ "${FILESDIR}"/${P}-fix-indexing-bug-314799.patch
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ eapply_user
+
+ # Don't install all the extra docs (html, pdf, ps) without doc USE flag.
+ if ! use doc; then
+ sed -i -e "s:SUBDIRS =.*:SUBDIRS = man:" doc/Makefile.am || die
+ fi
+
+ # Drop installation of OLD tk.h headers #255590
+ sed '/^SUBDIRS/d' -i include/Makefile.am || die
+ sed 's: include/tk/Makefile::' -i configure.ac || die
+ rm -rf include/tk/ || die
+
+ rm -f configure || die
+ eautoreconf
+ MAKEOPTS+=" -e"
+}
+
+src_configure() {
+ append-cppflags -DUNIX -I"${T}"/usr/include
+
+ PLATFORM=linux WN_ROOT="${T}/usr" \
+ WN_DICTDIR="${T}/usr/share/wordnet/dict" \
+ WN_MANDIR="${T}/usr/share/man" \
+ WN_DOCDIR="${T}/usr/share/doc/wordnet-${PV}" \
+ WNHOME="${EPREFIX}/usr/share/wordnet" \
+ econf \
+ --with-tcl="${EPREFIX}"/usr/$(get_libdir) \
+ --with-tk="${EPREFIX}"/usr/$(get_libdir)
+}
diff --git a/app-dicts/wordnet/wordnet-3.1.ebuild b/app-dicts/wordnet/wordnet-3.1.ebuild
new file mode 100644
index 000000000000..b0f8adbbf560
--- /dev/null
+++ b/app-dicts/wordnet/wordnet-3.1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="A lexical database for the English language"
+HOMEPAGE="https://wordnet.princeton.edu/"
+SRC_URI="
+ http://wordnetcode.princeton.edu/3.0/WordNet-3.0.tar.gz
+ mirror://gentoo/${PN}-3.0-patchset-1.tar.bz2
+ http://wordnetcode.princeton.edu/wn3.1.dict.tar.gz"
+LICENSE="Princeton"
+
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+# In contrast to what the configure script seems to imply, Tcl/Tk is NOT
+# optional. cf. bug 163478 for details. (Yes, it's about 2.1 but it's
+# still the same here.)
+DEPEND="
+ dev-lang/tcl:0=
+ dev-lang/tk:0="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/WordNet-3.0"
+
+PATCHES1=(
+ # Don't install into PREFIX/dict but PREFIX/share/wordnet/dict
+ "${WORKDIR}/"${PN}-3.0"-dict-location.patch"
+ # Fixes bug 130024, make an additional shared lib
+ "${WORKDIR}/"${PN}-3.0"-shared-lib.patch"
+ # Don't install the docs directly into PREFIX/doc but PREFIX/doc/PN
+ "${WORKDIR}/"${PN}-3.0"-docs-path.patch"
+ "${WORKDIR}"/"${PN}-3.0"-CVE-2008-3908.patch #211491
+
+ "${FILESDIR}"/"${PN}-3.0"-tcl8.6.patch
+ "${FILESDIR}"/"${PN}-3.0"-format-security.patch
+ "${FILESDIR}"/"${PN}-3.0"-src_stubs_c.patch
+ "${FILESDIR}"/"${PN}-3.0"-fix-indexing-bug-314799.patch
+)
+
+PATCHES0=(
+ "${WORKDIR}"/"${PN}-3.0"-CVE-2008-2149.patch #211491
+)
+
+src_prepare() {
+ eapply -p1 "${PATCHES1[@]}"
+ eapply -p0 "${PATCHES0[@]}"
+ eapply_user
+
+ # Don't install all the extra docs (html, pdf, ps) without doc USE flag.
+ if ! use doc; then
+ sed -i -e "s:SUBDIRS =.*:SUBDIRS = man:" doc/Makefile.am || die
+ fi
+
+ # Drop installation of OLD tk.h headers #255590
+ sed '/^SUBDIRS/d' -i include/Makefile.am || die
+ sed 's: include/tk/Makefile::' -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags -DUNIX -I"${T}"/usr/include
+
+ PLATFORM=linux WN_ROOT="${T}/usr" \
+ WN_DICTDIR="${T}/usr/share/wordnet/dict" \
+ WN_MANDIR="${T}/usr/share/man" \
+ WN_DOCDIR="${T}/usr/share/doc/wordnet-3.0" \
+ WNHOME="${EPREFIX}/usr/share/wordnet" \
+ econf \
+ --with-tcl="${EPREFIX}"/usr/$(get_libdir) \
+ --with-tk="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_compile(){
+ emake -e || die "emake failed"
+}
+
+src_install(){
+ # For clarification, WN is still on version 3.0. Only the database files
+ # have been updated to 3.1 as a package for 3.1 does not currently exist.
+ emake -e DESTDIR="${D}" install
+ einstalldocs
+ rm -r "${D}/usr/share/wordnet/dict" || die
+ mv "${WORKDIR}/dict" "${D}/usr/share/wordnet" || die
+}
+
+pkg_postinst(){
+ elog "The WordNet 3.1 ebuild has installed WordNet v3.0 with v3.1 database files instead."
+ elog "See https://wordnet.princeton.edu/download/current-version/ for more."
+}