diff options
-rw-r--r-- | www/swish++/Makefile | 24 | ||||
-rw-r--r-- | www/swish++/files/patch-classic_formatter.c | 27 | ||||
-rw-r--r-- | www/swish++/files/patch-config::config.mk | 2 | ||||
-rw-r--r-- | www/swish++/files/patch-index.c | 38 | ||||
-rw-r--r-- | www/swish++/files/patch-my_set.h | 11 | ||||
-rw-r--r-- | www/swish++/files/patch-search.c | 18 | ||||
-rw-r--r-- | www/swish++/files/patch-stem_word.c | 51 | ||||
-rw-r--r-- | www/swish++/files/patch-xml_formatter.c | 28 | ||||
-rw-r--r-- | www/swish++/pkg-plist | 10 |
9 files changed, 195 insertions, 14 deletions
diff --git a/www/swish++/Makefile b/www/swish++/Makefile index cfddacd299fa..09380c228381 100644 --- a/www/swish++/Makefile +++ b/www/swish++/Makefile @@ -12,27 +12,25 @@ COMMENT= Simple Web Indexing System for Humans: C++ version RUN_DEPENDS= wget:${PORTSDIR}/ftp/wget -USES= perl5 -USE_GMAKE= yes +USES= gmake perl5 MAKEFILE= GNUmakefile -MAKE_ENV= PERL=${PERL} PERL_VER=${PERL_VERSION} +MAKE_ENV= PERL="${PERL}" PERL_VER="${PERL_VER}" -MAN1= extract.1 httpindex.1 index.1 search.1 splitmail.1 -MAN3= WWW.3 -MAN4= swish++.conf.4 swish++.index.4 -MAN8= searchd.8 searchmonitor.8 - -NO_STAGE= yes post-patch: @${REINPLACE_CMD} -e '/^#error/d' ${WRKSRC}/config.h -.for file in scripts/searchd scripts/searchmonitor - @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX},g" ${WRKSRC}/${file}.in +.for i in scripts/searchd scripts/searchmonitor + @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/${i}.in .endfor +do-configure: + @(cd ${WRKSRC}/config && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ + ${MAKE_FLAGS} ${MAKEFILE}) + pre-install: - @${MKDIR} ${SITE_PERL} + @${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL} post-install: - ${INSTALL_SCRIPT} ${FILESDIR}/swish++.sh ${PREFIX}/etc/rc.d/swish++.sh.sample + (cd ${FILESDIR} && ${INSTALL_SCRIPT} swish++.sh \ + ${STAGEDIR}${PREFIX}/etc/rc.d/swish++.sh.sample) .include <bsd.port.mk> diff --git a/www/swish++/files/patch-classic_formatter.c b/www/swish++/files/patch-classic_formatter.c new file mode 100644 index 000000000000..4c217942e4b3 --- /dev/null +++ b/www/swish++/files/patch-classic_formatter.c @@ -0,0 +1,27 @@ +--- classic_formatter.c.orig ++++ classic_formatter.c +@@ -79,7 +79,7 @@ + // + // SYNOPSIS + // +- void classic_formatter::result( int rank, file_info const &fi ) const ++ void classic_formatter::result( int my_rank, file_info const &fi ) const + // + // DESCRIPTION + // +@@ -88,13 +88,13 @@ + // + // PARAMETERS + // +-// rank The rank (1-100) of the result. ++// my_rank The rank (1-100) of the result. + // + // fi The search result's file information. + // + //***************************************************************************** + { +- out_ << rank << result_separator ++ out_ << my_rank << result_separator + << directories[ fi.dir_index() ] << '/' << fi.file_name() + << result_separator << fi.size() + << result_separator << fi.title() << '\n'; diff --git a/www/swish++/files/patch-config::config.mk b/www/swish++/files/patch-config::config.mk index 54aa2f54cdf6..ff2582bad417 100644 --- a/www/swish++/files/patch-config::config.mk +++ b/www/swish++/files/patch-config::config.mk @@ -42,7 +42,7 @@ # Install command; usually "$(ROOT)/install-sh". -I_ROOT:= /usr/local -+I_ROOT:= ${PREFIX} ++I_ROOT:= ${DESTDIR}${PREFIX} # The top-level directory of where SWISH++ will be installed. I_BIN:= $(I_ROOT)/bin diff --git a/www/swish++/files/patch-index.c b/www/swish++/files/patch-index.c new file mode 100644 index 000000000000..455cd5e97415 --- /dev/null +++ b/www/swish++/files/patch-index.c @@ -0,0 +1,38 @@ +--- index.c.orig ++++ index.c +@@ -673,7 +673,7 @@ + // + // SYNOPSIS + // +- inline int rank( int file_index, int occurences_in_file, double factor ) ++ inline int my_rank( int file_index, int occurences_in_file, double factor ) + // + // DESCRIPTION + // +@@ -883,7 +883,7 @@ + continues = true; + o << enc_int( file->index_ ) + << enc_int( file->occurrences_ ) +- << enc_int( rank(file->index_, file->occurrences_, factor) ); ++ << enc_int( my_rank(file->index_, file->occurrences_, factor) ); + if ( !file->meta_ids_.empty() ) + file->write_meta_ids( o ); + #ifdef FEATURE_word_pos +@@ -930,7 +930,7 @@ + continues = true; + o << enc_int( file->index_ ) + << enc_int( file->occurrences_ ) +- << enc_int( rank(file->index_, file->occurrences_, factor) ); ++ << enc_int( my_rank(file->index_, file->occurrences_, factor) ); + if ( !file->meta_ids_.empty() ) + file->write_meta_ids( o ); + #ifdef FEATURE_word_pos +@@ -995,7 +995,7 @@ + // + double const factor = (double)Rank_Factor / info.occurrences_; + TRANSFORM_EACH( word_info::file_list, info.files_, file ) +- file->rank_ = rank( file->index_, file->occurrences_, factor ); ++ file->rank_ = my_rank( file->index_, file->occurrences_, factor ); + } + + if ( verbosity > 1 ) diff --git a/www/swish++/files/patch-my_set.h b/www/swish++/files/patch-my_set.h new file mode 100644 index 000000000000..bb20165b098a --- /dev/null +++ b/www/swish++/files/patch-my_set.h @@ -0,0 +1,11 @@ +--- my_set.h.orig ++++ my_set.h +@@ -47,7 +47,7 @@ + //***************************************************************************** + { + public: +- bool contains( T const &s ) const { return find( s ) != this->end(); } ++ bool contains( T const &s ) const { return this->find( s ) != this->end(); } + }; + + //***************************************************************************** diff --git a/www/swish++/files/patch-search.c b/www/swish++/files/patch-search.c new file mode 100644 index 000000000000..53aaff3f0943 --- /dev/null +++ b/www/swish++/files/patch-search.c @@ -0,0 +1,18 @@ +--- search.c.orig ++++ search.c +@@ -520,11 +520,11 @@ + r != sorted.end() && max_results-- > 0 && out; ++r + ) { + // cast gets rid of warning +- int rank = static_cast<int>( r->second * normalize ); +- if ( !rank ) +- rank = 1; ++ int my_rank = static_cast<int>( r->second * normalize ); ++ if ( !my_rank ) ++ my_rank = 1; + format->result( +- rank, ++ my_rank, + file_info( + reinterpret_cast<unsigned char const*>( files[ r->first ] ) + ) diff --git a/www/swish++/files/patch-stem_word.c b/www/swish++/files/patch-stem_word.c new file mode 100644 index 000000000000..4d4fa9286a86 --- /dev/null +++ b/www/swish++/files/patch-stem_word.c @@ -0,0 +1,51 @@ +--- stem_word.c.orig ++++ stem_word.c +@@ -48,7 +48,7 @@ + bool (*condition)( char const *word ); + }; + +-static char *end; // iterator at end of word being stemmed ++static char *my_end; // iterator at end of word being stemmed + // Acess to this global variable is protected by the cache_lock mutex in + // stem_word(). + +@@ -112,10 +112,10 @@ + // + //***************************************************************************** + { +- if ( end - word < 3 ) ++ if ( my_end - word < 3 ) + return false; + +- register char const *c = end; ++ register char const *c = my_end; + return !(is_vowel( *--c ) || *c == 'w' || *c == 'x' || *c == 'y' ) && + (is_vowel( *--c ) || *c == 'y') && !is_vowel( *--c ); + } +@@ -206,7 +206,7 @@ + # endif + + for ( ; rule->id; ++rule ) { +- register char *const suffix = end - rule->old_suffix_len; ++ register char *const suffix = my_end - rule->old_suffix_len; + if ( suffix < word ) + continue; + +@@ -226,7 +226,7 @@ + # ifdef DEBUG_stem_word + cerr << "---> replaced word=" << word << "\n"; + # endif +- end = suffix + rule->new_suffix_len; ++ my_end = suffix + rule->new_suffix_len; + break; + } + *suffix = ch; // no match: put back +@@ -397,7 +397,7 @@ + + char word_buf[ Word_Hard_Max_Size ]; + ::strcpy( word_buf, word ); +- end = word_buf + len; ++ my_end = word_buf + len; + + replace_suffix( word_buf, rules_1a ); + int const rule = replace_suffix( word_buf, rules_1b ); diff --git a/www/swish++/files/patch-xml_formatter.c b/www/swish++/files/patch-xml_formatter.c new file mode 100644 index 000000000000..3ce7e03829d6 --- /dev/null +++ b/www/swish++/files/patch-xml_formatter.c @@ -0,0 +1,28 @@ +--- xml_formatter.c.orig ++++ xml_formatter.c +@@ -144,7 +144,7 @@ + // + // SYNOPSIS + // +- void xml_formatter::result( int rank, file_info const &fi ) const ++ void xml_formatter::result( int my_rank, file_info const &fi ) const + // + // DESCRIPTION + // +@@ -153,14 +153,14 @@ + // + // PARAMETERS + // +-// rank The rank (1-100) of the result. ++// my_rank The rank (1-100) of the result. + // + // fi The search result's file information. + // + //***************************************************************************** + { + out_ << " <File>\n" +- " <Rank>" << rank << "</Rank>\n" ++ " <Rank>" << my_rank << "</Rank>\n" + " <Path>" + << directories[ fi.dir_index() ] << '/' << fi.file_name() + << "</Path>\n" diff --git a/www/swish++/pkg-plist b/www/swish++/pkg-plist index ff93cf2ecec4..371a789ac1c8 100644 --- a/www/swish++/pkg-plist +++ b/www/swish++/pkg-plist @@ -9,3 +9,13 @@ bin/splitmail etc/rc.d/swish++.sh.sample etc/swish++.conf %%SITE_PERL%%/WWW.pm +man/man1/extract.1.gz +man/man1/httpindex.1.gz +man/man1/index.1.gz +man/man1/search.1.gz +man/man1/splitmail.1.gz +man/man3/WWW.3.gz +man/man4/swish++.conf.4.gz +man/man4/swish++.index.4.gz +man/man8/searchd.8.gz +man/man8/searchmonitor.8.gz |