Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2013 23:17:15 GMT
From:      Devil <devzone.my@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/180219: update sphinxsearch-devel 2.0.1b to 2.1.1b
Message-ID:  <201307022317.r62NHFEs064883@oldred.freebsd.org>
Resent-Message-ID: <201307022320.r62NK0OI039660@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         180219
>Category:       ports
>Synopsis:       update sphinxsearch-devel 2.0.1b to 2.1.1b
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 02 23:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Devil
>Release:        FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
FreeBSD 10.0-CURRENT amd64
>Description:
Update sphinxsearch-devel to new version 2.1.1b
http://sphinxsearch.com/downloads/beta/

Patch attached
>How-To-Repeat:
Very long time not updated
>Fix:
Patch update version

Patch attached with submission follows:

diff -urBNs /usr/ports/textproc/sphinxsearch-devel/Makefile /usr/ports/textproc/sphinxsearch-devel/Makefile
--- /usr/ports/textproc/sphinxsearch-devel/Makefile	2013-04-27 21:25:24.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/Makefile	2013-07-03 02:05:02.000000000 +0300
@@ -1,39 +1,46 @@
-# Created by: Daniel Gerzo <danger@FreeBSD.org>
-# $FreeBSD: textproc/sphinxsearch-devel/Makefile 316683 2013-04-27 18:25:24Z mva $
+# Created by: Matthew Seaman
+# $FreeBSD: textproc/sphinxsearch-devel/Makefile 316786 2013-04-29 08:57:12Z bapt $
+
+# Note: the Sphinx Storage Engine MySQL plugin is not supported by
+# this port.  You need a patched version of mysql server for that.
+# See http://www.infracaninophile.co.uk/articles/sphinxse.html
 
 PORTNAME=	sphinxsearch
-PORTVERSION=	2.0.1b
-PORTREVISION=	2
-PORTEPOCH=	1
+PORTVERSION=	2.1.1
 CATEGORIES=	textproc databases
 MASTER_SITES=	http://sphinxsearch.com/files/
 PKGNAMESUFFIX?=	-devel
-DISTNAME=	sphinx-2.0.1-beta
-
-PATCH_DIST_STRIP=-p1
+DISTNAME=	sphinx-${PORTVERSION}-beta
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
-MAINTAINER=	danger@FreeBSD.org
+MAINTAINER=	matthew@FreeBSD.org
 COMMENT=	Sphinx Full-Text Search Engine
 
 LICENSE=	GPLv2
 
 LATEST_LINK=	sphinxsearch-devel
 
-CONFLICTS=	sphinxsearch-[0-9]* \
-		dpsearch-[0-9]* \
-		rdb-[0-9]* \
-		swish++-[0-9]* \
-		xaira-[0-9]*
-
 # If expat is present on the system and configure finds it, it will
 # unconditionally link the output binary against it.  There's no way
-# of turning this off. So for consistency, make sure it's always on.
-LIB_DEPENDS=	expat.6:${PORTSDIR}/textproc/expat2
+# of turning this off.  So for consistency, make sure it's always on.
+LIB_DEPENDS=	expat:${PORTSDIR}/textproc/expat2
+
+OPTIONS_DEFINE=	ICONV ID64 LIBSTEMMER MYSQL OPTIMIZED_CFLAGS PGSQL \
+		SYSLOG UNIXODBC
+
+#ICONV_DESC=		Iconv support
+ID64_DESC=		use 64-bit document and word IDs
+LIBSTEMMER_DESC=	compile with libstemmer support
+#MYSQL_DESC=		MySQL support
+#OPTIMIZED_CFLAGS_DESC=	Use compiler optimization (-O3)
+#PGSQL_DESC=		PostgreSQL support
+SYSLOG_DESC=		enable logging via syslog
+UNIXODBC_DESC=		unixODBC support
+
+OPTIONS_DEFAULT=	ICONV MYSQL SYSLOG
 
