pkgsrc/textproc/xapian/Makefile

25 lines
590 B
Makefile
Raw Normal View History

Update to 1.2.22. From the changelog: API: * Add FLAG_CJK_NGRAM for QueryParser and TermGenerator. Has the same effect as setting the environment variable XAPIAN_CJK_NGRAM. Fixes #180, reported by Richard Boulton, with contributions from Pavel Strashkin, Mikkel Kamstrup Erlandsen and Brandon Schaefer. * Fix bug parsing multiple non-exclusive filter terms - previously this could result in such filters effectively being ignored. * Fix Database::get_doclength_lower_bound() over multiple databases when some are empty or consist only of zero-length documents. Previously this would report a lower bound of zero, now it reports the same lowest bound as a single database containing all the same documents. * Make Database::get_wdf_upper_bound("") return 0. * Mark constructors taking a single argument as "explicit" to avoid unwanted implicit conversions. testsuite: * If command line option --verbose/-v isn't specified, set the verbosity level from environmental variable VERBOSE. * Skip timed tests if $AUTOMATED_TESTING is set. Fixes #553, reported by Dagobert Michelsen. * Don't leave an extra fd open when starting xapian-tcpsrv for remotetcp tests. * apitest: Revert disabling of part of adddoc5 for clang - the test failure was in fact due to a bug in 1.3.x, and 1.2.x was never affected. * apitest: Tweak bounds checks in dbstats1 testcase - multi backends should give tight bounds. brass backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. chert backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. flint backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. remote backend: * Fix to handle total document length exceeding 34,359,738,368. (Fixes #678, reported by matf). * Avoid dividing by zero when getting the average length for an empty database. * Stop apparent error from remote server when read-only client disconnects. A read-only client just closes the connection when done, but the server previously reported "Got exception NetworkError: Received EOF", which sounds like there was a problem. Now we just say "Connection closed" here, and "Connection closed unexpectedly" if the client connects in the middle of an exchange. Possibly fixes #654, reported by German M. Bravo. * Give a clearer error message when the client and server remote protocol versions aren't compatible. * Check length of key in MSG_SETMETADATA. build system: * pkg-config: Fix library name in .pc file to say "xapian" not "xapian-core". Reported by Eric Lindblad to the xapian-devel list. * Private symbol decode_length() is no longer visible outside the library. documentation: * Stop maintaining ChangeLog files. They make merging patches harder, and stop 'git cherry-pick' from working as it should. The git repo history should be sufficient for complying with GPLv2 2(a). * Strip out "quickstart" examples which are out of date and rather redundant with the "simple" examples. * Correct documentation of Enquire::get_query(). If no query has been set, the documentation said Xapian::InvalidArgumentError was thrown, but in fact we just return a default initialised Query object (i.e. Query()). This seems reasonable behaviour and has been the case since Xapian 0.9.0. * Document xapian-compact --blocksize takes an argument. * Update snowball website link to snowballstem.org. tools: * xapian-replicate: Fix replication for files > 4GB on 32-bit platforms. Previously replication would fail to copy a file whose size didn't fit in size_t. Fixes #685, reported by Josh Elsasser. * xapian-tcpsrv: Better error if -p/--port not specified * quest: Support `-f cjk_ngram`. examples: * xapian-metadata: Extend "list" subcommand to take optional key prefix. portability: * Fix new warnings from recent versions of GCC and clang. * Add spaces between literal strings and macros which expand to literal strings for C++11 compatibility in __WIN32__-specific code. * Need <unistd.h> for unlink() on FreeBSD, reported by Germán M. Bravo via github PR 72. * Fix testsuite to build when S_ISSOCK() isn't defined. * Don't provide our own implementation of sleep() under __WIN32__ if there already is one - mingw provides one, and in some situations it seems to clash with ours. Reported to xapian-discuss by John Alveris. * Add missing '#include <arpa/inet.h>' to htons(). Seems to be implicitly included on most platforms, but Interix needs it. Reported by Eric Lindblad on xapian-discuss. * Disable "<FUNCTION> is expected to return a value" warning from Sun's C++ compiler, as it fires for functions ending in a "throw" statement. Genuine instances will be caught by compilers with superior warning machinery. * Prefer scalbn() to ldexp() where possible, since the former doesn't ever set errno. * '#include <config.h>' in the "simple" examples, as when compiling with xlC on AIX, _LARGE_FILES gets defined by AC_SYS_LARGEFILE to enable large file support, and defining this changes the ABI of std::string, so it also needs to be defined when compiling code using Xapian. * On cygwin, include <arpa/inet.h> instead of winsock headers for htons() and htonl(). * Include <cygwin/version.h> for CYGWIN_VERSION_API_MAJOR. * Avoid referencing static members via an object in that object's own definition, as this doesn't work with all compilers (noted with GCC 3.3), and is a bit of an odd construct anyway. Reported by Eric Lindblad on xapian-discuss. * GCC < 3.4.2 lacks operator<< overloads for unsigned long long on some platforms, so simply work around this by using str(), as this isn't performance sensitive code. Reported by Eric Lindblad on xapian-discuss. * Fix delete which should be delete[] in brass backend cursor code.
2016-01-13 21:59:15 +01:00
# $NetBSD: Makefile,v 1.23 2016/01/13 20:59:15 schmonz Exp $
#
Update to 1.2.12: Xapian-core 1.2.12 (2012-06-27): build system: * 1.2.11 had its library version information incorrectly set. This resulted in the shared library having an incorrect SONAME - e.g. on Linux, libxapian.so.21 instead of libxapian.so.22. This release has been made to fix this problem. documentation: * AUTHORS: Add the GSoC students. Xapian-core 1.2.11 (2012-06-26): API: * Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all terms and adds a Z prefix. (Patch from Sehaj Singh Kalra, fixes ticket#562) * Add TermGenerator::set_stemming_strategy() method, with strategies which correspond to those of QueryParser. Based on patch from Sehaj Singh Kalra, with some tweaks for adding term positions in more cases. (Fixes ticket#563) * Correct "BM25Weight" to "TradWeight" in exception message from TradWeight. * We were failing to call init() for user-defined Weight objects providing the term-independent weight. These now get called with init(0.0). * Xapian::Auto::open_stub() now throws a Xapian::DatabaseOpeningError exception if the stub file can't be opened. Previously we failed to check for this condition, which resulted in us treating the file as empty. testsuite: * When the testsuite is using valgrind, we used to run remote servers under valgrind too (but with --tool=none) to get consistent behaviour as valgrind's emulation of x87 excess precision isn't exact. Now we only do this if x87 FP instructions are actually in use (which means x86 architecture and configure run with --disable-sse). * Make sure XAPIAN_MAX_CHANGESETS gets unset after replication testcases which set it, so further testcases don't waste time generating changesets. * Improved test coverage (including more tests for closed databases - ticket#337). brass backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. chert backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. inmemory backend: * Check if the database is closed in metadata_keys_begin() for InMemory Databases. build system: * xapian-config: Don't interpret a missing .la file as meaning that we only have static libraries. documentation: * Fix API documentation for Query constructors - both XOR and ELITE_SET can take any number of subqueries, not only exactly two. * Backport missing API documentation comments for operator++ and operator* methods or PositionIterator, PostingIterator and TermGenerator. * docs/replication.rst: Update documentation - since 1.2.5, the value of XAPIAN_MAX_CHANGESETS determines how many changesets we keep. * docs/admin_notes.rst: Correction - we don't "create a lock file", we "lock a file". * Fix API documentation for TradWeight constructor - "k1" should be "k". portability: * configure: Overhaul handling of compilers which pretend to be GCC. Clang is now detected, and we only pass it warning flags it actually understands. And we now check for symbol visibility support with Intel's compiler. * configure: Solaris automatically pulls in library dependencies, so set link_all_deplibs_CXX=no there. * configure: We now check -Bsymbolic-functions for all compilers. * configure: Enable -Wdouble-promotion for GCC >= 4.6. * Pass -ldl last when compiling zlib-vg.so, as that seems to be needed on Ubuntu 12.04. * Fix incorrect use of "delete" which should be "delete []". This is undefined behaviour in C++, though the type is POD, so in practice this probably worked OK on many platforms. * In BM25Weight when k1 or b is zero (not the default), we used to multiply an uninitialised double by zero, which is undefined behaviour, but in practice will often give zero, leading to the desired results. * xapian.h: Add check for Qt headers being included before us and defining 'slots' as a macro - if they are, give a clear error advising how to work around this (previously compilation would fail with a confusing error). Xapian-core 1.2.10 (2012-05-09): API: testsuite: * apitest: Extend tradweight1 to test that TradWeight(0) means that wdf and document length don't affect the weight of a term. * termgentest: Check that TermGenerator discards words > 64 bytes. matcher: * Don't count unweighted subqueries of MultiAndPostList in percentage calculations, as OP_FILTER maps to MultiAndPostList now. (ticket#590) brass backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. chert backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. documentation: * API documentation: + Note version when Database::close() was added. + Fix switched lower and upper in API documentation for Weight methods get_doclength_lower_bound() and get_doclength_upper_bound(). Correct maximum to minimum in get_doclength_lower_bound() comment and note that this excludes zero length documents. Fix "An lower" to "A lower". * docs/admin_notes.html: Mention that postlist and termlist tables also hold value info for chert. Mention that xapian-chert-update was removed in 1.3.0. Mention that you need to use copydatabase from 1.2.x to convert flint to chert. * HACKING: Update section on patches to mention git (git diff and git format-patch), and using "-r" with normal diff, and also that ptardiff offers a nice way to diff against an unpacked tarball. debug code: * Fix use of AssertEq() on NULL, which doesn't compile, at least with recent GCC. Xapian-core 1.2.9 (2012-03-08): API: * QueryParser: Fix FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too (but in a different way to trunk so as to not break the ABI). matcher: * Fix issue with running AND, OR and XOR queries against a database with no documents in it - this was leading to a divide by zero, which led to MSet::get_matches_estimated() reporting 2147483648 on i386. build system: * Remove configure's --with-stlport and --with-stlport-compiler options, as they don't allow you to actually specify what you need to (at least to use the Debian STLport package), and instead document what to pass to configure to enable building with STLport (though it seems to no longer be actively maintained, and the debug mode (which is probably the most interesting feature now) doesn't seem to work on Debian stable). documentation: * Document that OP_ELITE_SET with non-term subqueries might pick subqueries which don't match anything. Closes ticket#49. * Document that you can define a static operator delete method in your subclass if deallocation needs to be handled specially. (Closes ticket#554) * Assorted minor documentation improvements. portability: * Address new warnings from GCC 4.6. * Fix argument order when linking xapian-check to fix mingw build. (ticket#567) * Add some missing explicit header includes to fix build with STLport.
2012-10-10 18:10:31 +02:00
DISTNAME= xapian-core-${VERSION}
Update to 1.2.22. From the changelog: API: * Add FLAG_CJK_NGRAM for QueryParser and TermGenerator. Has the same effect as setting the environment variable XAPIAN_CJK_NGRAM. Fixes #180, reported by Richard Boulton, with contributions from Pavel Strashkin, Mikkel Kamstrup Erlandsen and Brandon Schaefer. * Fix bug parsing multiple non-exclusive filter terms - previously this could result in such filters effectively being ignored. * Fix Database::get_doclength_lower_bound() over multiple databases when some are empty or consist only of zero-length documents. Previously this would report a lower bound of zero, now it reports the same lowest bound as a single database containing all the same documents. * Make Database::get_wdf_upper_bound("") return 0. * Mark constructors taking a single argument as "explicit" to avoid unwanted implicit conversions. testsuite: * If command line option --verbose/-v isn't specified, set the verbosity level from environmental variable VERBOSE. * Skip timed tests if $AUTOMATED_TESTING is set. Fixes #553, reported by Dagobert Michelsen. * Don't leave an extra fd open when starting xapian-tcpsrv for remotetcp tests. * apitest: Revert disabling of part of adddoc5 for clang - the test failure was in fact due to a bug in 1.3.x, and 1.2.x was never affected. * apitest: Tweak bounds checks in dbstats1 testcase - multi backends should give tight bounds. brass backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. chert backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. flint backend: * Format limit on docid now correctly imposed when sizeof(int) > 4. * Avoid potential DB corruption with full-compaction when using 64K blocks. remote backend: * Fix to handle total document length exceeding 34,359,738,368. (Fixes #678, reported by matf). * Avoid dividing by zero when getting the average length for an empty database. * Stop apparent error from remote server when read-only client disconnects. A read-only client just closes the connection when done, but the server previously reported "Got exception NetworkError: Received EOF", which sounds like there was a problem. Now we just say "Connection closed" here, and "Connection closed unexpectedly" if the client connects in the middle of an exchange. Possibly fixes #654, reported by German M. Bravo. * Give a clearer error message when the client and server remote protocol versions aren't compatible. * Check length of key in MSG_SETMETADATA. build system: * pkg-config: Fix library name in .pc file to say "xapian" not "xapian-core". Reported by Eric Lindblad to the xapian-devel list. * Private symbol decode_length() is no longer visible outside the library. documentation: * Stop maintaining ChangeLog files. They make merging patches harder, and stop 'git cherry-pick' from working as it should. The git repo history should be sufficient for complying with GPLv2 2(a). * Strip out "quickstart" examples which are out of date and rather redundant with the "simple" examples. * Correct documentation of Enquire::get_query(). If no query has been set, the documentation said Xapian::InvalidArgumentError was thrown, but in fact we just return a default initialised Query object (i.e. Query()). This seems reasonable behaviour and has been the case since Xapian 0.9.0. * Document xapian-compact --blocksize takes an argument. * Update snowball website link to snowballstem.org. tools: * xapian-replicate: Fix replication for files > 4GB on 32-bit platforms. Previously replication would fail to copy a file whose size didn't fit in size_t. Fixes #685, reported by Josh Elsasser. * xapian-tcpsrv: Better error if -p/--port not specified * quest: Support `-f cjk_ngram`. examples: * xapian-metadata: Extend "list" subcommand to take optional key prefix. portability: * Fix new warnings from recent versions of GCC and clang. * Add spaces between literal strings and macros which expand to literal strings for C++11 compatibility in __WIN32__-specific code. * Need <unistd.h> for unlink() on FreeBSD, reported by Germán M. Bravo via github PR 72. * Fix testsuite to build when S_ISSOCK() isn't defined. * Don't provide our own implementation of sleep() under __WIN32__ if there already is one - mingw provides one, and in some situations it seems to clash with ours. Reported to xapian-discuss by John Alveris. * Add missing '#include <arpa/inet.h>' to htons(). Seems to be implicitly included on most platforms, but Interix needs it. Reported by Eric Lindblad on xapian-discuss. * Disable "<FUNCTION> is expected to return a value" warning from Sun's C++ compiler, as it fires for functions ending in a "throw" statement. Genuine instances will be caught by compilers with superior warning machinery. * Prefer scalbn() to ldexp() where possible, since the former doesn't ever set errno. * '#include <config.h>' in the "simple" examples, as when compiling with xlC on AIX, _LARGE_FILES gets defined by AC_SYS_LARGEFILE to enable large file support, and defining this changes the ABI of std::string, so it also needs to be defined when compiling code using Xapian. * On cygwin, include <arpa/inet.h> instead of winsock headers for htons() and htonl(). * Include <cygwin/version.h> for CYGWIN_VERSION_API_MAJOR. * Avoid referencing static members via an object in that object's own definition, as this doesn't work with all compilers (noted with GCC 3.3), and is a bit of an odd construct anyway. Reported by Eric Lindblad on xapian-discuss. * GCC < 3.4.2 lacks operator<< overloads for unsigned long long on some platforms, so simply work around this by using str(), as this isn't performance sensitive code. Reported by Eric Lindblad on xapian-discuss. * Fix delete which should be delete[] in brass backend cursor code.
2016-01-13 21:59:15 +01:00
VERSION= 1.2.22
Update to 1.2.12: Xapian-core 1.2.12 (2012-06-27): build system: * 1.2.11 had its library version information incorrectly set. This resulted in the shared library having an incorrect SONAME - e.g. on Linux, libxapian.so.21 instead of libxapian.so.22. This release has been made to fix this problem. documentation: * AUTHORS: Add the GSoC students. Xapian-core 1.2.11 (2012-06-26): API: * Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all terms and adds a Z prefix. (Patch from Sehaj Singh Kalra, fixes ticket#562) * Add TermGenerator::set_stemming_strategy() method, with strategies which correspond to those of QueryParser. Based on patch from Sehaj Singh Kalra, with some tweaks for adding term positions in more cases. (Fixes ticket#563) * Correct "BM25Weight" to "TradWeight" in exception message from TradWeight. * We were failing to call init() for user-defined Weight objects providing the term-independent weight. These now get called with init(0.0). * Xapian::Auto::open_stub() now throws a Xapian::DatabaseOpeningError exception if the stub file can't be opened. Previously we failed to check for this condition, which resulted in us treating the file as empty. testsuite: * When the testsuite is using valgrind, we used to run remote servers under valgrind too (but with --tool=none) to get consistent behaviour as valgrind's emulation of x87 excess precision isn't exact. Now we only do this if x87 FP instructions are actually in use (which means x86 architecture and configure run with --disable-sse). * Make sure XAPIAN_MAX_CHANGESETS gets unset after replication testcases which set it, so further testcases don't waste time generating changesets. * Improved test coverage (including more tests for closed databases - ticket#337). brass backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. chert backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. inmemory backend: * Check if the database is closed in metadata_keys_begin() for InMemory Databases. build system: * xapian-config: Don't interpret a missing .la file as meaning that we only have static libraries. documentation: * Fix API documentation for Query constructors - both XOR and ELITE_SET can take any number of subqueries, not only exactly two. * Backport missing API documentation comments for operator++ and operator* methods or PositionIterator, PostingIterator and TermGenerator. * docs/replication.rst: Update documentation - since 1.2.5, the value of XAPIAN_MAX_CHANGESETS determines how many changesets we keep. * docs/admin_notes.rst: Correction - we don't "create a lock file", we "lock a file". * Fix API documentation for TradWeight constructor - "k1" should be "k". portability: * configure: Overhaul handling of compilers which pretend to be GCC. Clang is now detected, and we only pass it warning flags it actually understands. And we now check for symbol visibility support with Intel's compiler. * configure: Solaris automatically pulls in library dependencies, so set link_all_deplibs_CXX=no there. * configure: We now check -Bsymbolic-functions for all compilers. * configure: Enable -Wdouble-promotion for GCC >= 4.6. * Pass -ldl last when compiling zlib-vg.so, as that seems to be needed on Ubuntu 12.04. * Fix incorrect use of "delete" which should be "delete []". This is undefined behaviour in C++, though the type is POD, so in practice this probably worked OK on many platforms. * In BM25Weight when k1 or b is zero (not the default), we used to multiply an uninitialised double by zero, which is undefined behaviour, but in practice will often give zero, leading to the desired results. * xapian.h: Add check for Qt headers being included before us and defining 'slots' as a macro - if they are, give a clear error advising how to work around this (previously compilation would fail with a confusing error). Xapian-core 1.2.10 (2012-05-09): API: testsuite: * apitest: Extend tradweight1 to test that TradWeight(0) means that wdf and document length don't affect the weight of a term. * termgentest: Check that TermGenerator discards words > 64 bytes. matcher: * Don't count unweighted subqueries of MultiAndPostList in percentage calculations, as OP_FILTER maps to MultiAndPostList now. (ticket#590) brass backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. chert backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. documentation: * API documentation: + Note version when Database::close() was added. + Fix switched lower and upper in API documentation for Weight methods get_doclength_lower_bound() and get_doclength_upper_bound(). Correct maximum to minimum in get_doclength_lower_bound() comment and note that this excludes zero length documents. Fix "An lower" to "A lower". * docs/admin_notes.html: Mention that postlist and termlist tables also hold value info for chert. Mention that xapian-chert-update was removed in 1.3.0. Mention that you need to use copydatabase from 1.2.x to convert flint to chert. * HACKING: Update section on patches to mention git (git diff and git format-patch), and using "-r" with normal diff, and also that ptardiff offers a nice way to diff against an unpacked tarball. debug code: * Fix use of AssertEq() on NULL, which doesn't compile, at least with recent GCC. Xapian-core 1.2.9 (2012-03-08): API: * QueryParser: Fix FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too (but in a different way to trunk so as to not break the ABI). matcher: * Fix issue with running AND, OR and XOR queries against a database with no documents in it - this was leading to a divide by zero, which led to MSet::get_matches_estimated() reporting 2147483648 on i386. build system: * Remove configure's --with-stlport and --with-stlport-compiler options, as they don't allow you to actually specify what you need to (at least to use the Debian STLport package), and instead document what to pass to configure to enable building with STLport (though it seems to no longer be actively maintained, and the debug mode (which is probably the most interesting feature now) doesn't seem to work on Debian stable). documentation: * Document that OP_ELITE_SET with non-term subqueries might pick subqueries which don't match anything. Closes ticket#49. * Document that you can define a static operator delete method in your subclass if deallocation needs to be handled specially. (Closes ticket#554) * Assorted minor documentation improvements. portability: * Address new warnings from GCC 4.6. * Fix argument order when linking xapian-check to fix mingw build. (ticket#567) * Add some missing explicit header includes to fix build with STLport.
2012-10-10 18:10:31 +02:00
PKGNAME= xapian-${VERSION}
2012-01-10 03:41:29 +01:00
CATEGORIES= textproc
Update to 1.2.12: Xapian-core 1.2.12 (2012-06-27): build system: * 1.2.11 had its library version information incorrectly set. This resulted in the shared library having an incorrect SONAME - e.g. on Linux, libxapian.so.21 instead of libxapian.so.22. This release has been made to fix this problem. documentation: * AUTHORS: Add the GSoC students. Xapian-core 1.2.11 (2012-06-26): API: * Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all terms and adds a Z prefix. (Patch from Sehaj Singh Kalra, fixes ticket#562) * Add TermGenerator::set_stemming_strategy() method, with strategies which correspond to those of QueryParser. Based on patch from Sehaj Singh Kalra, with some tweaks for adding term positions in more cases. (Fixes ticket#563) * Correct "BM25Weight" to "TradWeight" in exception message from TradWeight. * We were failing to call init() for user-defined Weight objects providing the term-independent weight. These now get called with init(0.0). * Xapian::Auto::open_stub() now throws a Xapian::DatabaseOpeningError exception if the stub file can't be opened. Previously we failed to check for this condition, which resulted in us treating the file as empty. testsuite: * When the testsuite is using valgrind, we used to run remote servers under valgrind too (but with --tool=none) to get consistent behaviour as valgrind's emulation of x87 excess precision isn't exact. Now we only do this if x87 FP instructions are actually in use (which means x86 architecture and configure run with --disable-sse). * Make sure XAPIAN_MAX_CHANGESETS gets unset after replication testcases which set it, so further testcases don't waste time generating changesets. * Improved test coverage (including more tests for closed databases - ticket#337). brass backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. chert backend: * After closing the database, methods which try to use the termlist would throw FeatureUnavailableError with message "Database has no termlist", assuming that the termlist table not being open meant it wasn't present. Fix to check if the postlist_table is open to determine which case we're in. inmemory backend: * Check if the database is closed in metadata_keys_begin() for InMemory Databases. build system: * xapian-config: Don't interpret a missing .la file as meaning that we only have static libraries. documentation: * Fix API documentation for Query constructors - both XOR and ELITE_SET can take any number of subqueries, not only exactly two. * Backport missing API documentation comments for operator++ and operator* methods or PositionIterator, PostingIterator and TermGenerator. * docs/replication.rst: Update documentation - since 1.2.5, the value of XAPIAN_MAX_CHANGESETS determines how many changesets we keep. * docs/admin_notes.rst: Correction - we don't "create a lock file", we "lock a file". * Fix API documentation for TradWeight constructor - "k1" should be "k". portability: * configure: Overhaul handling of compilers which pretend to be GCC. Clang is now detected, and we only pass it warning flags it actually understands. And we now check for symbol visibility support with Intel's compiler. * configure: Solaris automatically pulls in library dependencies, so set link_all_deplibs_CXX=no there. * configure: We now check -Bsymbolic-functions for all compilers. * configure: Enable -Wdouble-promotion for GCC >= 4.6. * Pass -ldl last when compiling zlib-vg.so, as that seems to be needed on Ubuntu 12.04. * Fix incorrect use of "delete" which should be "delete []". This is undefined behaviour in C++, though the type is POD, so in practice this probably worked OK on many platforms. * In BM25Weight when k1 or b is zero (not the default), we used to multiply an uninitialised double by zero, which is undefined behaviour, but in practice will often give zero, leading to the desired results. * xapian.h: Add check for Qt headers being included before us and defining 'slots' as a macro - if they are, give a clear error advising how to work around this (previously compilation would fail with a confusing error). Xapian-core 1.2.10 (2012-05-09): API: testsuite: * apitest: Extend tradweight1 to test that TradWeight(0) means that wdf and document length don't affect the weight of a term. * termgentest: Check that TermGenerator discards words > 64 bytes. matcher: * Don't count unweighted subqueries of MultiAndPostList in percentage calculations, as OP_FILTER maps to MultiAndPostList now. (ticket#590) brass backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. chert backend: * When compacting, if the output database is empty, don't write out a metainfo tag. Take care not to divide by zero when computing the percentage size change for a table. documentation: * API documentation: + Note version when Database::close() was added. + Fix switched lower and upper in API documentation for Weight methods get_doclength_lower_bound() and get_doclength_upper_bound(). Correct maximum to minimum in get_doclength_lower_bound() comment and note that this excludes zero length documents. Fix "An lower" to "A lower". * docs/admin_notes.html: Mention that postlist and termlist tables also hold value info for chert. Mention that xapian-chert-update was removed in 1.3.0. Mention that you need to use copydatabase from 1.2.x to convert flint to chert. * HACKING: Update section on patches to mention git (git diff and git format-patch), and using "-r" with normal diff, and also that ptardiff offers a nice way to diff against an unpacked tarball. debug code: * Fix use of AssertEq() on NULL, which doesn't compile, at least with recent GCC. Xapian-core 1.2.9 (2012-03-08): API: * QueryParser: Fix FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too (but in a different way to trunk so as to not break the ABI). matcher: * Fix issue with running AND, OR and XOR queries against a database with no documents in it - this was leading to a divide by zero, which led to MSet::get_matches_estimated() reporting 2147483648 on i386. build system: * Remove configure's --with-stlport and --with-stlport-compiler options, as they don't allow you to actually specify what you need to (at least to use the Debian STLport package), and instead document what to pass to configure to enable building with STLport (though it seems to no longer be actively maintained, and the debug mode (which is probably the most interesting feature now) doesn't seem to work on Debian stable). documentation: * Document that OP_ELITE_SET with non-term subqueries might pick subqueries which don't match anything. Closes ticket#49. * Document that you can define a static operator delete method in your subclass if deallocation needs to be handled specially. (Closes ticket#554) * Assorted minor documentation improvements. portability: * Address new warnings from GCC 4.6. * Fix argument order when linking xapian-check to fix mingw build. (ticket#567) * Add some missing explicit header includes to fix build with STLport.
2012-10-10 18:10:31 +02:00
MASTER_SITES= http://oligarchy.co.uk/xapian/${VERSION}/
Update to 1.2.17. From the changelog: API: * Enquire::set_sort_by_relevance_then_value() and Enquire::set_sort_by_relevance_then_key(): Fix sense of reverse parameter. Reported by "boomboo" on IRC. * BM25Weight: Fix case where (k1 == 0 || b == 0) but k2 != 0. Reported by "boomboo" on IRC. * Unicode::tolower(): Fix to give correct results for U+01C5, U+01C8, U+01CB, and U+01F2 (previously these were left unchanged). * PositionIterator,PostingIterator,TermIterator,ValueIterator: Don't segfault if skip_to() or check() is called on an iterator which is already at_end(). Reported by David Bremner. * ValueCountMatchSpy: get_description() on a default-constructed ValueCountMatchSpy object no longer fails when xapian-core is built with --enable-log. * ValueCountMatchSpy: get_total() on a default-constructed ValueCountMatchSpy object now returns 0 rather than segfaulting. testsuite: * Automatically probe for and hook in eatmydata to the testsuite using the wrapper script it now includes. * Fix apitest to build when brass, chert or flint are disabled. * If -v/--verbose is specified more than once to a test program, show the diagnostic output for passing tests as well as failing/skipped ones. * queryparsertest: Change qp_scale1 to time 5 repetitions of the large query to help average out variations. * queryparsertest: Add test coverage for explicit synonym of a term with a prefix (e.g. ~foo:search). * apitest: Remove code from registry* testcases which tries to test the consequences of throwing an exception from a destructor - it's complex to ensure we don't leak memory while doing this (it seems GCC doesn't release the object in this case, but clang does), and it's generally frowned upon, plus C++11 makes destructors noexcept by default. * Fix "make check" to actually removed cached databases first, as is intended. brass backend: * Fix handling of invalid block sizes passed to Xapian::Brass::open() - the size gets fixed as documented, but the uncorrected size was passed to the base file (and abort() was called if 0 was passed). * Validate "dir_end" when reading a block. (fixes #592) * When moving a cursor on a read-only table, check if the block we want is in the internal cursor. We already do this for a writable table, as it is necessary for correctness, but it's a cheap check and may avoid asking the OS for a block we actually already have. * Correctly report the database as closed rather than 'Bad file descriptor' in certain cases. * Reuse a cursor for reading values from valuestreams rather than creating a new one each time. This can dramatically reduce the number of blocks redundantly reread when sorting by value. The rereads will generally get served from VM cache, but there's still an overhead to that. chert backend: * Fix handling of invalid block sizes passed to Xapian::Chert::open() - the size gets fixed as documented, but the uncorrected size was passed to the base file (and abort() was called if 0 was passed). * Validate "dir_end" when reading a block. (fixes #592) * When moving a cursor on a read-only table, check if the block we want is in the internal cursor. We already do this for a writable table, as it is necessary for correctness, but it's a cheap check and may avoid asking the OS for a block we actually already have. * Correctly report the database as closed rather than 'Bad file descriptor' in certain cases. * Reuse a cursor for reading values from valuestreams rather than creating a new one each time. This can dramatically reduce the number of blocks redundantly reread when sorting by value. The rereads will generally get served from VM cache, but there's still an overhead to that. flint backend: * Fix handling of invalid block sizes passed to Xapian::Flint::open() - the size gets fixed as documented, but the uncorrected size was passed to the base file (and abort() was called if 0 was passed). * Validate "dir_end" when reading a block. (fixes #592) * When moving a cursor on a read-only table, check if the block we want is in the internal cursor. We already do this for a writable table, as it is necessary for correctness, but it's a cheap check and may avoid asking the OS for a block we actually already have. * Correctly report the database as closed rather than 'Bad file descriptor' in certain cases. build system: * configure: Improve reporting of GCC version. * Use -no-fast-install on platforms where -no-install causes libtool to emit a warning. * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS. * Include UnicodeData.txt and the script to generate the unicode tables from it. * Compress source tarballs with xz instead of gzip. * Split XAPIAN_LIBS out of XAPIAN_LDFLAGS so that -l flags for libraries configure detects are needed appear after -L flags specified by the user that may be needed to find such libraries. (fixes#626) * XO_LIB_XAPIAN now handles the user specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure XAPIAN_CONFIG=../xapian-core/xapian-config" * Adjust XO_LIB_XAPIAN to strip _gitNNN suffix from snapshot versions. * configure: Handle git snapshot naming when calculating REVISION. * configure: Enable -fshow-column for GCC - things like vim's quickfix mode will then jump to the appropriate column for a compiler error or warning, not just the appropriate line. * configure: Report GCC version in configure output. documentation: * postingsource.rst: Clarify a couple of points (reported by "vHanda" on IRC). * The API documentation shipped with the release is now generated with doxygen 1.8.5 instead of 1.5.9, which is most evident in the different HTML styling newer doxygen uses. * Document how Utf8Iterator handles invalid UTF-8 in API documentation. * Improve how descriptions of deprecated features appear in the API documentation. * docs/remote_protocol.rst: Correct error in documentation of REPLY_DOCDATA message. * docs/overview.rst: Correct documentation for how to specify "prog" remote databases in stub files. * Direct users to git in preference to SVN - we'll be switching entirely in the near future. portability: * Protect the ValueIterator::check() method against Mac OS X SDK headers which define a check() macro. * Fix warning from xlC compiler. * Avoid use of grep -e in configure, as /usr/bin/grep on Solaris doesn't support -e. * Fix check for flags which might be needed for ANSI mode for compilers called 'cxx'. * configure: Improve handling of Sun's C++ compiler - trick libtool into not adding -library=Cstd, and prefer -library=stdcxx4 if supported. Explicitly add -library=Crun which seems to be required, even though the documentation suggests otherwise. * configure: clang doesn't support -Wstrict-null-sentinel or -Wlogical-op, so don't pass it these options. * Fix build errors and warnings with mingw. * Suppress "unused local typedef" warnings from GCC 4.8. * If the compiler supports C++11, use static_assert to implement CompileTimeAssert. * tests/zlib-vg.c: Fix two warnings when compiled with clang. * Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying the top() element of a heap before calling pop(), such that the heap comparison operation (which is called when -D_GLIBCXX_DEBUG is on to verify the heap is valid) would read off the end of the data. In a normal build, this issue would likely never manifest. * configure: When generating ABI compatibility checks in xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they could contain options which affect the ABI (such as -fabi-version for GCC). (Fixes #622) * Microsoft GUIDs in binary form have reversed byte order in the first three components compared to standard UUIDs, so the same database would report a different UUID on Windows to on other platforms. We now swap the bytes to match the standard order. With this fix, the UUIDs of existing databases will appear to change on Windows (except in rare "palindronic" cases). * Fix a couple of issues to get Xapian to build and work on AIX. * common/safeuuid.h: Remove bogus take-address-of from uuid handling code for NetBSD and OpenBSD. * Under cygwin, use cygwin_conv_path() if using a new enough cygwin version, rather than the now deprecated cygwin_conv_to_win32_path(). Reported by "Haroogan" on the xapian-devel mailing list. * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free with std. * Fix 'unused label' warning when chert backend is disabled. * xapian.h: Add check for Wt headers being included before us and defining 'slots' as a macro - if they are, give a clear error advising how to work around this (previously compilation would fail with a confusing error). tools: * xapian-chert-update: Fix -b to work rather than always segfaulting (reported in http://bugs.debian.org/716484). * xapian-chert-update: The documented alias --blocksize for -b has never actually been supported, so just drop mentions of it from --help and the man page. * xapian-check: + Fix chert database check that first docid in each doclength chunk is more than the last docid in the previous chunk - previously this didn't actually work. + Fix database check not to falsely report "position table: Junk after position data" whenever there are 7 unused bits (7 is OK, *more* than 7 isn't). + Fix to report block numbers correctly for links within the B-tree. + If the METAINFO key is missing, only report it once per table. + Fix database consistency checking to always open all the tables at the same revision - not doing this could lead to false errors being reported after a commit interrupted by the process being killed or the machine crashing. Reported by Joey Hess in http://bugs.debian.org/724610 examples: * quest: Add --check-at-least option. debug code: * Fix assertion failure for when an OrPostList decays to an AndPostList - the ordering of the subqueries by estimated termfreq may not be the same as it was when the OrPostList was constructed, as the subqueries may themselves have decayed. Reported by Michel Pelletier. * Fix -Wcast-qual warning from GCC 4.7 when configured with --enable-log.
2014-02-20 20:15:14 +01:00
EXTRACT_SUFX= .tar.xz
2012-01-10 03:41:29 +01:00
MAINTAINER= schmonz@NetBSD.org
HOMEPAGE= http://xapian.org/
COMMENT= Probabilistic Information Retrieval search engine
LICENSE= gnu-gpl-v2
2012-01-10 03:41:29 +01:00
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
USE_LANGUAGES= c c++
2012-01-10 03:41:29 +01:00
TEST_TARGET= check
Update to 1.0.12. From the changelog: * WritableDatabase::remove_spelling() now works properly. * The QueryParser now treats NON_SPACING_MARK Unicode characters as phrase generators, which improves handling of Arabic. This is a stop-gap solution for 1.0.x which will work with existing databases without requiring reindexing - in 1.1.0, NON_SPACING_MARK will be regarded as part of a word. (ticket#355) * Fix undefined behaviour in distribution of OP_NEAR and OP_PHRASE over a non-leaf subquery (indentified by valgrind on testcase nearsubqueries1). (ticket#349) * Enhance distribution of OP_NEAR/OP_PHRASE over non-leaf subqueries to work when there are multiple non-leaf subqueries (ticket#201). * Enquire::get_mset() no longer needlessly checks if the documents exist. * PostingIterator::get_description() output improved visually in some cases. * Enquire::get_mset(): + Now throws UnimplementedError if there's a percentage cutoff and sorting is primarily by value - this has never been correctly supported and it's better to warn people than give incorrect results. + No longer needlessly copies the results internally. + When searching multiple databases, now recalculates the maximum attainable weight after each database which may allow it to terminate earlier. (ticket#336). + Fix inconsistent percentage scores when sorting primarily by value, except when a MatchDecider is also being used; document this remaining problem case. (ticket#216) * Enquire::set_sort_by_value() (and similar methods): Rename the wrongly named "ascending" parameter to "reverse", and note that its value should always be explicitly given since defaulting to "reverse=true" is confusing and the default will be deprecated in 1.1.0. (ticket#311) * Database::allterms_begin(): Fix memory leak when iterating all terms from more than one database. * Query::get_terms_begin(): Don't return "" from the TermIterator (happened when the query contained or was Query::MatchAll). * Add QueryParser::FLAG_DEFAULT to make it easier to add flags to those set by default.
2009-04-21 00:25:12 +02:00
.include "../../devel/libuuid/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"