From ec43977fdfcf38bcb44b667afe48f0ab744b6682 Mon Sep 17 00:00:00 2001 From: Willy Sudiarto Raharjo Date: Sun, 1 Jun 2014 22:03:27 -0500 Subject: libraries/LucenePlusPlus: Added (text search engine) Signed-off-by: Erik Hanson --- libraries/LucenePlusPlus/LuceneHeaders.patch | 38 ++++++++ libraries/LucenePlusPlus/LucenePlusPlus.SlackBuild | 103 +++++++++++++++++++++ libraries/LucenePlusPlus/LucenePlusPlus.info | 10 ++ libraries/LucenePlusPlus/LuceneTestFixture.patch | 19 ++++ libraries/LucenePlusPlus/README | 2 + libraries/LucenePlusPlus/slack-desc | 20 ++++ 6 files changed, 192 insertions(+) create mode 100644 libraries/LucenePlusPlus/LuceneHeaders.patch create mode 100644 libraries/LucenePlusPlus/LucenePlusPlus.SlackBuild create mode 100644 libraries/LucenePlusPlus/LucenePlusPlus.info create mode 100644 libraries/LucenePlusPlus/LuceneTestFixture.patch create mode 100644 libraries/LucenePlusPlus/README create mode 100644 libraries/LucenePlusPlus/slack-desc (limited to 'libraries/LucenePlusPlus') diff --git a/libraries/LucenePlusPlus/LuceneHeaders.patch b/libraries/LucenePlusPlus/LuceneHeaders.patch new file mode 100644 index 000000000000..4ff60c5d206a --- /dev/null +++ b/libraries/LucenePlusPlus/LuceneHeaders.patch @@ -0,0 +1,38 @@ +commit 994f03cf736229044a168835ae7387696041658f +Author: rezso +Date: Mon May 19 09:20:40 2014 +0100 + + fix installing lucene++ headers in 3.0.6 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b0f3f20..6ae96b7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -138,6 +138,14 @@ if(NOT WIN32) + DESTINATION "${LIB_DESTINATION}/pkgconfig") + endif() + ++################################# ++# install Config.h ++################################# ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/include/Config.h" ++ DESTINATION include/lucene++) ++ + #################################### + # custom targets + #################################### +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 83eb578..7d6153d 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -20,7 +20,7 @@ file(GLOB_RECURSE lucene_internal_headers + ) + + file(GLOB_RECURSE lucene_headers +- include/*.h ++ "${lucene++_SOURCE_DIR}/include/*.h" + ) + + add_definitions(-DLPP_BUILDING_LIB) diff --git a/libraries/LucenePlusPlus/LucenePlusPlus.SlackBuild b/libraries/LucenePlusPlus/LucenePlusPlus.SlackBuild new file mode 100644 index 000000000000..91527c33cb7e --- /dev/null +++ b/libraries/LucenePlusPlus/LucenePlusPlus.SlackBuild @@ -0,0 +1,103 @@ +#!/bin/sh + +# Slackware build script for LucenePlusPlus + +# Copyright 2014 Willy Sudiarto Raharjo +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=LucenePlusPlus +VERSION=${VERSION:-3.0.6} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-rel_${VERSION} +tar xvf $CWD/rel_${VERSION}.tar.gz || tar xvf $CWD/$PRGNAM-rel_${VERSION}.tar.gz +cd $PRGNAM-rel_${VERSION} +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Disable building internal gtest +sed -i "s/include(CMakeExternal.txt)/#include(CMakeExternal.txt)/" CMakeLists.txt +sed -i "s/enable_testing()/#enable_testing()/" CMakeLists.txt + +# Upstream patches to fix building and header location +patch -p1 < $CWD/LuceneTestFixture.patch +patch -p1 < $CWD/LuceneHeaders.patch + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_DESTINATION=/usr/lib${LIBDIRSUFFIX} \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install DESTDIR=$PKG +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING *.license README* $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/libraries/LucenePlusPlus/LucenePlusPlus.info b/libraries/LucenePlusPlus/LucenePlusPlus.info new file mode 100644 index 000000000000..73226c1d1bf1 --- /dev/null +++ b/libraries/LucenePlusPlus/LucenePlusPlus.info @@ -0,0 +1,10 @@ +PRGNAM="LucenePlusPlus" +VERSION="3.0.6" +HOMEPAGE="https://github.com/luceneplusplus/LucenePlusPlus" +DOWNLOAD="https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_3.0.6.tar.gz" +MD5SUM="80f38e7faf88472b5f2ac82320a9b920" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="gtest" +MAINTAINER="Willy Sudiarto Raharjo" +EMAIL="willysr@slackbuilds.org" diff --git a/libraries/LucenePlusPlus/LuceneTestFixture.patch b/libraries/LucenePlusPlus/LuceneTestFixture.patch new file mode 100644 index 000000000000..b36068eee65f --- /dev/null +++ b/libraries/LucenePlusPlus/LuceneTestFixture.patch @@ -0,0 +1,19 @@ +commit 4c1f1371e98c387cb07043c26b99beff5b5111a8 +Author: Alan Wright +Date: Mon Apr 28 13:53:48 2014 +0100 + + Throw exception in fixture destructor instead of FAIL(). + +diff --git a/src/test/util/LuceneTestFixture.cpp b/src/test/util/LuceneTestFixture.cpp +index 27c61e0..e737bdb 100644 +--- a/src/test/util/LuceneTestFixture.cpp ++++ b/src/test/util/LuceneTestFixture.cpp +@@ -21,7 +21,7 @@ LuceneTestFixture::~LuceneTestFixture() { + if (ConcurrentMergeScheduler::anyUnhandledExceptions()) { + // Clear the failure so that we don't just keep failing subsequent test cases + ConcurrentMergeScheduler::clearUnhandledExceptions(); +- FAIL() << "ConcurrentMergeScheduler hit unhandled exceptions"; ++ boost::throw_exception(RuntimeException(L"ConcurrentMergeScheduler hit unhandled exceptions")); + } + } + diff --git a/libraries/LucenePlusPlus/README b/libraries/LucenePlusPlus/README new file mode 100644 index 000000000000..b9517e657423 --- /dev/null +++ b/libraries/LucenePlusPlus/README @@ -0,0 +1,2 @@ +Lucene++ is an up to date C++ port of the popular Java Lucene library, +a high-performance, and full-featured text search engine. diff --git a/libraries/LucenePlusPlus/slack-desc b/libraries/LucenePlusPlus/slack-desc new file mode 100644 index 000000000000..83b1ec9349da --- /dev/null +++ b/libraries/LucenePlusPlus/slack-desc @@ -0,0 +1,20 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +LucenePlusPlus: LucenePlusPlus (text search engine) +LucenePlusPlus: +LucenePlusPlus: Lucene++ is an up to date C++ port of the popular Java Lucene library, +LucenePlusPlus: a high-performance, and full-featured text search engine. +LucenePlusPlus: +LucenePlusPlus: +LucenePlusPlus: +LucenePlusPlus: Project URL: https://github.com/luceneplusplus/LucenePlusPlus +LucenePlusPlus: +LucenePlusPlus: +LucenePlusPlus: + -- cgit v1.2.3