-OPTIONS_DEFINE=	MYSQL PGSQL ICONV OPTIMIZED_CFLAGS ID64 UNIXODBC \
-		DOCS EXAMPLES
-ID64_DESC=	64-bit document and word IDs
-OPTIONS_DEFAULT=	MYSQL ICONV
+CONFLICTS=	sphinxsearch-devel-[0-9]* dpsearch-[0-9]* rdb-[0-9]* \
+		swish++-[0-9]* xaira-[0-9]*
 
 .include <bsd.port.options.mk>
 
@@ -41,42 +48,79 @@
 # simultaneously.  Not sure how useful that is in practice though.
 
 .if ${PORT_OPTIONS:MMYSQL}
-CONFIGURE_ARGS+=	--with-mysql
+CONFIGURE_ARGS+=	--with-mysql \
+			--with-mysql-includes=${LOCALBASE}/include/mysql \
+			--with-mysql-libs=${LOCALBASE}/lib/mysql
 USE_MYSQL=		yes
 .else
 CONFIGURE_ARGS+=	--without-mysql
 .endif
 
 .if ${PORT_OPTIONS:MPGSQL}
-CONFIGURE_ARGS+=	--with-pgsql
+CONFIGURE_ARGS+=	--with-pgsql \
+			--with-pgsql-includes=${LOCALBASE}/include \
+			--with-pgsql-libs=${LOCALBASE}/lib
 USE_PGSQL=		yes
 .else
 CONFIGURE_ARGS+=	--without-pgsql
 .endif
 
 .if ${PORT_OPTIONS:MICONV}
-CONFIGURE_ARGS+=        --with-iconv
-USES+=              	iconv
+CONFIGURE_ARGS+=	--with-iconv
+USES+=			iconv
 .else
-CONFIGURE_ARGS+=        --without-iconv
+CONFIGURE_ARGS+=	--without-iconv
 .endif
 
 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-CXXFLAGS+=              -O3 -fomit-frame-pointer
+CXXFLAGS+=		-O3 -fomit-frame-pointer
 .endif
 
 # Changes document and word IDs to a 64bit type, useful if you have
 # more than about 4.2E9 such items to deal with.  Means corresponding
 # changes in DB schema.  Disabled by default.
 .if ${PORT_OPTIONS:MID64}
-CONFIGURE_ARGS+=        --enable-id64
+CONFIGURE_ARGS+=	--enable-id64
 .endif
 
 .if ${PORT_OPTIONS:MUNIXODBC}
-CONFIGURE_ARGS+=        --with-unixodbc
-LIB_DEPENDS+=           odbc.2:${PORTSDIR}/databases/unixODBC
+CONFIGURE_ARGS+=	--with-unixodbc
+LIB_DEPENDS+=		odbc:${PORTSDIR}/databases/unixODBC
 .else
-CONFIGURE_ARGS+=        --without-unixodbc
+CONFIGURE_ARGS+=	--without-unixodbc
+.endif
+
+.if ${PORT_OPTIONS:MSYSLOG}
+CONFIGURE_ARGS+=	--with-syslog
+.else
+CONFIGURE_ARGS+=	--without-syslog
+.endif
+
+# Note: The snowball project doesn't release numbered versions of it's
+# pre-processors.  Instead, at arbitrary but fairly long intervals a
+# snapshot of their source repository is turned into a tarball (always
+# the same filename) and placed on their web site.  It's like they
+# want to make it as hard as possible for anyone to package and use
+# their software.
+#
+# Adds support for two additional word stemmming pre-processors from
+# the Snowball project (http://snowball.tartarus.org/) -- these
+# essentially do exactly the same thing as the built in English,
+# Russian and Czech stemmers but also support French, Spanish,
+# Portuguese, Italian, Romanian, German, Dutch, Swedish, Norwegian,
+# Danish, Finnish, Hungarian.  Disabled by default.
+
+.if ${PORT_OPTIONS:MLIBSTEMMER} || make(makesum) || defined(FETCH_ALL)
+MASTER_SITES+=	http://snowball.tartarus.org/dist/:libstemmer
+LIBSTEMMER_TGZ=	libstemmer_c.tgz
+DISTFILES+=	${LIBSTEMMER_TGZ}:libstemmer
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
+.endif
+
+.if ${PORT_OPTIONS:MLIBSTEMMER}
+CONFIGURE_ARGS+=	--with-libstemmer
+.else
+CONFIGURE_ARGS+=	--without-libstemmer
 .endif
 
 USERS?=		_sphinx
