summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2014-03-05 13:44:23 +0000
committerfhajny <fhajny@pkgsrc.org>2014-03-05 13:44:23 +0000
commit22050f9c28baf76df57633b6145c26de0763b961 (patch)
tree4e4ec6cf98326e732369284f15edb03c9a2d928a /textproc
parentbabe07b7a6c12462e3febf006d7b3b51a879a357 (diff)
downloadpkgsrc-22050f9c28baf76df57633b6145c26de0763b961.tar.gz
Import sphinxsearch-2.1.6 based on wip/sphinxsearch.
Sphinx is an open source full text search server, designed from the ground up with performance, relevance (aka search quality), and integration simplicity in mind. Sphinx lets you either batch index and search data stored in an SQL database, NoSQL storage, or just files quickly and easily - or index and search data on the fly, working with Sphinx pretty much as with a database server.
Diffstat (limited to 'textproc')
-rw-r--r--textproc/sphinxsearch/DESCR6
-rw-r--r--textproc/sphinxsearch/Makefile72
-rw-r--r--textproc/sphinxsearch/PLIST17
-rw-r--r--textproc/sphinxsearch/buildlink3.mk13
-rw-r--r--textproc/sphinxsearch/distinfo8
-rw-r--r--textproc/sphinxsearch/options.mk23
-rw-r--r--textproc/sphinxsearch/patches/patch-Makefile.in90
-rw-r--r--textproc/sphinxsearch/patches/patch-src_searchd.cpp15
-rw-r--r--textproc/sphinxsearch/patches/patch-src_sphinxstd.h20
9 files changed, 264 insertions, 0 deletions
diff --git a/textproc/sphinxsearch/DESCR b/textproc/sphinxsearch/DESCR
new file mode 100644
index 00000000000..a94d17c38fa
--- /dev/null
+++ b/textproc/sphinxsearch/DESCR
@@ -0,0 +1,6 @@
+Sphinx is an open source full text search server, designed from the ground up
+with performance, relevance (aka search quality), and integration simplicity
+in mind. Sphinx lets you either batch index and search data stored in an SQL
+database, NoSQL storage, or just files quickly and easily - or index and
+search data on the fly, working with Sphinx pretty much as with a database
+server.
diff --git a/textproc/sphinxsearch/Makefile b/textproc/sphinxsearch/Makefile
new file mode 100644
index 00000000000..e84e381544d
--- /dev/null
+++ b/textproc/sphinxsearch/Makefile
@@ -0,0 +1,72 @@
+# $NetBSD: Makefile,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+#
+
+DISTNAME= sphinx-2.1.6-release
+PKGNAME= ${DISTNAME:S/-/search-/:S/-release//}
+CATEGORIES= textproc
+MASTER_SITES= http://sphinxsearch.com/files/
+
+MAINTAINER= filip@joyent.com
+HOMEPAGE= http://www.sphinxsearch.com/
+COMMENT= Sphinx Full-Text Search Engine
+LICENSE= gnu-gpl-v2
+
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++
+USE_LIBTOOL= yes
+
+BUILD_DEFS+= VARBASE
+
+.include "../../mk/bsd.prefs.mk"
+
+SPHINX_USER?= sphinx
+SPHINX_GROUP?= sphinx
+SPHINX_DIR?= ${VARBASE}/db/sphinx
+SPHINX_RUN?= ${VARBASE}/spool/sphinx
+SPHINX_LOG?= ${VARBASE}/log/sphinx
+
+.include "options.mk"
+
+EGDIR= ${PREFIX}/share/examples/sphinx
+CONF_FILES+= ${EGDIR}/sphinx-min.conf ${PKG_SYSCONFDIR}/sphinx.conf
+
+INSTALLATION_DIRS= bin sbin ${EGDIR}
+OWN_DIRS+= ${SPHINX_DIR} ${SPHINX_RUN} ${SPHINX_LOG}
+OWN_DIRS_PERMS+= ${SPHINX_DIR} ${SPHINX_USER} ${SPHINX_GROUP} 0770
+OWN_DIRS_PERMS+= ${SPHINX_RUN} ${SPHINX_USER} ${SPHINX_GROUP} 0770
+OWN_DIRS_PERMS+= ${SPHINX_LOG} ${SPHINX_USER} ${SPHINX_GROUP} 0770
+
+PKG_GROUPS+= ${SPHINX_GROUP}
+PKG_USERS+= ${SPHINX_USER}:${SPHINX_GROUP}
+
+SUBST_CLASSES+= paths
+SUBST_MESSAGE.paths= Setting standard paths
+SUBST_STAGE.paths= pre-configure
+SUBST_FILES.paths= sphinx.conf.in sphinx-min.conf.in Makefile.in src/searchd.cpp
+SUBST_FILES.paths+= src/Makefile.in
+SUBST_SED.paths+= -e 's,@CONFDIR@/log/searchd.pid,${SPHINX_RUN}/searchd.pid,g'
+SUBST_SED.paths+= -e 's,@CONFDIR@/log/query.log,${SPHINX_LOG}/query.log,g'
+SUBST_SED.paths+= -e 's,@CONFDIR@/log/searchd.log,${SPHINX_LOG}/searchd.log,g'
+SUBST_SED.paths+= -e 's,@CONFDIR@,${SPHINX_DIR},g'
+SUBST_SED.paths+= -e 's,@localstatedir@,${SPHINX_DIR},g'
+SUBST_SED.paths+= -e 's,@egdir@,${EGDIR},g'
+SUBST_SED.paths+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},g'
+
+MAKE_JOBS_SAFE= no
+
+CONFIGURE_DIRS= .
+CONFIGURE_DIRS+= api/libsphinxclient
+
+CONFIGURE_ARGS+= --with-libexpat
+CONFIGURE_ARGS+= --with-iconv
+
+LIBS.SunOS+= -liconv -lsocket -lnsl
+
+post-install:
+ ${MV} ${DESTDIR}${EGDIR}/sphinx.conf.dist ${DESTDIR}${EGDIR}/sphinx-full.conf
+ ${MV} ${DESTDIR}${EGDIR}/sphinx-min.conf.dist ${DESTDIR}${EGDIR}/sphinx-min.conf
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/textproc/sphinxsearch/PLIST b/textproc/sphinxsearch/PLIST
new file mode 100644
index 00000000000..72dd28654d8
--- /dev/null
+++ b/textproc/sphinxsearch/PLIST
@@ -0,0 +1,17 @@
+@comment $NetBSD: PLIST,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+bin/indexer
+bin/indextool
+bin/search
+bin/searchd
+bin/spelldump
+bin/wordbreaker
+include/sphinxclient.h
+lib/libsphinxclient.la
+man/man1/indexer.1
+man/man1/indextool.1
+man/man1/search.1
+man/man1/searchd.1
+man/man1/spelldump.1
+share/examples/sphinx/example.sql
+share/examples/sphinx/sphinx-full.conf
+share/examples/sphinx/sphinx-min.conf
diff --git a/textproc/sphinxsearch/buildlink3.mk b/textproc/sphinxsearch/buildlink3.mk
new file mode 100644
index 00000000000..ebb1e6fd2a1
--- /dev/null
+++ b/textproc/sphinxsearch/buildlink3.mk
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+BUILDLINK_TREE+= sphinxsearch
+
+.if !defined(SPHINXSEARCH_BUILDLINK3_MK)
+SPHINXSEARCH_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.sphinxsearch+= sphinxsearch>=2.1.0
+BUILDLINK_PKGSRCDIR.sphinxsearch?= ../../textproc/sphinxsearch
+
+.endif # SPHINXSEARCH_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -sphinxsearch
diff --git a/textproc/sphinxsearch/distinfo b/textproc/sphinxsearch/distinfo
new file mode 100644
index 00000000000..319fa228d12
--- /dev/null
+++ b/textproc/sphinxsearch/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+SHA1 (sphinx-2.1.6-release.tar.gz) = fe4dfc605afe8f58d9e25fd0c58dfed1673ec4b1
+RMD160 (sphinx-2.1.6-release.tar.gz) = 13fc7c061fddd7917f08ca8409214d4a53a28acf
+Size (sphinx-2.1.6-release.tar.gz) = 2429835 bytes
+SHA1 (patch-Makefile.in) = cde29f401b40e191ef957078fe0a845909fc96ab
+SHA1 (patch-src_searchd.cpp) = 7f5aea11d4ebe9f293f4d6346811bc3e821620f9
+SHA1 (patch-src_sphinxstd.h) = f35839cee4dd14458ad0c00c60a1d9b4f601e9d6
diff --git a/textproc/sphinxsearch/options.mk b/textproc/sphinxsearch/options.mk
new file mode 100644
index 00000000000..87fba259629
--- /dev/null
+++ b/textproc/sphinxsearch/options.mk
@@ -0,0 +1,23 @@
+# $NetBSD: options.mk,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.sphinx-search
+PKG_OPTIONS_NONEMPTY_SETS= db
+PKG_OPTIONS_SET.db= mysql pgsql
+PKG_SUPPORTED_OPTIONS= #
+PKG_SUGGESTED_OPTIONS= mysql
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mmysql)
+CONFIGURE_ARGS+= --with-mysql
+. include "../../mk/mysql.buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+CONFIGURE_ARGS+= --with-pgsql
+. include "../../mk/pgsql.buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-pgsql
+.endif
diff --git a/textproc/sphinxsearch/patches/patch-Makefile.in b/textproc/sphinxsearch/patches/patch-Makefile.in
new file mode 100644
index 00000000000..0db0958ba14
--- /dev/null
+++ b/textproc/sphinxsearch/patches/patch-Makefile.in
@@ -0,0 +1,90 @@
+$NetBSD: patch-Makefile.in,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+Force pkgsrc compatible locations.
+
+--- Makefile.in.orig 2013-11-11 19:18:55.000000000 +0000
++++ Makefile.in
+@@ -79,7 +79,7 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(sysconfdir)"
++am__installdirs = "$(DESTDIR)$(egdir)"
+ DATA = $(sysconf_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+@@ -225,6 +225,7 @@ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
++egdir = @egdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+@@ -296,24 +297,24 @@ sphinx-min.conf.dist: $(top_builddir)/co
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+ install-sysconfDATA: $(sysconf_DATA)
+ @$(NORMAL_INSTALL)
+- test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
++ test -z "$(egdir)" || $(MKDIR_P) "$(DESTDIR)$(egdir)"
+ @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \
+- $(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(egdir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(egdir)" || exit $$?; \
+ done
+
+ uninstall-sysconfDATA:
+ @$(NORMAL_UNINSTALL)
+- @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
++ @list='$(sysconf_DATA)'; test -n "$(egdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+- echo " ( cd '$(DESTDIR)$(sysconfdir)' && rm -f" $$files ")"; \
+- cd "$(DESTDIR)$(sysconfdir)" && rm -f $$files
++ echo " ( cd '$(DESTDIR)$(egdir)' && rm -f" $$files ")"; \
++ cd "$(DESTDIR)$(egdir)" && rm -f $$files
+
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run `make' without going through this Makefile.
+@@ -630,7 +631,7 @@ check: check-recursive
+ all-am: Makefile $(DATA)
+ installdirs: installdirs-recursive
+ installdirs-am:
+- for dir in "$(DESTDIR)$(sysconfdir)"; do \
++ for dir in "$(DESTDIR)$(egdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-recursive
+@@ -681,7 +682,6 @@ info-am:
+
+ install-data-am:
+ @$(NORMAL_INSTALL)
+- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+ install-dvi: install-dvi-recursive
+
+ install-dvi-am:
+@@ -738,7 +738,7 @@ uninstall-am: uninstall-sysconfDATA
+ distclean distclean-generic distclean-hdr distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+- install-data-am install-data-hook install-dvi install-dvi-am \
++ install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+@@ -748,9 +748,6 @@ uninstall-am: uninstall-sysconfDATA
+ tags-recursive uninstall uninstall-am uninstall-sysconfDATA
+
+
+-install-data-hook:
+- mkdir -p $(DESTDIR)$(localstatedir)/data && mkdir -p $(DESTDIR)$(localstatedir)/log
+-
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/textproc/sphinxsearch/patches/patch-src_searchd.cpp b/textproc/sphinxsearch/patches/patch-src_searchd.cpp
new file mode 100644
index 00000000000..390e61abf29
--- /dev/null
+++ b/textproc/sphinxsearch/patches/patch-src_searchd.cpp
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_searchd.cpp,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+Avoid hard-coded paths.
+
+--- src/searchd.cpp.orig 2014-02-19 19:13:38.000000000 +0000
++++ src/searchd.cpp
+@@ -19128,7 +19128,7 @@ void ShowHelp ()
+ "--safetrace\t\tonly use system backtrace() call in crash reports\n"
+ "\n"
+ "Examples:\n"
+- "searchd --config /usr/local/sphinx/etc/sphinx.conf\n"
++ "searchd --config @PKG_SYSCONFDIR@/sphinx.conf\n"
+ #if USE_WINDOWS
+ "searchd --install --config c:\\sphinx\\sphinx.conf\n"
+ #endif
diff --git a/textproc/sphinxsearch/patches/patch-src_sphinxstd.h b/textproc/sphinxsearch/patches/patch-src_sphinxstd.h
new file mode 100644
index 00000000000..0d97e1e84cc
--- /dev/null
+++ b/textproc/sphinxsearch/patches/patch-src_sphinxstd.h
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_sphinxstd.h,v 1.1 2014/03/05 13:44:23 fhajny Exp $
+
+Portability fixes.
+
+--- src/sphinxstd.h.orig 2014-01-22 15:16:21.000000000 +0000
++++ src/sphinxstd.h
+@@ -75,6 +75,13 @@ typedef int __declspec("SAL_nokernel") _
+ #endif
+ #endif
+
++#ifdef __NetBSD__
++#define pthread_mutexattr_setpshared(m,a) (0)
++#define pthread_condattr_setpshared(m,a) (0)
++#include "sys/signal.h"
++#define PTHREAD_STACK_MIN MINSIGSTKSZ
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // COMPILE-TIME CHECKS
+ /////////////////////////////////////////////////////////////////////////////