diff --git a/textproc/Makefile b/textproc/Makefile index 5463afb6a7ed..61f0c6e47ee2 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -302,6 +302,7 @@ SUBDIR += openvanilla-modules SUBDIR += or-aspell SUBDIR += p5-AI-Categorizer + SUBDIR += p5-Algorithm-RabinKarp SUBDIR += p5-Apache-ParseLog SUBDIR += p5-Apache-XBEL SUBDIR += p5-Bloom-Filter diff --git a/textproc/p5-Algorithm-RabinKarp/Makefile b/textproc/p5-Algorithm-RabinKarp/Makefile new file mode 100644 index 000000000000..fab4c8d38ceb --- /dev/null +++ b/textproc/p5-Algorithm-RabinKarp/Makefile @@ -0,0 +1,28 @@ +# New ports collection makefile for: p5-Algorithm-RabinKarp +# Date created: 24 May 2006 +# Whom: Aaron Dalton +# +# $FreeBSD$ +# + +PORTNAME= Algorithm-RabinKarp +PORTVERSION= 0.36 +CATEGORIES= textproc perl5 +MASTER_SITES= ${MASTER_SITE_PERL_CPAN} +MASTER_SITE_SUBDIR= Algorithm +PKGNAMEPREFIX= p5- + +MAINTAINER= aaron@FreeBSD.org +COMMENT= Rabin-Karp streaming hash + +MAN3= Algorithm::RabinKarp.3 + +PERL_CONFIGURE= yes + +.include + +.if ${PERL_LEVEL} < 500600 +IGNORE= requres at least Perl 5.6. Please install lang/perl5.8 and try again +.endif + +.include diff --git a/textproc/p5-Algorithm-RabinKarp/distinfo b/textproc/p5-Algorithm-RabinKarp/distinfo new file mode 100644 index 000000000000..5aa3a07912e4 --- /dev/null +++ b/textproc/p5-Algorithm-RabinKarp/distinfo @@ -0,0 +1,3 @@ +MD5 (Algorithm-RabinKarp-0.36.tar.gz) = 24c57956e79634347bf32cdd1897d50f +SHA256 (Algorithm-RabinKarp-0.36.tar.gz) = 8f602cb66c02c09d075f845e2893be1c23ea048057c8f3c71dbf680102ee8d42 +SIZE (Algorithm-RabinKarp-0.36.tar.gz) = 4255 diff --git a/textproc/p5-Algorithm-RabinKarp/pkg-descr b/textproc/p5-Algorithm-RabinKarp/pkg-descr new file mode 100644 index 000000000000..40d892395f70 --- /dev/null +++ b/textproc/p5-Algorithm-RabinKarp/pkg-descr @@ -0,0 +1,18 @@ +This is an implementation of Rabin and Karp's streaming hash, as described +in "Winnowing: Local Algorithms for Document Fingerprinting" by Schleimer, +Wilkerson, and Aiken. Following the suggestion of Schleimer, I am using +their second equation: + + $H[ $c[2..$k + 1] ] = (( $H[ $c[1..$k] ] - $c[1] ** $k ) + $c[$k+1] ) * $k + +The results of this hash encodes information about the next k values in +the stream (hense k-gram.) This means for any given stream of length n +integer values (or characters), you will get back n - k + 1 hash values. + +For best results, you will want to create a code generator that filters +your data to remove all unnecessary information. For example, in a large +english document, you should probably remove all white space, as well as +removing all capitalization. + +WWW: http://search.cpan.org/dist/Algorithm-RabinKarp +Author: Norman Nunley diff --git a/textproc/p5-Algorithm-RabinKarp/pkg-plist b/textproc/p5-Algorithm-RabinKarp/pkg-plist new file mode 100644 index 000000000000..8cc099bcea14 --- /dev/null +++ b/textproc/p5-Algorithm-RabinKarp/pkg-plist @@ -0,0 +1,5 @@ +%%SITE_PERL%%/Algorithm/RabinKarp.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/RabinKarp/.packlist +@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/RabinKarp +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm +@dirrmtry %%SITE_PERL%%/Algorithm