@@ -109,10 +153,16 @@
 
 .if ${PORT_OPTIONS:MDOCS}
 DOCS=		doc/sphinx.css doc/sphinx.html doc/sphinx.txt doc/sphinx.xml
+MAN1=		indexer.1 indextool.1 search.1 spelldump.1
+MAN8=		searchd.8
+DOCSRC=		${WRKSRC}/doc
 .endif
 
-.if ${ARCH} == "ia64" || ${ARCH} == "powerpc" || ${ARCH} == "sparc64"
-BROKEN=		Does not compile on ia64, powerpc, or sparc64
+post-extract:
+.if ${PORT_OPTIONS:MLIBSTEMMER}
+	@( cd ${WRKSRC} && \
+	    ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/${LIBSTEMMER_TGZ} \
+	    ${EXTRACT_AFTER_ARGS} )
 .endif
 
 # Fix up the sample configuration file to correspond to FreeBSD norms
@@ -124,13 +173,22 @@
 	    -e "s!@CONFDIR@/log/searchd.log!${SPHINX_LOG}/searchd.log!"	   \
 	    -e "s!@CONFDIR@!${SPHINX_DIR}!"				   \
 	    ${WRKSRC}/sphinx.conf.in
+.if ${PORT_OPTIONS:MDOCS}
+	${SED} -e 's/"1"/"8"/' ${DOCSRC}/searchd.1 > ${DOCSRC}/searchd.8
+.for man in ${MAN1}
+	${SED} -i~ -e 's/\\fBsearchd\\fR(1)/\\fBsearchd\\fR(8)/' \
+		${DOCSRC}/${man}
+.endfor
+.endif
 
-do-install: install-bin install-docs install-examples
+do-install: install-bin install-docs install-man install-examples
 
 install-bin:
-	${INSTALL_PROGRAM} ${WRKSRC}/src/indexer ${PREFIX}/bin/indexer
-	${INSTALL_PROGRAM} ${WRKSRC}/src/search  ${PREFIX}/bin/search
-	${INSTALL_PROGRAM} ${WRKSRC}/src/searchd ${PREFIX}/sbin/searchd
+	${INSTALL_PROGRAM} ${WRKSRC}/src/indexer   ${PREFIX}/bin/indexer
+	${INSTALL_PROGRAM} ${WRKSRC}/src/indextool ${PREFIX}/bin/indextool
+	${INSTALL_PROGRAM} ${WRKSRC}/src/search	   ${PREFIX}/bin/search
+	${INSTALL_PROGRAM} ${WRKSRC}/src/spelldump ${PREFIX}/bin/spelldump
+	${INSTALL_PROGRAM} ${WRKSRC}/src/searchd   ${PREFIX}/sbin/searchd
 	${INSTALL_DATA}	   ${WRKSRC}/sphinx.conf.dist ${CFGFILE}.sample
 
 install-docs:
@@ -141,6 +199,16 @@
 .endfor
 .endif
 
