From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- app-dicts/wordnet/Manifest | 11 ++ .../wordnet-3.0-fix-indexing-bug-314799.patch | 20 ++++ .../files/wordnet-3.0-format-security.patch | 48 ++++++++ .../wordnet/files/wordnet-3.0-src_stubs_c.patch | 12 ++ app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch | 133 +++++++++++++++++++++ app-dicts/wordnet/metadata.xml | 12 ++ app-dicts/wordnet/wordnet-3.0-r4.ebuild | 71 +++++++++++ app-dicts/wordnet/wordnet-3.0-r5.ebuild | 75 ++++++++++++ app-dicts/wordnet/wordnet-3.1.ebuild | 94 +++++++++++++++ 9 files changed, 476 insertions(+) create mode 100644 app-dicts/wordnet/Manifest create mode 100644 app-dicts/wordnet/files/wordnet-3.0-fix-indexing-bug-314799.patch create mode 100644 app-dicts/wordnet/files/wordnet-3.0-format-security.patch create mode 100644 app-dicts/wordnet/files/wordnet-3.0-src_stubs_c.patch create mode 100644 app-dicts/wordnet/files/wordnet-3.0-tcl8.6.patch create mode 100644 app-dicts/wordnet/metadata.xml create mode 100644 app-dicts/wordnet/wordnet-3.0-r4.ebuild create mode 100644 app-dicts/wordnet/wordnet-3.0-r5.ebuild create mode 100644 app-dicts/wordnet/wordnet-3.1.ebuild (limited to 'app-dicts/wordnet') 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 + #include + +-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 @@ + + + + + chocopuff298@gmail.com + Ethan Kiang + + + proxy-maint@gentoo.org + Proxy Maintainers + + 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." +} -- cgit v1.2.3