aboutsummaryrefslogtreecommitdiff
path: root/www/swish++
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2013-12-19 13:22:16 +0000
committerPawel Pekala <pawel@FreeBSD.org>2013-12-19 13:22:16 +0000
commitf823078f011de1a169030bf572d6518cc5f87e8e (patch)
treeb30f82684f13d7368fffe3cb04a3bb066b53e95c /www/swish++
parentb4793eccaf5325955f957d31b62d33f8eab62351 (diff)
downloadports-f823078f011de1a169030bf572d6518cc5f87e8e.tar.gz
ports-f823078f011de1a169030bf572d6518cc5f87e8e.zip
Notes
Diffstat (limited to 'www/swish++')
-rw-r--r--www/swish++/Makefile24
-rw-r--r--www/swish++/files/patch-classic_formatter.c27
-rw-r--r--www/swish++/files/patch-config::config.mk2
-rw-r--r--www/swish++/files/patch-index.c38
-rw-r--r--www/swish++/files/patch-my_set.h11
-rw-r--r--www/swish++/files/patch-search.c18
-rw-r--r--www/swish++/files/patch-stem_word.c51
-rw-r--r--www/swish++/files/patch-xml_formatter.c28
-rw-r--r--www/swish++/pkg-plist10
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