+install-man:
+.if ${PORT_OPTIONS:MDOCS}
+.for man in ${MAN1}
+	${INSTALL_MAN} ${DOCSRC}/${man} ${MANPREFIX}/man/man1/${man}
+.endfor
+.for man in ${MAN8}
+	${INSTALL_MAN} ${DOCSRC}/${man} ${MANPREFIX}/man/man8/${man}
+.endfor
+.endif
+
 install-examples:
 .if ${PORT_OPTIONS:MEXAMPLES}
 	@${MKDIR} ${EXAMPLESDIR}
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/distinfo /usr/ports/textproc/sphinxsearch-devel/distinfo
--- /usr/ports/textproc/sphinxsearch-devel/distinfo	2012-07-14 17:29:18.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/distinfo	2013-07-03 02:09:23.000000000 +0300
@@ -1,2 +1,4 @@
-SHA256 (sphinx-2.0.1-beta.tar.gz) = fe27152ee24224bcf2ab7293dabe826d8db69c35eca16edf1ca510e0a1f4bf81
-SIZE (sphinx-2.0.1-beta.tar.gz) = 1761313
+SHA256 (sphinx-2.1.1-beta.tar.gz) = 1fbd1d52c784a3c479dac6e9d40d24b75486b3914af3c170fa26c5e65996a1a3
+SIZE (sphinx-2.1.1-beta.tar.gz) = 2326277
+SHA256 (libstemmer_c.tgz) = 5adcf6432fd3d5ba51c8674d833d851b5aa6e532d52ff95e57102033edcd285f
+SIZE (libstemmer_c.tgz) = 129496
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/files/patch-src-sphinxstd.h /usr/ports/textproc/sphinxsearch-devel/files/patch-src-sphinxstd.h
--- /usr/ports/textproc/sphinxsearch-devel/files/patch-src-sphinxstd.h	2012-07-14 17:29:18.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/files/patch-src-sphinxstd.h	1970-01-01 03:00:00.000000000 +0300
@@ -1,20 +0,0 @@
---- src/sphinxstd.h~	2011-04-01 16:50:14.000000000 +0000
-+++ src/sphinxstd.h	2011-06-15 09:22:46.000000000 +0000
-@@ -1922,6 +1922,8 @@
- 	T ReadValue() const
- 	{
- 		assert ( m_pValue );
-+		if (!m_pValue)
-+			return 0;
- 		Lock();
- 		T val = *m_pValue;
- 		Unlock();
-@@ -1930,6 +1932,8 @@
- 	void WriteValue ( const T& tNewValue )
- 	{
- 		assert ( m_pValue );
-+		if (!m_pValue)
-+			return;
- 		Lock();
- 		*m_pValue = tNewValue;
- 		Unlock();
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/files/pkg-deinstall.in /usr/ports/textproc/sphinxsearch-devel/files/pkg-deinstall.in
--- /usr/ports/textproc/sphinxsearch-devel/files/pkg-deinstall.in	2012-07-14 17:29:18.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/files/pkg-deinstall.in	2012-07-14 17:29:18.000000000 +0300
@@ -1,20 +1,20 @@
 #!/bin/sh
 #
-# $FreeBSD: textproc/sphinxsearch-devel/files/pkg-deinstall.in 300897 2012-07-14 14:29:18Z beat $
+# $FreeBSD: textproc/sphinxsearch/files/pkg-deinstall.in 300897 2012-07-14 14:29:18Z beat $
 #
 
 sphinx_usr=%%SPHINX_USR%%
 sphinx_grp=%%SPHINX_GRP%%
 sphinx_dir=%%SPHINX_DIR%%
-sphinx_name=%%PORTNAME%%
+portname=%%PORTNAME%%
 
 case $2 in
     POST-DEINSTALL)
 
     cat <<EOMSG
 
-The $sphinx_name port has been deleted.  If you are not
-upgrading and don't intend to use $sphinx_name any more
+The $portname port has been deleted.  If you are not
+upgrading and don't intend to use $portname any more
 then you may wish to delete the $sphinx_usr account,
 and the $sphinx_grp group together with the working
 directory $sphinx_dir; which can be done with the
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/files/sphinxsearch.in /usr/ports/textproc/sphinxsearch-devel/files/sphinxsearch.in
--- /usr/ports/textproc/sphinxsearch-devel/files/sphinxsearch.in	2012-08-06 02:19:36.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/files/sphinxsearch.in	2012-08-06 02:19:36.000000000 +0300
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: textproc/sphinxsearch-devel/files/sphinxsearch.in 302141 2012-08-05 23:19:36Z dougb $
+# $FreeBSD: textproc/sphinxsearch/files/sphinxsearch.in 302141 2012-08-05 23:19:36Z dougb $
 #
 # PROVIDE: %%PORTNAME%%
 # REQUIRE: LOGIN
@@ -61,9 +61,9 @@
 	    ${%%PORTNAME%%_logdir}
     fi
     if [ ! -d ${%%PORTNAME%%_dir} ]; then
-        mkdir -m 755 -p ${%%PORTNAME%%_dir} ${%%PORTNAME%%_dir}/data
-        chown -R ${%%PORTNAME%%_user}:${%%PORTNAME%%_group} \
-            ${%%PORTNAME%%_dir}
+	mkdir -m 755 -p ${%%PORTNAME%%_dir} ${%%PORTNAME%%_dir}/data
+	chown -R ${%%PORTNAME%%_user}:${%%PORTNAME%%_group} \
+	    ${%%PORTNAME%%_dir}
     fi
 }
 
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/pkg-descr /usr/ports/textproc/sphinxsearch-devel/pkg-descr
--- /usr/ports/textproc/sphinxsearch-devel/pkg-descr	2012-07-14 17:29:18.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/pkg-descr	2013-07-03 01:58:01.000000000 +0300
@@ -1,14 +1,27 @@
-Sphinx is a full-text search engine, distributed under GPL version
-2. Commercial license is also available for embedded use.
+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. It's written in C++ and works on Linux
+(RedHat, Ubuntu, etc), Windows, MacOS, Solaris, FreeBSD, and a few
+other systems.
 
