diff options
| author | Rene Ladan <rene@FreeBSD.org> | 2026-09-30 22:23:05 +0000 |
|---|---|---|
| committer | Rene Ladan <rene@FreeBSD.org> | 2026-09-30 22:23:05 +0000 |
| commit | cd6b2f7c1e60bcaa9dd73269b0ddda6947e80f8a (patch) | |
| tree | 1c3392c436eb73b81ce60e1834a2f9161a2eaf83 | |
| parent | ff79eab4c75b327877876b401df4ed9e4a186206 (diff) | |
textproc/libtextcat: Remove expired port
2026-07-31 textproc/libtextcat: It has been superseded by textproc/libexttextcat
| -rw-r--r-- | MOVED | 1 | ||||
| -rw-r--r-- | textproc/Makefile | 1 | ||||
| -rw-r--r-- | textproc/libtextcat/Makefile | 44 | ||||
| -rw-r--r-- | textproc/libtextcat/distinfo | 2 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_Makefile.in | 65 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_constants.h | 45 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_fingerprint.c | 164 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_fingerprint.h | 16 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_textcat.c | 97 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_textcat.h | 41 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_utf8misc.c | 135 | ||||
| -rw-r--r-- | textproc/libtextcat/files/patch-src_utf8misc.h | 91 | ||||
| -rw-r--r-- | textproc/libtextcat/pkg-descr | 15 | ||||
| -rw-r--r-- | textproc/libtextcat/pkg-plist | 90 |
14 files changed, 1 insertions, 806 deletions
@@ -5711,3 +5711,4 @@ deskutils/kchmviewer|deskutils/uchmviewer|2026-09-30|Has expired: Development st devel/pyside2||2026-09-30|Has expired: Depends on deprecated Qt5 WebEngine devel/swig40|devel/swig|2026-09-30|Has expired: Outdated. Use devel/swig instead sysutils/rubygem-facter|sysutils/rubygem-openfact|2026-09-30|Has expired: Discontinued, use sysutils/rubygem-openfact +textproc/libtextcat|textproc/libexttextcat|2026-09-30|Has expired: It has been superseded by textproc/libexttextcat diff --git a/textproc/Makefile b/textproc/Makefile index 5ca0d9aa08b8..db1b36318bae 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -425,7 +425,6 @@ SUBDIR += libsphinxclient SUBDIR += libstaroffice SUBDIR += libstree - SUBDIR += libtextcat SUBDIR += libtranslate SUBDIR += libtre SUBDIR += libucl diff --git a/textproc/libtextcat/Makefile b/textproc/libtextcat/Makefile deleted file mode 100644 index ea6991095dd1..000000000000 --- a/textproc/libtextcat/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -PORTNAME= libtextcat -PORTVERSION= 2.2 -PORTREVISION= 6 -CATEGORIES= textproc -MASTER_SITES= http://software.wise-guys.nl/download/ - -MAINTAINER= thierry@FreeBSD.org -COMMENT= Language guessing by N-Gram-Based Text Categorization -WWW= https://software.wise-guys.nl/libtextcat/ - -LICENSE= BSD3CLAUSE -LICENSE_FILE= ${WRKSRC}/LICENSE - -DEPRECATED= It has been superseded by textproc/libexttextcat -EXPIRATION_DATE=2026-07-31 - -GNU_CONFIGURE= yes -USES= libtool -USE_LDCONFIG= yes - -OPTIONS_DEFINE= DOCS - -PORTDOCS= README TODO - -post-install: - ${INSTALL_DATA} ${WRKSRC}/src/textcat.h ${STAGEDIR}${PREFIX}/include/ - ${MKDIR} ${STAGEDIR}${DATADIR}/LM - @${ECHO_MSG} "Installing language models provided in Gertjan van Noord's TextCat package" - (cd ${WRKSRC}/langclass/LM && \ - ${FIND} . -name "*.lm" -exec ${INSTALL_DATA} {} "${STAGEDIR}${DATADIR}/LM/{}" \;) - ${INSTALL_DATA} ${WRKSRC}/langclass/conf.txt "${STAGEDIR}${DATADIR}" - -post-install-DOCS-on: - @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} - -do-test: - (cd ${WRKSRC}/langclass/ && \ - for t in `${LS} ShortTexts/*.txt` ; do \ - ${ECHO_MSG} "Analyzing $$t..." ; \ - ../src/testtextcat conf.txt < $$t ; \ - done) - -.include <bsd.port.mk> diff --git a/textproc/libtextcat/distinfo b/textproc/libtextcat/distinfo deleted file mode 100644 index 17b058aa9606..000000000000 --- a/textproc/libtextcat/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (libtextcat-2.2.tar.gz) = 5677badffc48a8d332e345ea4fe225e3577f53fc95deeec8306000b256829655 -SIZE (libtextcat-2.2.tar.gz) = 540999 diff --git a/textproc/libtextcat/files/patch-src_Makefile.in b/textproc/libtextcat/files/patch-src_Makefile.in deleted file mode 100644 index 4df230c584a5..000000000000 --- a/textproc/libtextcat/files/patch-src_Makefile.in +++ /dev/null @@ -1,65 +0,0 @@ ---- src/Makefile.in.orig 2003-05-22 13:39:52.000000000 +0200 -+++ src/Makefile.in 2011-01-31 20:51:27.000000000 +0100 -@@ -126,18 +126,18 @@ - - WARNS = -W -Wall -Wshadow -Wpointer-arith - IFLAGS = --FLAGS = -g -O3 -funroll-loops -D_THREAD_SAFE -D_GNU_SOURCE -+FLAGS = -g -funroll-loops -D_THREAD_SAFE -D_GNU_SOURCE - VERBOSE = -DVERBOSE - AM_CFLAGS = $(IFLAGS) $(VERBOSE) $(WARNS) $(FLAGS) - AM_LDFLAGS = -g - - noinst_HEADERS = \ -- common.h constants.h fingerprint.h textcat.h wg_mempool.h -+ common.h constants.h fingerprint.h textcat.h wg_mempool.h utf8misc.h - - - lib_LTLIBRARIES = libtextcat.la - libtextcat_la_SOURCES = \ -- common.c fingerprint.c textcat.c wg_mempool.c -+ common.c fingerprint.c textcat.c wg_mempool.c utf8misc.c - - - bin_PROGRAMS = createfp -@@ -156,7 +156,7 @@ - libtextcat_la_LDFLAGS = - libtextcat_la_LIBADD = - am_libtextcat_la_OBJECTS = common.lo fingerprint.lo textcat.lo \ -- wg_mempool.lo -+ wg_mempool.lo utf8misc.lo - libtextcat_la_OBJECTS = $(am_libtextcat_la_OBJECTS) - bin_PROGRAMS = createfp$(EXEEXT) - noinst_PROGRAMS = testtextcat$(EXEEXT) -@@ -187,7 +187,9 @@ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ - DIST_SOURCES = $(libtextcat_la_SOURCES) $(createfp_SOURCES) \ - $(testtextcat_SOURCES) --HEADERS = $(noinst_HEADERS) -+ -+# Needed for LibreOffice -+HEADERS = $(noinst_HEADERS) $(CONFIG_HEADER) - - DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in config.h.in - SOURCES = $(libtextcat_la_SOURCES) $(createfp_SOURCES) $(testtextcat_SOURCES) -@@ -264,6 +266,11 @@ - else :; fi; \ - done - -+install-HEADERS: -+ @$(NORMAL_INSTALL) -+ $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) -+ $(INSTALL_HEADER) $(HEADERS) $(DESTDIR)$(pkgincludedir) -+ - uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ -@@ -490,7 +497,7 @@ - - install-data-am: - --install-exec-am: install-binPROGRAMS install-libLTLIBRARIES -+install-exec-am: install-binPROGRAMS install-libLTLIBRARIES install-HEADERS - - install-info: install-info-am - diff --git a/textproc/libtextcat/files/patch-src_constants.h b/textproc/libtextcat/files/patch-src_constants.h deleted file mode 100644 index 4e4f5d2d02aa..000000000000 --- a/textproc/libtextcat/files/patch-src_constants.h +++ /dev/null @@ -1,45 +0,0 @@ ---- src/constants.h.orig Thu May 22 13:32:43 2003 -+++ src/constants.h Thu Aug 23 22:47:07 2007 -@@ -39,6 +39,8 @@ - */ - #include <limits.h> - -+#define _UTF8_ -+ - #define DESCRIPTION "out of place" - - /* Reported matches are those fingerprints with a score less than best -@@ -59,14 +61,21 @@ - /* Maximum number of n-grams in a fingerprint */ - #define MAXNGRAMS 400 - --/* Maximum size of an n-gram? */ --#define MAXNGRAMSIZE 5 -+/* Maximum number of character of an n-gram? */ -+#define MAXNGRAMSYMBOL 5 -+ -+/* Maximum size of the string representing an n-gram (must be greater than number of symbol) */ -+#ifdef _UTF8_ -+#define MAXNGRAMSIZE 20 -+#else -+#define MAXNGRAMSIZE MAXNGRAMSYMBOL -+#endif - - /* Which characters are not acceptable in n-grams? */ - #define INVALID(c) (isspace((int)c) || isdigit((int)c)) - - /* Minimum size (in characters) for accepting a document */ --#define MINDOCSIZE 25 -+#define MINDOCSIZE 6 - - /* Maximum penalty for missing an n-gram in fingerprint */ - #define MAXOUTOFPLACE 400 -@@ -75,5 +84,8 @@ - #define TABLEPOW 13 - - #define MAXSCORE INT_MAX -+ -+/* where the fingerprints files are stored */ -+#define DEFAULT_FINGERPRINTS_PATH "" - - #endif diff --git a/textproc/libtextcat/files/patch-src_fingerprint.c b/textproc/libtextcat/files/patch-src_fingerprint.c deleted file mode 100644 index a01722c160b0..000000000000 --- a/textproc/libtextcat/files/patch-src_fingerprint.c +++ /dev/null @@ -1,164 +0,0 @@ ---- src/fingerprint.c.orig Thu May 22 13:32:43 2003 -+++ src/fingerprint.c Thu Aug 23 22:47:07 2007 -@@ -63,6 +63,10 @@ - * - put table/heap datastructure in a separate file. - */ - -+#ifndef _UTF8_ -+#define _UTF8_ -+#endif -+ - #include "config.h" - #include <stdio.h> - #ifdef HAVE_STDLIB_H -@@ -80,10 +84,12 @@ - #include "wg_mempool.h" - #include "constants.h" - -+#include "utf8misc.h" - - #define TABLESIZE (1<<TABLEPOW) - #define TABLEMASK ((TABLESIZE)-1) - -+ - typedef struct { - - sint2 rank; -@@ -134,29 +140,14 @@ - } - - --/* checks if n-gram lex is a prefix of key and of length len */ --inline int issame( char *lex, char *key, int len ) --{ -- int i; -- for (i=0; i<len; i++) { -- if ( key[i] != lex[i] ) { -- return 0; -- } -- } -- if ( lex[i] != 0 ) { -- return 0; -- } -- return 1; --} -- - - /* increases frequency of ngram(p,len) */ --static inline int increasefreq( table_t *t, char *p, int len ) --{ -- uint4 hash = simplehash( p, len ) & TABLEMASK; -+static int increasefreq( table_t *t, char *p, int len ) -+{ -+ uint4 hash = simplehash( p, len ) & TABLEMASK; - entry_t *entry = t->table[ hash ]; -- -- while ( entry ) { -+ -+ while ( entry ) { - if ( issame( entry->str, p, len ) ) { - /*** Found it! ***/ - entry->cnt++; -@@ -168,7 +159,7 @@ - } - - /*** Not found, so create ***/ -- entry = wgmempool_alloc( t->pool, sizeof(entry_t) ); -+ entry = (entry_t*)(wgmempool_alloc( t->pool, sizeof(entry_t) )); - strcpy( entry->str, p ); - entry->cnt = 1; - -@@ -181,12 +172,12 @@ - #if 0 - - /* looks up ngram(p,len) */ --static entry_t *findfreq( table_t *t, char *p, int len ) --{ -- uint4 hash = simplehash( p, len ) & TABLEMASK; -+static entry_t *findfreq( table_t *t, char *p, int len ) -+{ -+ uint4 hash = simplehash( p, len ) & TABLEMASK; - entry_t *entry = t->table[ hash ]; -- -- while ( entry ) { -+ -+ while ( entry ) { - if ( issame( entry->str, p, len ) ) { - return entry; - } -@@ -219,7 +210,7 @@ - #define GREATER(x,y) ((x).cnt > (y).cnt) - #define LESS(x,y) ((x).cnt < (y).cnt) - --inline static void siftup( table_t *t, unsigned int child ) -+static void siftup( table_t *t, unsigned int child ) - { - entry_t *heap = t->heap; - unsigned int parent = (child-1) >> 1; -@@ -241,7 +232,7 @@ - } - - --inline static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) -+static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) - { - entry_t *heap = t->heap; - unsigned int child = parent*2 + 1; -@@ -458,21 +449,27 @@ - return dest; - } - -- -+/** -+* this function extract all n-gram from past buffer and put them into the table "t" -+* [modified] by Jocelyn Merand to accept utf-8 multi-character symbols to be used in OpenOffice -+*/ - static void createngramtable( table_t *t, const char *buf ) - { - char n[MAXNGRAMSIZE+1]; - const char *p = buf; - int i; -+ int pointer = 0; - - /*** Get all n-grams where 1<=n<=MAXNGRAMSIZE. Allow underscores only at borders. ***/ -- for (;;p++) { -+ while(1) { - -- const char *q = p; -+ const char *q = &p[pointer]; /*[modified] previously p++ above (for(;;p++)) now, it's pointer wich is increased so we have to get the new pointer on the buffer*/ - char *m = n; - - /*** First char may be an underscore ***/ -- *m++ = *q++; -+ int decay = charcopy(q, m); /*[modified] previously *q++ = *m++*/ -+ q = &(p[pointer+decay]); /*[modified] the old copying method do not manage multi-character symbols*/ -+ m += decay; /*[modified]*/ - *m = '\0'; - - increasefreq( t, n, 1 ); -@@ -482,19 +479,22 @@ - } - - /*** Let the compiler unroll this ***/ -- for ( i=2; i<=MAXNGRAMSIZE; i++) { -+ for ( i=2; i<=MAXNGRAMSYMBOL; i++) { - -- *m++ = *q; -+ decay = charcopy(q, m); /*[modified] like above*/ -+ m += decay; - *m = '\0'; - - increasefreq( t, n, i ); - - if ( *q == '_' ) break; -- q++; -+ q += decay; - if ( *q == '\0' ) { - return; - } - } -+ -+ pointer = nextcharstart(p,pointer); /*[modified] p[pointer] must point on the next start of symbol, but whith utf next start is not surely next char*/ - } - return; - } diff --git a/textproc/libtextcat/files/patch-src_fingerprint.h b/textproc/libtextcat/files/patch-src_fingerprint.h deleted file mode 100644 index d5d270bf0af2..000000000000 --- a/textproc/libtextcat/files/patch-src_fingerprint.h +++ /dev/null @@ -1,16 +0,0 @@ ---- ./src/fingerprint.h.orig 2003-05-19 14:16:31.000000000 +0200 -+++ ./src/fingerprint.h 2010-12-21 16:18:55.000000000 +0100 -@@ -41,7 +41,13 @@ - extern int fp_Read( void *handle, const char *fname, int maxngrams ); - extern sint4 fp_Compare( void *cat, void *unknown, int cutoff ); - extern void fp_Show( void *handle ); -+#ifdef __cplusplus -+extern "C" { -+#endif - extern const char *fp_Name( void *handle ); -+#ifdef __cplusplus -+} -+#endif - extern void fp_Print( void *handle, FILE *fp ); - - #endif diff --git a/textproc/libtextcat/files/patch-src_textcat.c b/textproc/libtextcat/files/patch-src_textcat.c deleted file mode 100644 index 24e95e832001..000000000000 --- a/textproc/libtextcat/files/patch-src_textcat.c +++ /dev/null @@ -1,97 +0,0 @@ ---- src/textcat.c.orig Thu May 22 13:32:43 2003 -+++ src/textcat.c Thu Aug 23 22:47:07 2007 -@@ -74,6 +74,7 @@ - typedef struct { - - void **fprint; -+ char *fprint_disable; - uint4 size; - uint4 maxsize; - -@@ -112,11 +113,21 @@ - fp_Done( h->fprint[i] ); - } - wg_free( h->fprint ); -+ wg_free( h->fprint_disable ); - wg_free( h ); - - } - --extern void *textcat_Init( const char *conffile ) -+/** Replaces older function */ -+extern void *textcat_Init( const char *conffile ){ -+ return special_textcat_Init( conffile, DEFAULT_FINGERPRINTS_PATH ); -+} -+ -+/** -+ * Originaly this function had only one parameter (conffile) it has been modified since OOo use -+ * Basicaly prefix is the directory path where fingerprints are stored -+ */ -+extern void *special_textcat_Init( const char *conffile, const char *prefix ) - { - textcat_t *h; - char line[1024]; -@@ -134,11 +145,13 @@ - h->size = 0; - h->maxsize = 16; - h->fprint = (void **)wg_malloc( sizeof(void*) * h->maxsize ); -+ h->fprint_disable = (char *)wg_malloc( sizeof(char*) * h->maxsize ); /*added to store the state of languages*/ - - while ( wg_getline( line, 1024, fp ) ) { - char *p; - char *segment[4]; -- int res; -+ char finger_print_file_name[512]; -+ int res; - - /*** Skip comments ***/ - #ifdef HAVE_STRCHR -@@ -156,17 +169,23 @@ - /*** Ensure enough space ***/ - if ( h->size == h->maxsize ) { - h->maxsize *= 2; -- h->fprint = (void *)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); -+ h->fprint = (void **)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); -+ h->fprint_disable = (char *)wg_realloc( h->fprint_disable, sizeof(char*) * h->maxsize ); - } - - /*** Load data ***/ - if ((h->fprint[ h->size ] = fp_Init( segment[1] ))==NULL) { - goto ERROR; - } -- if ( fp_Read( h->fprint[h->size], segment[0], 400 ) == 0 ) { -+ finger_print_file_name[0] = '\0'; -+ strcat(finger_print_file_name, prefix); -+ strcat(finger_print_file_name, segment[0]); -+ -+ if ( fp_Read( h->fprint[h->size], finger_print_file_name, 400 ) == 0 ) { - textcat_Done(h); - goto ERROR; -- } -+ } -+ h->fprint_disable[h->size] = 0xF0; /*0xF0 is the code for enabled languages, 0x0F is for disabled*/ - h->size++; - } - -@@ -203,11 +222,18 @@ - result = _TEXTCAT_RESULT_SHORT; - goto READY; - } -- -+ - /*** Calculate the score for each category. ***/ - for (i=0; i<h->size; i++) { -- int score = fp_Compare( h->fprint[i], unknown, threshold ); -- candidates[i].score = score; -+ int score; -+ if(h->fprint_disable[i] & 0x0F){ /*if this language is disabled*/ -+ score = MAXSCORE; -+ } -+ else{ -+ score = fp_Compare( h->fprint[i], unknown, threshold ); -+ /*printf("Score for %s : %i\n", fp_Name(h->fprint[i]), score);*/ -+ } -+ candidates[i].score = score; - candidates[i].name = fp_Name( h->fprint[i] ); - if ( score < minscore ) { - minscore = score; diff --git a/textproc/libtextcat/files/patch-src_textcat.h b/textproc/libtextcat/files/patch-src_textcat.h deleted file mode 100644 index d7a6c4892ea4..000000000000 --- a/textproc/libtextcat/files/patch-src_textcat.h +++ /dev/null @@ -1,41 +0,0 @@ ---- ./src/textcat.h.orig 2003-05-19 14:16:31.000000000 +0200 -+++ ./src/textcat.h 2010-12-21 16:18:55.000000000 +0100 -@@ -39,6 +39,9 @@ - - #define _TEXTCAT_RESULT_UNKOWN "UNKNOWN" - #define _TEXTCAT_RESULT_SHORT "SHORT" -+#ifdef __cplusplus -+extern "C" { -+#endif - - - /** -@@ -51,10 +54,19 @@ - * Returns: handle on success, NULL on error. (At the moment, the - * only way errors can occur, is when the library cannot read the - * conffile, or one of the fingerprint files listed in it.) -+ * -+ * Replace older function (and has exacly the same behaviour) -+ * see below - */ - extern void *textcat_Init( const char *conffile ); - - /** -+ * Originaly this function had only one parameter (conffile) it has been modified since OOo must be able to load alternativ DB -+ * Basicaly prefix is the directory path where fingerprints are stored -+ */ -+extern void *special_textcat_Init( const char *conffile, const char *prefix ); -+ -+/** - * textcat_Done() - Free up resources for handle - */ - extern void textcat_Done( void *handle ); -@@ -77,4 +89,8 @@ - * textcat_Version() - Returns a string describing the version of this classifier. - */ - extern char *textcat_Version(); -+ -+#ifdef __cplusplus -+} -+#endif - #endif diff --git a/textproc/libtextcat/files/patch-src_utf8misc.c b/textproc/libtextcat/files/patch-src_utf8misc.c deleted file mode 100644 index ba17b38cafb1..000000000000 --- a/textproc/libtextcat/files/patch-src_utf8misc.c +++ /dev/null @@ -1,135 +0,0 @@ ---- /dev/null Thu Aug 23 22:58:13 2007 -+++ src/utf8misc.c Thu Aug 23 22:47:07 2007 -@@ -0,0 +1,132 @@ -+/*************************************************************************** -+ * Copyright (C) 2006 by Jocelyn Merand * -+ * joc.mer@gmail.com * -+ * * -+ * THE BSD LICENSE -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * - Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * - Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the -+ * distribution. -+ * -+ * - Neither the name of the WiseGuys Internet B.V. nor the names of -+ * its contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ ***************************************************************************/ -+ -+#ifndef _UTF8_MISC_H_ -+#include "utf8misc.h" -+#endif -+ -+ -+int nextcharstart(const char *str, int position){ -+ int pointer = position; -+ -+ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ -+ -+ /*then str[pointer] is an escape character*/ -+ -+ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (by bit translation) following characters (only the weightest part)*/ -+ -+ while(escape_char & ESCAPE_MASK && str[pointer]){/*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ -+ escape_char = escape_char <<1; -+ ++pointer; -+ } -+ } -+ if(str[pointer]){ /*finaly, if we are not on the \0 character, we jump to the next character*/ -+ ++pointer; -+ } -+ return pointer; -+} -+ -+ -+int charcopy(const char *str, char *dest){ -+ -+ int pointer = 0; -+ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ -+ -+ /*then str[pointer] is an escape character*/ -+ -+ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count following characters (only the weightest part)*/ -+ -+ while(escape_char & ESCAPE_MASK && str[pointer]){ /*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ -+ dest[pointer] = str[pointer]; -+ escape_char = escape_char <<1; -+ ++pointer; -+ } -+ } -+ if(str[pointer]){ -+ dest[pointer] = str[pointer]; -+ ++pointer; -+ } -+ -+ return pointer; -+} -+ -+ -+int issame( char *lex, char *key, int len ) -+{ -+ /*printf("[%s] prefix of [%s] with length %i", lex, key, len);*/ -+ int char_counter = 0; -+ int pointer = 0; -+ while(char_counter < len) { -+ -+ if(key[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ -+ -+ /*then key[pointer] is an escap character*/ -+ -+ char escape_char = ((key[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (only the weightest part)*/ -+ -+ while(escape_char & ESCAPE_MASK && key[pointer] == lex[pointer] ){ -+ escape_char = escape_char <<1; -+ ++pointer; -+ } -+ } -+ ++char_counter; /*and we are on a new utf8 character*/ -+ if ( key[pointer] != lex[pointer] ) { -+ return 0; -+ /*printf(" NO\n", lex, key, len);*/ -+ } -+ ++pointer; -+ } -+ if ( lex[pointer] != '\0' ) { -+ return 0; -+ /*printf(" NO\n");*/ -+ } -+ -+ /*printf(" YES\n");*/ -+ -+ return 1; -+} -+ -+ -+extern int utfstrlen(const char* str){ -+ int char_counter = 0; -+ int pointer = 0; -+ while(str[pointer]) { -+ pointer = nextcharstart(str, pointer); -+ -+ ++char_counter; /*and we are on a new utf8 character*/ -+ } -+ return char_counter; -+} -+ diff --git a/textproc/libtextcat/files/patch-src_utf8misc.h b/textproc/libtextcat/files/patch-src_utf8misc.h deleted file mode 100644 index 666786899b33..000000000000 --- a/textproc/libtextcat/files/patch-src_utf8misc.h +++ /dev/null @@ -1,91 +0,0 @@ ---- /dev/null Thu Aug 23 22:58:13 2007 -+++ src/utf8misc.h Thu Aug 23 22:47:08 2007 -@@ -0,0 +1,88 @@ -+/*************************************************************************** -+ * Copyright (C) 2006 by Jocelyn Merand * -+ * joc.mer@gmail.com * -+ * * -+ * THE BSD LICENSE -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * - Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * - Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the -+ * distribution. -+ * -+ * - Neither the name of the WiseGuys Internet B.V. nor the names of -+ * its contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ ***************************************************************************/ -+ -+#ifndef _UTF8_MISC_H_ -+#define _UTF8_MISC_H_ -+ -+/** -+ * These variables are used in character processing functions -+ * These have been added to manage utf-8 symbols, particularly escape chars -+ */ -+#ifdef _UTF8_ -+#define ESCAPE_MASK 0x80 -+#define WEIGHT_MASK 0xF0 -+#else -+#define ESCAPE_MASK 0xFF -+#define WEIGHT_MASK 0x00 -+#endif -+ -+ -+/* -+ * Is used to jump to the next start of char -+ * of course it's only usefull when encoding is utf-8 -+ * This function have been added by Jocelyn Merand to use libtextcat in OOo -+ */ -+int nextcharstart(const char *str, int position); -+ -+ -+/*Copy the char in str to dest -+ * of course it's only usefull when encoding is utf8 and the symbol is encoded with more than 1 char -+ * return the number of char jumped -+ * This function have been added by Jocelyn Merand to use libtextcat in OOo -+ */ -+int charcopy(const char *str, char *dest); -+ -+ -+/* checks if n-gram lex is a prefix of key and of length len -+* if _UTF8_ is defined, it uses escap characters and len is not realy the length of lex -+* in this case, len is the number of utf-8 char strlen("€") == 3 but len == 1 -+*/ -+int issame( char *lex, char *key, int len ); -+ -+ -+/* Counts the number of characters -+* if _UTF8_ is defined, it uses escap characters and the result is not realy the length of str -+* in this case, the result is the number of utf-8 char strlen("€") == 3 but utfstrlen("€") == 1 -+*/ -+#ifdef __cplusplus -+extern "C" { -+#endif -+extern int utfstrlen(const char* str); -+#ifdef __cplusplus -+} -+#endif -+ -+#endif -+ diff --git a/textproc/libtextcat/pkg-descr b/textproc/libtextcat/pkg-descr deleted file mode 100644 index 13e67190d389..000000000000 --- a/textproc/libtextcat/pkg-descr +++ /dev/null @@ -1,15 +0,0 @@ -Libtextcat is a library with functions that implement the classification -technique described in Cavnar & Trenkle, "N-Gram-Based Text Categorization" [1]. -It was primarily developed for language guessing, a task on which it is known to -perform with near-perfect accuracy. - -The central idea of the Cavnar & Trenkle technique is to calculate a -"fingerprint" of a document with an unknown category, and compare this with the -fingerprints of a number of documents of which the categories are known. The -categories of the closest matches are output as the classification. A -fingerprint is a list of the most frequent n-grams occurring in a document, -ordered by frequency. Fingerprints are compared with a simple out-of-place -metric. - -[1] The document that started it all: William B. Cavnar & John M. Trenkle (1994) -N-Gram-Based Text Categorization, <http://citeseer.ist.psu.edu/68861.html>. diff --git a/textproc/libtextcat/pkg-plist b/textproc/libtextcat/pkg-plist deleted file mode 100644 index cc5cae4d37d2..000000000000 --- a/textproc/libtextcat/pkg-plist +++ /dev/null @@ -1,90 +0,0 @@ -bin/createfp -include/libtextcat/common.h -include/libtextcat/config.h -include/libtextcat/constants.h -include/libtextcat/fingerprint.h -include/libtextcat/textcat.h -include/libtextcat/utf8misc.h -include/libtextcat/wg_mempool.h -include/textcat.h -lib/libtextcat.a -lib/libtextcat.so -lib/libtextcat.so.0 -lib/libtextcat.so.0.0.0 -%%DATADIR%%/LM/afrikaans.lm -%%DATADIR%%/LM/albanian.lm -%%DATADIR%%/LM/amharic-utf.lm -%%DATADIR%%/LM/arabic-iso8859_6.lm -%%DATADIR%%/LM/arabic-windows1256.lm -%%DATADIR%%/LM/armenian.lm -%%DATADIR%%/LM/basque.lm -%%DATADIR%%/LM/belarus-windows1251.lm -%%DATADIR%%/LM/bosnian.lm -%%DATADIR%%/LM/breton.lm -%%DATADIR%%/LM/bulgarian-iso8859_5.lm -%%DATADIR%%/LM/catalan.lm -%%DATADIR%%/LM/chinese-big5.lm -%%DATADIR%%/LM/chinese-gb2312.lm -%%DATADIR%%/LM/croatian-ascii.lm -%%DATADIR%%/LM/czech-iso8859_2.lm -%%DATADIR%%/LM/danish.lm -%%DATADIR%%/LM/drents.lm -%%DATADIR%%/LM/dutch.lm -%%DATADIR%%/LM/english.lm -%%DATADIR%%/LM/esperanto.lm -%%DATADIR%%/LM/estonian.lm -%%DATADIR%%/LM/finnish.lm -%%DATADIR%%/LM/french.lm -%%DATADIR%%/LM/frisian.lm -%%DATADIR%%/LM/georgian.lm -%%DATADIR%%/LM/german.lm -%%DATADIR%%/LM/greek-iso8859-7.lm -%%DATADIR%%/LM/hebrew-iso8859_8.lm -%%DATADIR%%/LM/hindi.lm -%%DATADIR%%/LM/hungarian.lm -%%DATADIR%%/LM/icelandic.lm -%%DATADIR%%/LM/indonesian.lm -%%DATADIR%%/LM/irish.lm -%%DATADIR%%/LM/italian.lm -%%DATADIR%%/LM/japanese-euc_jp.lm -%%DATADIR%%/LM/japanese-shift_jis.lm -%%DATADIR%%/LM/korean.lm -%%DATADIR%%/LM/latin.lm -%%DATADIR%%/LM/latvian.lm -%%DATADIR%%/LM/lithuanian.lm -%%DATADIR%%/LM/malay.lm -%%DATADIR%%/LM/manx.lm -%%DATADIR%%/LM/marathi.lm -%%DATADIR%%/LM/middle_frisian.lm -%%DATADIR%%/LM/mingo.lm -%%DATADIR%%/LM/nepali.lm -%%DATADIR%%/LM/norwegian.lm -%%DATADIR%%/LM/persian.lm -%%DATADIR%%/LM/polish.lm -%%DATADIR%%/LM/portuguese.lm -%%DATADIR%%/LM/quechua.lm -%%DATADIR%%/LM/romanian.lm -%%DATADIR%%/LM/rumantsch.lm -%%DATADIR%%/LM/russian-iso8859_5.lm -%%DATADIR%%/LM/russian-koi8_r.lm -%%DATADIR%%/LM/russian-windows1251.lm -%%DATADIR%%/LM/sanskrit.lm -%%DATADIR%%/LM/scots.lm -%%DATADIR%%/LM/scots_gaelic.lm -%%DATADIR%%/LM/serbian-ascii.lm -%%DATADIR%%/LM/slovak-ascii.lm -%%DATADIR%%/LM/slovak-windows1250.lm -%%DATADIR%%/LM/slovenian-ascii.lm -%%DATADIR%%/LM/slovenian-iso8859_2.lm -%%DATADIR%%/LM/spanish.lm -%%DATADIR%%/LM/swahili.lm -%%DATADIR%%/LM/swedish.lm -%%DATADIR%%/LM/tagalog.lm -%%DATADIR%%/LM/tamil.lm -%%DATADIR%%/LM/thai.lm -%%DATADIR%%/LM/turkish.lm -%%DATADIR%%/LM/ukrainian-koi8_r.lm -%%DATADIR%%/LM/vietnamese.lm -%%DATADIR%%/LM/welsh.lm -%%DATADIR%%/LM/yiddish-utf.lm -%%DATADIR%%/conf.txt |
