[tracker/external-libstemmer] libstemmer: Move existing stagnant import to external dep
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/external-libstemmer] libstemmer: Move existing stagnant import to external dep
- Date: Thu, 25 Sep 2014 13:58:16 +0000 (UTC)
commit e5b85aa14029c1ddf735fb0bdccd5dcfe67fb92c
Author: Martyn Russell <martyn lanedo com>
Date: Tue Sep 16 20:45:09 2014 +0100
libstemmer: Move existing stagnant import to external dep
Instead of using imported code that's not changed in half a decade, let's use
the external maintained version packaged up.
configure.ac | 36 +-
src/Makefile.am | 4 -
src/libstemmer/Copyright | 12 -
src/libstemmer/Makefile.am | 49 --
src/libstemmer/api.c | 82 --
src/libstemmer/api.h | 40 -
src/libstemmer/header.h | 71 --
src/libstemmer/libstemmer.c | 114 ---
src/libstemmer/libstemmer.h | 93 ---
src/libstemmer/modules.h | 127 ---
src/libstemmer/stem_UTF_8_danish.c | 357 --------
src/libstemmer/stem_UTF_8_danish.h | 29 -
src/libstemmer/stem_UTF_8_dutch.c | 666 ---------------
src/libstemmer/stem_UTF_8_dutch.h | 29 -
src/libstemmer/stem_UTF_8_english.c | 1191 ---------------------------
src/libstemmer/stem_UTF_8_english.h | 29 -
src/libstemmer/stem_UTF_8_finnish.c | 821 -------------------
src/libstemmer/stem_UTF_8_finnish.h | 29 -
src/libstemmer/stem_UTF_8_french.c | 1309 ------------------------------
src/libstemmer/stem_UTF_8_french.h | 29 -
src/libstemmer/stem_UTF_8_german.c | 539 ------------
src/libstemmer/stem_UTF_8_german.h | 29 -
src/libstemmer/stem_UTF_8_hungarian.c | 1239 ----------------------------
src/libstemmer/stem_UTF_8_hungarian.h | 27 -
src/libstemmer/stem_UTF_8_italian.c | 1126 -------------------------
src/libstemmer/stem_UTF_8_italian.h | 29 -
src/libstemmer/stem_UTF_8_norwegian.c | 315 -------
src/libstemmer/stem_UTF_8_norwegian.h | 29 -
src/libstemmer/stem_UTF_8_porter.c | 807 ------------------
src/libstemmer/stem_UTF_8_porter.h | 29 -
src/libstemmer/stem_UTF_8_portuguese.c | 1068 ------------------------
src/libstemmer/stem_UTF_8_portuguese.h | 29 -
src/libstemmer/stem_UTF_8_russian.c | 722 ----------------
src/libstemmer/stem_UTF_8_russian.h | 29 -
src/libstemmer/stem_UTF_8_spanish.c | 1150 --------------------------
src/libstemmer/stem_UTF_8_spanish.h | 29 -
src/libstemmer/stem_UTF_8_swedish.c | 326 --------
src/libstemmer/stem_UTF_8_swedish.h | 29 -
src/libstemmer/utilities.c | 459 -----------
src/libtracker-common/Makefile.am | 4 -
src/libtracker-common/tracker-language.c | 36 +-
41 files changed, 61 insertions(+), 13106 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 5424473..c86901d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -790,6 +790,35 @@ else
fi
##################################################################
+# Check for libtracker-common, make sure libstemmer exists
+##################################################################
+
+AC_ARG_ENABLE([libstemmer],
+ AS_HELP_STRING([--enable-libstemmer],
+ [enable the stemming while indexing [[default=auto]]]),
+ [enable_libstemmer=$enableval],
+ [enable_libstemmer=auto])
+
+if test "x$enable_libstemmer" != "xno" ; then
+ AC_CHECK_LIB([stemmer], [sb_stemmer_new], [have_libstemmer=yes], [have_libstemmer=no])
+
+ if test "x$have_libstemmer" = "xyes"; then
+ AC_DEFINE(HAVE_LIBSTEMMER, [], [Define if we have libstemmer])
+ LIBTRACKER_COMMON_LIBS="$LIBTRACKER_COMMON_LIBS -lstemmer"
+ fi
+else
+ have_libstemmer="no (disabled)"
+fi
+
+if test "x$enable_libstemmer" = "xyes"; then
+ if test "x$have_libstemmer" != "xyes"; then
+ AC_MSG_ERROR([Couldn't find libstemmer.])
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_LIBSTEMMER, test "x$have_libstemmer" = "xyes")
+
+##################################################################
# Check for tracker-fts, allow disabling FTS support
##################################################################
@@ -799,10 +828,10 @@ AC_ARG_ENABLE([tracker-fts],
[enable_tracker_fts=$enableval],
[enable_tracker_fts=auto])
-if test "x$enable_tracker_fts" != "xno" ; then
- have_tracker_fts="yes"
-else
+if test "x$enable_tracker_fts" = "xno" ; then
have_tracker_fts="no (disabled)"
+else
+ have_tracker_fts="yes"
fi
if test "x$have_tracker_fts" = "xyes"; then
@@ -2708,6 +2737,7 @@ Feature Support:
Build with Journal support: $have_tracker_journal
Build with SQLite FTS support: $have_tracker_fts (built-in FTS: $have_builtin_fts4)
+ Build with Stemming support: $have_libstemmer
Cache media art $have_libmediaart (libmediaart)
Install artwork $have_artwork
diff --git a/src/Makefile.am b/src/Makefile.am
index ebe7314..ee76d8c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,8 +1,4 @@
if HAVE_TRACKER_FTS
-libstemmer_dir = libstemmer
-endif
-
-if HAVE_TRACKER_FTS
libtrackerfts_dir = libtracker-fts
endif
diff --git a/src/libtracker-common/Makefile.am b/src/libtracker-common/Makefile.am
index 9063482..fb7941d 100644
--- a/src/libtracker-common/Makefile.am
+++ b/src/libtracker-common/Makefile.am
@@ -72,10 +72,6 @@ libtracker_common_la_LIBADD = \
$(LIBTRACKER_COMMON_LIBS) \
-lm
-if HAVE_TRACKER_FTS
-libtracker_common_la_LIBADD += $(top_builddir)/src/libstemmer/libstemmer.la
-endif
-
tracker-enum-types.h: tracker-enum-types.h.template $(NOINST_H_FILES)
$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template tracker-enum-types.h.template
$(noinst_HEADERS)) > $@
diff --git a/src/libtracker-common/tracker-language.c b/src/libtracker-common/tracker-language.c
index f3d739c..73096b2 100644
--- a/src/libtracker-common/tracker-language.c
+++ b/src/libtracker-common/tracker-language.c
@@ -24,7 +24,9 @@
#include <glib.h>
-#include <libstemmer/libstemmer.h>
+#ifdef HAVE_LIBSTEMMER
+#include <libstemmer.h>
+#endif /* HAVE_LIBSTEMMER */
#include "tracker-log.h"
#include "tracker-language.h"
@@ -126,7 +128,10 @@ static void
tracker_language_init (TrackerLanguage *language)
{
TrackerLanguagePriv *priv;
- const gchar *stem_language;
+
+#ifdef HAVE_LIBSTEMMER
+ const gchar *stem_language;
+#endif /* HAVE_LIBSTEMMER */
priv = GET_PRIV (language);
@@ -134,10 +139,12 @@ tracker_language_init (TrackerLanguage *language)
g_str_equal,
g_free,
NULL);
+#ifdef HAVE_LIBSTEMMER
g_mutex_init (&priv->stemmer_mutex);
stem_language = tracker_language_get_name_by_code (NULL);
priv->stemmer = sb_stemmer_new (stem_language, NULL);
+#endif /* HAVE_LIBSTEMMER */
}
static void
@@ -147,12 +154,14 @@ language_finalize (GObject *object)
priv = GET_PRIV (object);
+#ifdef HAVE_LIBSTEMMER
if (priv->stemmer) {
g_mutex_lock (&priv->stemmer_mutex);
sb_stemmer_delete (priv->stemmer);
g_mutex_unlock (&priv->stemmer_mutex);
}
g_mutex_clear (&priv->stemmer_mutex);
+#endif /* HAVE_LIBSTEMMER */
if (priv->stop_words) {
g_hash_table_unref (priv->stop_words);
@@ -278,14 +287,15 @@ static void
language_set_stopword_list (TrackerLanguage *language,
const gchar *language_code)
{
+#ifdef HAVE_LIBSTEMMER
TrackerLanguagePriv *priv;
- gchar *stopword_filename;
- gchar *stem_language_lower;
- const gchar *stem_language;
+ gchar *stem_language_lower;
+ const gchar *stem_language;
+#endif /* HAVE_LIBSTEMMER */
- g_return_if_fail (TRACKER_IS_LANGUAGE (language));
+ gchar *stopword_filename;
- priv = GET_PRIV (language);
+ g_return_if_fail (TRACKER_IS_LANGUAGE (language));
/* Set up stopwords list */
/* g_message ("Setting up stopword list for language code:'%s'", language_code); */
@@ -300,6 +310,9 @@ language_set_stopword_list (TrackerLanguage *language,
g_free (stopword_filename);
}
+#ifdef HAVE_LIBSTEMMER
+ priv = GET_PRIV (language);
+
/* g_message ("Setting up stemmer for language code:'%s'", language_code); */
stem_language = tracker_language_get_name_by_code (language_code);
@@ -320,6 +333,7 @@ language_set_stopword_list (TrackerLanguage *language,
g_mutex_unlock (&priv->stemmer_mutex);
g_free (stem_language_lower);
+#endif /* HAVE_LIBSTEMMER */
}
/**
@@ -498,8 +512,10 @@ tracker_language_stem_word (TrackerLanguage *language,
const gchar *word,
gint word_length)
{
+#ifdef HAVE_LIBSTEMMER
TrackerLanguagePriv *priv;
- const gchar *stem_word;
+ const gchar *stem_word;
+#endif /* HAVE_LIBSTEMMER */
g_return_val_if_fail (TRACKER_IS_LANGUAGE (language), NULL);
@@ -507,6 +523,7 @@ tracker_language_stem_word (TrackerLanguage *language,
word_length = strlen (word);
}
+#ifdef HAVE_LIBSTEMMER
priv = GET_PRIV (language);
if (!priv->enable_stemmer) {
@@ -522,6 +539,9 @@ tracker_language_stem_word (TrackerLanguage *language,
g_mutex_unlock (&priv->stemmer_mutex);
return g_strdup (stem_word);
+#else /* HAVE_LIBSTEMMER */
+ return g_strndup (word, word_length);
+#endif /* HAVE_LIBSTEMMER */
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]