-Generally, it's a standalone search engine, meant to provide fast,
-size-efficient and relevant fulltext search functions to other
-applications. Sphinx was specially designed to integrate well with SQL
-databases and scripting languages. Currently built-in data sources
-support fetching data either via direct connection to MySQL, or from
-an XML pipe.
+Sphinx lets you either batch index and search data stored in an SQL
+database, NoSQL storage, or just files quickly easily and or index and
+search data on the fly, working with Sphinx pretty much as with a
+database server.
 
-As for the name, Sphinx is an acronym which is officially decoded as
-SQL Phrase Index.
+A variety of text processing features enable fine-tuning Sphinx for
+your particular application requirements, and a number of relevance
+functions ensures you can tweak search quality as well.
 
-WWW: http://www.sphinxsearch.com/
+Searching via SphinxAPI is as simple as 3 lines of code, and querying
+via SphinxQL is even simpler, with search queries expressed in good
+old SQL.
+
+Sphinx clusters scale up to billions of documents and tens of millions
+search queries per day, powering top websites such as Craigslist,
+DailyMotion, NetLog, etc.
+
+And last but not least, it's open-sourced under GPLv2, and the
+community edition is free to use.
+
+WWW: http://sphinxsearch.com/
diff -urBNs /usr/ports/textproc/sphinxsearch-devel/pkg-plist /usr/ports/textproc/sphinxsearch-devel/pkg-plist
--- /usr/ports/textproc/sphinxsearch-devel/pkg-plist	2012-07-14 17:29:18.000000000 +0300
+++ /usr/ports/textproc/sphinxsearch-devel/pkg-plist	2013-07-03 01:58:31.000000000 +0300
@@ -1,5 +1,7 @@
 bin/indexer
+bin/indextool
 bin/search
+bin/spelldump
 sbin/searchd
 @unexec if cmp -s %D/etc/sphinx.conf.sample %D/etc/sphinx.conf; then rm -f %D/etc/sphinx.conf; fi
 etc/sphinx.conf.sample


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307022317.r62NHFEs064883>