summaryrefslogtreecommitdiff
path: root/textproc/lucene++
diff options
context:
space:
mode:
authorryoon <ryoon>2015-10-17 03:02:47 +0000
committerryoon <ryoon>2015-10-17 03:02:47 +0000
commit022a03183be2c4ee34fcebeb23a496238be04037 (patch)
tree82bb5d9486706ecf6551caffe9d32832a3791347 /textproc/lucene++
parent333f57c31b06452ad7936f73db435efc1e912fc6 (diff)
downloadpkgsrc-022a03183be2c4ee34fcebeb23a496238be04037.tar.gz
Import lucene++-3.0.7 as textproc/lucene++.
C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.
Diffstat (limited to 'textproc/lucene++')
-rw-r--r--textproc/lucene++/DESCR2
-rw-r--r--textproc/lucene++/Makefile20
-rw-r--r--textproc/lucene++/PLIST463
-rw-r--r--textproc/lucene++/buildlink3.mk13
-rw-r--r--textproc/lucene++/distinfo8
-rw-r--r--textproc/lucene++/patches/patch-CMakeLists.txt24
-rw-r--r--textproc/lucene++/patches/patch-include_VariantUtils.h28
7 files changed, 558 insertions, 0 deletions
diff --git a/textproc/lucene++/DESCR b/textproc/lucene++/DESCR
new file mode 100644
index 00000000000..99d646e6149
--- /dev/null
+++ b/textproc/lucene++/DESCR
@@ -0,0 +1,2 @@
+C++ port of the popular Java Lucene library, a high-performance,
+full-featured text search engine.
diff --git a/textproc/lucene++/Makefile b/textproc/lucene++/Makefile
new file mode 100644
index 00000000000..1cd576b1cec
--- /dev/null
+++ b/textproc/lucene++/Makefile
@@ -0,0 +1,20 @@
+# $NetBSD: Makefile,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+
+DISTNAME= LucenePlusPlus-rel_3.0.7
+PKGNAME= ${DISTNAME:S/LucenePlusPlus-rel_/lucene++-/}
+CATEGORIES= textproc
+MASTER_SITES= ${MASTER_SITE_GITHUB:=luceneplusplus/LucenePlusPlus/archive/rel_${PKGVERSION_NOREV}/}
+
+MAINTAINER= ryoon@NetBSD.org
+HOMEPAGE= ${MASTER_SITE_GITHUB:=luceneplusplus/LucenePlusPlus/}
+COMMENT= C++ port of Lucene text search library
+LICENSE= gnu-lgpl-v3 OR apache-2.0
+
+USE_LANGUAGES= c c++
+USE_CMAKE= yes
+
+CMAKE_ARGS+= -DENABLE_DEMO=no
+
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/textproc/lucene++/PLIST b/textproc/lucene++/PLIST
new file mode 100644
index 00000000000..b46aef8351b
--- /dev/null
+++ b/textproc/lucene++/PLIST
@@ -0,0 +1,463 @@
+@comment $NetBSD: PLIST,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+include/lucene++/ASCIIFoldingFilter.h
+include/lucene++/AbstractAllTermDocs.h
+include/lucene++/AbstractField.h
+include/lucene++/AllTermDocs.h
+include/lucene++/Analyzer.h
+include/lucene++/ArabicAnalyzer.h
+include/lucene++/ArabicLetterTokenizer.h
+include/lucene++/ArabicNormalizationFilter.h
+include/lucene++/ArabicNormalizer.h
+include/lucene++/ArabicStemFilter.h
+include/lucene++/ArabicStemmer.h
+include/lucene++/Array.h
+include/lucene++/Attribute.h
+include/lucene++/AttributeSource.h
+include/lucene++/AveragePayloadFunction.h
+include/lucene++/Base64.h
+include/lucene++/BaseCharFilter.h
+include/lucene++/BitSet.h
+include/lucene++/BitUtil.h
+include/lucene++/BitVector.h
+include/lucene++/BooleanClause.h
+include/lucene++/BooleanQuery.h
+include/lucene++/BooleanScorer.h
+include/lucene++/BooleanScorer2.h
+include/lucene++/BrazilianAnalyzer.h
+include/lucene++/BrazilianStemFilter.h
+include/lucene++/BrazilianStemmer.h
+include/lucene++/BufferedDeletes.h
+include/lucene++/BufferedIndexInput.h
+include/lucene++/BufferedIndexOutput.h
+include/lucene++/BufferedReader.h
+include/lucene++/ByteBlockPool.h
+include/lucene++/ByteFieldSource.h
+include/lucene++/ByteSliceReader.h
+include/lucene++/ByteSliceWriter.h
+include/lucene++/CJKAnalyzer.h
+include/lucene++/CJKTokenizer.h
+include/lucene++/CachingSpanFilter.h
+include/lucene++/CachingTokenFilter.h
+include/lucene++/CachingWrapperFilter.h
+include/lucene++/CharArraySet.h
+include/lucene++/CharBlockPool.h
+include/lucene++/CharFilter.h
+include/lucene++/CharFolder.h
+include/lucene++/CharReader.h
+include/lucene++/CharStream.h
+include/lucene++/CharTokenizer.h
+include/lucene++/CheckIndex.h
+include/lucene++/ChecksumIndexInput.h
+include/lucene++/ChecksumIndexOutput.h
+include/lucene++/ChineseAnalyzer.h
+include/lucene++/ChineseFilter.h
+include/lucene++/ChineseTokenizer.h
+include/lucene++/CloseableThreadLocal.h
+include/lucene++/Collator.h
+include/lucene++/Collection.h
+include/lucene++/Collector.h
+include/lucene++/ComplexExplanation.h
+include/lucene++/CompoundFileReader.h
+include/lucene++/CompoundFileWriter.h
+include/lucene++/CompressionTools.h
+include/lucene++/ConcurrentMergeScheduler.h
+include/lucene++/Config.h
+include/lucene++/ConjunctionScorer.h
+include/lucene++/ConstantScoreQuery.h
+include/lucene++/Constants.h
+include/lucene++/ContribInc.h
+include/lucene++/CustomScoreProvider.h
+include/lucene++/CustomScoreQuery.h
+include/lucene++/CycleCheck.h
+include/lucene++/CzechAnalyzer.h
+include/lucene++/DateField.h
+include/lucene++/DateTools.h
+include/lucene++/DefaultEncoder.h
+include/lucene++/DefaultSimilarity.h
+include/lucene++/DefaultSkipListReader.h
+include/lucene++/DefaultSkipListWriter.h
+include/lucene++/Directory.h
+include/lucene++/DirectoryReader.h
+include/lucene++/DisjunctionMaxQuery.h
+include/lucene++/DisjunctionMaxScorer.h
+include/lucene++/DisjunctionSumScorer.h
+include/lucene++/DocConsumer.h
+include/lucene++/DocConsumerPerThread.h
+include/lucene++/DocFieldConsumer.h
+include/lucene++/DocFieldConsumerPerField.h
+include/lucene++/DocFieldConsumerPerThread.h
+include/lucene++/DocFieldConsumers.h
+include/lucene++/DocFieldConsumersPerField.h
+include/lucene++/DocFieldConsumersPerThread.h
+include/lucene++/DocFieldProcessor.h
+include/lucene++/DocFieldProcessorPerField.h
+include/lucene++/DocFieldProcessorPerThread.h
+include/lucene++/DocIdBitSet.h
+include/lucene++/DocIdSet.h
+include/lucene++/DocIdSetIterator.h
+include/lucene++/DocInverter.h
+include/lucene++/DocInverterPerField.h
+include/lucene++/DocInverterPerThread.h
+include/lucene++/DocValues.h
+include/lucene++/Document.h
+include/lucene++/DocumentsWriter.h
+include/lucene++/DocumentsWriterThreadState.h
+include/lucene++/DoubleFieldSource.h
+include/lucene++/DutchAnalyzer.h
+include/lucene++/DutchStemFilter.h
+include/lucene++/DutchStemmer.h
+include/lucene++/ElisionFilter.h
+include/lucene++/Encoder.h
+include/lucene++/ExactPhraseScorer.h
+include/lucene++/Explanation.h
+include/lucene++/FSDirectory.h
+include/lucene++/FSLockFactory.h
+include/lucene++/FastCharStream.h
+include/lucene++/Field.h
+include/lucene++/FieldCache.h
+include/lucene++/FieldCacheImpl.h
+include/lucene++/FieldCacheRangeFilter.h
+include/lucene++/FieldCacheSanityChecker.h
+include/lucene++/FieldCacheSource.h
+include/lucene++/FieldCacheTermsFilter.h
+include/lucene++/FieldComparator.h
+include/lucene++/FieldComparatorSource.h
+include/lucene++/FieldDoc.h
+include/lucene++/FieldDocSortedHitQueue.h
+include/lucene++/FieldInfo.h
+include/lucene++/FieldInfos.h
+include/lucene++/FieldInvertState.h
+include/lucene++/FieldMaskingSpanQuery.h
+include/lucene++/FieldScoreQuery.h
+include/lucene++/FieldSelector.h
+include/lucene++/FieldSortedTermVectorMapper.h
+include/lucene++/FieldValueHitQueue.h
+include/lucene++/Fieldable.h
+include/lucene++/FieldsReader.h
+include/lucene++/FieldsWriter.h
+include/lucene++/FileReader.h
+include/lucene++/FileSwitchDirectory.h
+include/lucene++/FileUtils.h
+include/lucene++/Filter.h
+include/lucene++/FilterIndexReader.h
+include/lucene++/FilterManager.h
+include/lucene++/FilteredDocIdSet.h
+include/lucene++/FilteredDocIdSetIterator.h
+include/lucene++/FilteredQuery.h
+include/lucene++/FilteredTermEnum.h
+include/lucene++/FlagsAttribute.h
+include/lucene++/FormatPostingsDocsConsumer.h
+include/lucene++/FormatPostingsDocsWriter.h
+include/lucene++/FormatPostingsFieldsConsumer.h
+include/lucene++/FormatPostingsFieldsWriter.h
+include/lucene++/FormatPostingsPositionsConsumer.h
+include/lucene++/FormatPostingsPositionsWriter.h
+include/lucene++/FormatPostingsTermsConsumer.h
+include/lucene++/FormatPostingsTermsWriter.h
+include/lucene++/Formatter.h
+include/lucene++/Fragmenter.h
+include/lucene++/FrenchAnalyzer.h
+include/lucene++/FrenchStemFilter.h
+include/lucene++/FrenchStemmer.h
+include/lucene++/FreqProxFieldMergeState.h
+include/lucene++/FreqProxTermsWriter.h
+include/lucene++/FreqProxTermsWriterPerField.h
+include/lucene++/FreqProxTermsWriterPerThread.h
+include/lucene++/FuzzyQuery.h
+include/lucene++/FuzzyTermEnum.h
+include/lucene++/GermanAnalyzer.h
+include/lucene++/GermanStemFilter.h
+include/lucene++/GermanStemmer.h
+include/lucene++/GradientFormatter.h
+include/lucene++/GreekAnalyzer.h
+include/lucene++/GreekLowerCaseFilter.h
+include/lucene++/HashMap.h
+include/lucene++/HashSet.h
+include/lucene++/Highlighter.h
+include/lucene++/HighlighterScorer.h
+include/lucene++/HitQueue.h
+include/lucene++/HitQueueBase.h
+include/lucene++/ISOLatin1AccentFilter.h
+include/lucene++/IndexCommit.h
+include/lucene++/IndexDeletionPolicy.h
+include/lucene++/IndexFileDeleter.h
+include/lucene++/IndexFileNameFilter.h
+include/lucene++/IndexFileNames.h
+include/lucene++/IndexInput.h
+include/lucene++/IndexOutput.h
+include/lucene++/IndexReader.h
+include/lucene++/IndexSearcher.h
+include/lucene++/IndexWriter.h
+include/lucene++/InfoStream.h
+include/lucene++/InputStreamReader.h
+include/lucene++/IntBlockPool.h
+include/lucene++/IntFieldSource.h
+include/lucene++/InvertedDocConsumer.h
+include/lucene++/InvertedDocConsumerPerField.h
+include/lucene++/InvertedDocConsumerPerThread.h
+include/lucene++/InvertedDocEndConsumer.h
+include/lucene++/InvertedDocEndConsumerPerField.h
+include/lucene++/InvertedDocEndConsumerPerThread.h
+include/lucene++/KeepOnlyLastCommitDeletionPolicy.h
+include/lucene++/KeywordAnalyzer.h
+include/lucene++/KeywordTokenizer.h
+include/lucene++/LengthFilter.h
+include/lucene++/LetterTokenizer.h
+include/lucene++/LoadFirstFieldSelector.h
+include/lucene++/Lock.h
+include/lucene++/LockFactory.h
+include/lucene++/LogByteSizeMergePolicy.h
+include/lucene++/LogDocMergePolicy.h
+include/lucene++/LogMergePolicy.h
+include/lucene++/LowerCaseFilter.h
+include/lucene++/LowerCaseTokenizer.h
+include/lucene++/Lucene.h
+include/lucene++/LuceneAllocator.h
+include/lucene++/LuceneContrib.h
+include/lucene++/LuceneException.h
+include/lucene++/LuceneFactory.h
+include/lucene++/LuceneHeaders.h
+include/lucene++/LuceneObject.h
+include/lucene++/LuceneSignal.h
+include/lucene++/LuceneSync.h
+include/lucene++/LuceneThread.h
+include/lucene++/LuceneTypes.h
+include/lucene++/MMapDirectory.h
+include/lucene++/Map.h
+include/lucene++/MapFieldSelector.h
+include/lucene++/MapOfSets.h
+include/lucene++/MapWeightedSpanTerm.h
+include/lucene++/MappingCharFilter.h
+include/lucene++/MatchAllDocsQuery.h
+include/lucene++/MaxPayloadFunction.h
+include/lucene++/MemoryIndex.h
+include/lucene++/MergeDocIDRemapper.h
+include/lucene++/MergePolicy.h
+include/lucene++/MergeScheduler.h
+include/lucene++/MinPayloadFunction.h
+include/lucene++/MiscUtils.h
+include/lucene++/MultiFieldQueryParser.h
+include/lucene++/MultiLevelSkipListReader.h
+include/lucene++/MultiLevelSkipListWriter.h
+include/lucene++/MultiPhraseQuery.h
+include/lucene++/MultiReader.h
+include/lucene++/MultiSearcher.h
+include/lucene++/MultiTermQuery.h
+include/lucene++/MultiTermQueryWrapperFilter.h
+include/lucene++/MultipleTermPositions.h
+include/lucene++/NativeFSLockFactory.h
+include/lucene++/NearSpansOrdered.h
+include/lucene++/NearSpansUnordered.h
+include/lucene++/NoLockFactory.h
+include/lucene++/NormalizeCharMap.h
+include/lucene++/NormsWriter.h
+include/lucene++/NormsWriterPerField.h
+include/lucene++/NormsWriterPerThread.h
+include/lucene++/NullFragmenter.h
+include/lucene++/NumberTools.h
+include/lucene++/NumericField.h
+include/lucene++/NumericRangeFilter.h
+include/lucene++/NumericRangeQuery.h
+include/lucene++/NumericTokenStream.h
+include/lucene++/NumericUtils.h
+include/lucene++/OffsetAttribute.h
+include/lucene++/OpenBitSet.h
+include/lucene++/OpenBitSetDISI.h
+include/lucene++/OpenBitSetIterator.h
+include/lucene++/OrdFieldSource.h
+include/lucene++/ParallelMultiSearcher.h
+include/lucene++/ParallelReader.h
+include/lucene++/Payload.h
+include/lucene++/PayloadAttribute.h
+include/lucene++/PayloadFunction.h
+include/lucene++/PayloadNearQuery.h
+include/lucene++/PayloadSpanUtil.h
+include/lucene++/PayloadTermQuery.h
+include/lucene++/PerFieldAnalyzerWrapper.h
+include/lucene++/PersianAnalyzer.h
+include/lucene++/PersianNormalizationFilter.h
+include/lucene++/PersianNormalizer.h
+include/lucene++/PhrasePositions.h
+include/lucene++/PhraseQuery.h
+include/lucene++/PhraseQueue.h
+include/lucene++/PhraseScorer.h
+include/lucene++/PorterStemFilter.h
+include/lucene++/PorterStemmer.h
+include/lucene++/PositionBasedTermVectorMapper.h
+include/lucene++/PositionIncrementAttribute.h
+include/lucene++/PositiveScoresOnlyCollector.h
+include/lucene++/PrefixFilter.h
+include/lucene++/PrefixQuery.h
+include/lucene++/PrefixTermEnum.h
+include/lucene++/PriorityQueue.h
+include/lucene++/Query.h
+include/lucene++/QueryParseError.h
+include/lucene++/QueryParser.h
+include/lucene++/QueryParserCharStream.h
+include/lucene++/QueryParserConstants.h
+include/lucene++/QueryParserToken.h
+include/lucene++/QueryParserTokenManager.h
+include/lucene++/QueryScorer.h
+include/lucene++/QueryTermExtractor.h
+include/lucene++/QueryTermScorer.h
+include/lucene++/QueryTermVector.h
+include/lucene++/QueryWrapperFilter.h
+include/lucene++/RAMDirectory.h
+include/lucene++/RAMFile.h
+include/lucene++/RAMInputStream.h
+include/lucene++/RAMOutputStream.h
+include/lucene++/Random.h
+include/lucene++/RawPostingList.h
+include/lucene++/ReadOnlyDirectoryReader.h
+include/lucene++/ReadOnlySegmentReader.h
+include/lucene++/Reader.h
+include/lucene++/ReaderUtil.h
+include/lucene++/ReqExclScorer.h
+include/lucene++/ReqOptSumScorer.h
+include/lucene++/ReusableStringReader.h
+include/lucene++/ReverseOrdFieldSource.h
+include/lucene++/ReverseStringFilter.h
+include/lucene++/RussianAnalyzer.h
+include/lucene++/RussianLetterTokenizer.h
+include/lucene++/RussianLowerCaseFilter.h
+include/lucene++/RussianStemFilter.h
+include/lucene++/RussianStemmer.h
+include/lucene++/ScoreCachingWrappingScorer.h
+include/lucene++/ScoreDoc.h
+include/lucene++/Scorer.h
+include/lucene++/ScorerDocQueue.h
+include/lucene++/Searchable.h
+include/lucene++/Searcher.h
+include/lucene++/SegmentInfo.h
+include/lucene++/SegmentInfoCollection.h
+include/lucene++/SegmentInfos.h
+include/lucene++/SegmentMergeInfo.h
+include/lucene++/SegmentMergeQueue.h
+include/lucene++/SegmentMerger.h
+include/lucene++/SegmentReader.h
+include/lucene++/SegmentTermDocs.h
+include/lucene++/SegmentTermEnum.h
+include/lucene++/SegmentTermPositionVector.h
+include/lucene++/SegmentTermPositions.h
+include/lucene++/SegmentTermVector.h
+include/lucene++/SegmentWriteState.h
+include/lucene++/SerialMergeScheduler.h
+include/lucene++/Set.h
+include/lucene++/SetBasedFieldSelector.h
+include/lucene++/Similarity.h
+include/lucene++/SimilarityDelegator.h
+include/lucene++/SimpleAnalyzer.h
+include/lucene++/SimpleFSDirectory.h
+include/lucene++/SimpleFSLockFactory.h
+include/lucene++/SimpleFragmenter.h
+include/lucene++/SimpleHTMLEncoder.h
+include/lucene++/SimpleHTMLFormatter.h
+include/lucene++/SimpleLRUCache.h
+include/lucene++/SimpleSpanFragmenter.h
+include/lucene++/SingleInstanceLockFactory.h
+include/lucene++/SingleTermEnum.h
+include/lucene++/SloppyPhraseScorer.h
+include/lucene++/SmallDouble.h
+include/lucene++/SnapshotDeletionPolicy.h
+include/lucene++/SnowballAnalyzer.h
+include/lucene++/SnowballFilter.h
+include/lucene++/Sort.h
+include/lucene++/SortField.h
+include/lucene++/SortedTermVectorMapper.h
+include/lucene++/SortedVIntList.h
+include/lucene++/SpanFilter.h
+include/lucene++/SpanFilterResult.h
+include/lucene++/SpanFirstQuery.h
+include/lucene++/SpanGradientFormatter.h
+include/lucene++/SpanNearQuery.h
+include/lucene++/SpanNotQuery.h
+include/lucene++/SpanOrQuery.h
+include/lucene++/SpanQuery.h
+include/lucene++/SpanQueryFilter.h
+include/lucene++/SpanScorer.h
+include/lucene++/SpanTermQuery.h
+include/lucene++/SpanWeight.h
+include/lucene++/Spans.h
+include/lucene++/StandardAnalyzer.h
+include/lucene++/StandardFilter.h
+include/lucene++/StandardTokenizer.h
+include/lucene++/StandardTokenizerImpl.h
+include/lucene++/StopAnalyzer.h
+include/lucene++/StopFilter.h
+include/lucene++/StoredFieldsWriter.h
+include/lucene++/StoredFieldsWriterPerThread.h
+include/lucene++/StringReader.h
+include/lucene++/StringUtils.h
+include/lucene++/Synchronize.h
+include/lucene++/TeeSinkTokenFilter.h
+include/lucene++/Term.h
+include/lucene++/TermAttribute.h
+include/lucene++/TermBuffer.h
+include/lucene++/TermDocs.h
+include/lucene++/TermEnum.h
+include/lucene++/TermFreqVector.h
+include/lucene++/TermInfo.h
+include/lucene++/TermInfosReader.h
+include/lucene++/TermInfosWriter.h
+include/lucene++/TermPositionVector.h
+include/lucene++/TermPositions.h
+include/lucene++/TermQuery.h
+include/lucene++/TermRangeFilter.h
+include/lucene++/TermRangeQuery.h
+include/lucene++/TermRangeTermEnum.h
+include/lucene++/TermScorer.h
+include/lucene++/TermSpans.h
+include/lucene++/TermVectorEntry.h
+include/lucene++/TermVectorEntryFreqSortedComparator.h
+include/lucene++/TermVectorMapper.h
+include/lucene++/TermVectorOffsetInfo.h
+include/lucene++/TermVectorsReader.h
+include/lucene++/TermVectorsTermsWriter.h
+include/lucene++/TermVectorsTermsWriterPerField.h
+include/lucene++/TermVectorsTermsWriterPerThread.h
+include/lucene++/TermVectorsWriter.h
+include/lucene++/TermsHash.h
+include/lucene++/TermsHashConsumer.h
+include/lucene++/TermsHashConsumerPerField.h
+include/lucene++/TermsHashConsumerPerThread.h
+include/lucene++/TermsHashPerField.h
+include/lucene++/TermsHashPerThread.h
+include/lucene++/TestPoint.h
+include/lucene++/TextFragment.h
+include/lucene++/ThreadPool.h
+include/lucene++/TimeLimitingCollector.h
+include/lucene++/Token.h
+include/lucene++/TokenFilter.h
+include/lucene++/TokenGroup.h
+include/lucene++/TokenSources.h
+include/lucene++/TokenStream.h
+include/lucene++/Tokenizer.h
+include/lucene++/TopDocs.h
+include/lucene++/TopDocsCollector.h
+include/lucene++/TopFieldCollector.h
+include/lucene++/TopFieldDocs.h
+include/lucene++/TopScoreDocCollector.h
+include/lucene++/TypeAttribute.h
+include/lucene++/UTF8Stream.h
+include/lucene++/UnicodeUtils.h
+include/lucene++/ValueSource.h
+include/lucene++/ValueSourceQuery.h
+include/lucene++/VariantUtils.h
+include/lucene++/Weight.h
+include/lucene++/WeightedSpanTerm.h
+include/lucene++/WeightedSpanTermExtractor.h
+include/lucene++/WeightedTerm.h
+include/lucene++/WhitespaceAnalyzer.h
+include/lucene++/WhitespaceTokenizer.h
+include/lucene++/WildcardQuery.h
+include/lucene++/WildcardTermEnum.h
+include/lucene++/WordlistLoader.h
+include/lucene++/targetver.h
+lib/liblucene++-contrib.so
+lib/liblucene++-contrib.so.0
+lib/liblucene++-contrib.so.${PKGVERSION}
+lib/liblucene++.so
+lib/liblucene++.so.0
+lib/liblucene++.so.${PKGVERSION}
+lib/pkgconfig/liblucene++-contrib.pc
+lib/pkgconfig/liblucene++.pc
diff --git a/textproc/lucene++/buildlink3.mk b/textproc/lucene++/buildlink3.mk
new file mode 100644
index 00000000000..c578d8aa84b
--- /dev/null
+++ b/textproc/lucene++/buildlink3.mk
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+
+BUILDLINK_TREE+= lucene++
+
+.if !defined(LUCENE++_BUILDLINK3_MK)
+LUCENE++_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.lucene+++= lucene++>=3.0.7
+BUILDLINK_PKGSRCDIR.lucene++?= ../../textproc/lucene++
+
+.endif # LUCENE++_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -lucene++
diff --git a/textproc/lucene++/distinfo b/textproc/lucene++/distinfo
new file mode 100644
index 00000000000..32ed9430733
--- /dev/null
+++ b/textproc/lucene++/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+
+SHA1 (LucenePlusPlus-rel_3.0.7.tar.gz) = b2c38e7ca5056934a5bdb1a69ea251110e3c0377
+RMD160 (LucenePlusPlus-rel_3.0.7.tar.gz) = 352f0e204655d9614cff2a843d5132f85bda78a4
+SHA512 (LucenePlusPlus-rel_3.0.7.tar.gz) = 92f3bba320980673cc64c983616aa38d25b44ea811237ed226741b892757fb8151e4f833aa58a18dbe7a0c9a899d94e828aa15e6d7b48a69ab730d1d772db220
+Size (LucenePlusPlus-rel_3.0.7.tar.gz) = 2013570 bytes
+SHA1 (patch-CMakeLists.txt) = db25e72a4c4d5dc38b9c805b75bf7c4469f7029d
+SHA1 (patch-include_VariantUtils.h) = 4c71eaee81b18fe7019ca3006804713f3117cac9
diff --git a/textproc/lucene++/patches/patch-CMakeLists.txt b/textproc/lucene++/patches/patch-CMakeLists.txt
new file mode 100644
index 00000000000..f8905582e47
--- /dev/null
+++ b/textproc/lucene++/patches/patch-CMakeLists.txt
@@ -0,0 +1,24 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+
+No cmake_uninstall.cmake is provided.
+
+--- CMakeLists.txt.orig 2015-01-30 16:14:22.000000000 +0000
++++ CMakeLists.txt
+@@ -182,17 +182,6 @@ install(
+ ####################################
+ # custom targets
+ ####################################
+-configure_file(
+- "${CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in"
+- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+- IMMEDIATE @ONLY
+-)
+-
+-add_custom_target(
+- uninstall
+- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+- VERBATIM
+-)
+
+ if(ENABLE_PACKAGING)
+ include(CreateLucene++Packages)
diff --git a/textproc/lucene++/patches/patch-include_VariantUtils.h b/textproc/lucene++/patches/patch-include_VariantUtils.h
new file mode 100644
index 00000000000..3c488a4a713
--- /dev/null
+++ b/textproc/lucene++/patches/patch-include_VariantUtils.h
@@ -0,0 +1,28 @@
+$NetBSD: patch-include_VariantUtils.h,v 1.1 2015/10/17 03:02:47 ryoon Exp $
+
+Fix compilation with Boost 1.58
+
+https://github.com/luceneplusplus/LucenePlusPlus/commit/1987082cf9278a639d772b4f35a8ae2d34944177
+
+--- include/VariantUtils.h.orig 2015-01-30 16:14:22.000000000 +0000
++++ include/VariantUtils.h
+@@ -8,6 +8,7 @@
+ #define VARIANTUTILS_H
+
+ #include <boost/any.hpp>
++#include <boost/version.hpp>
+ #include "Lucene.h"
+ #include "MiscUtils.h"
+
+@@ -22,7 +23,11 @@ public:
+
+ template <typename TYPE, typename VAR>
+ static TYPE get(VAR var) {
++#if BOOST_VERSION < 105800
+ return var.type() == typeid(TYPE) ? boost::get<TYPE>(var) : TYPE();
++#else
++ return var.type() == typeid(TYPE) ? boost::relaxed_get<TYPE>(var) : TYPE();
++#endif
+ }
+
+ template <typename TYPE, typename VAR>