pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/textproc/xapian Update to 1.4.2. From the changelog:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e576eebbb4a6
branches:  trunk
changeset: 356468:e576eebbb4a6
user:      schmonz <schmonz%pkgsrc.org@localhost>
date:      Sun Jan 01 10:40:49 2017 +0000

description:
Update to 1.4.2. From the changelog:

API:

* Add XAPIAN_AT_LEAST(A,B,C) macro.

* MSet::snippet(): Optimise snippet generation - it's now ~46% faster in a
  simple test.

* Add Xapian::DOC_ASSUME_VALID flag which tells Database::get_document() that
  it doesn't need to check that the passed docid is valid.  Fixes #739,
  reported by Germ?n M. Bravo.

* TfIdfWeight: Add support for the L wdf normalisation.  Patch from Vivek Pal.

* BB2Weight: Fix weights when database has just one document.  Our existing
  attempt to clamp N to be at least 2 was ineffective due to computing
  N - 2 < 0 in an unsigned type.

* DPHWeight: Fix reversed sign in quadratic formula, making the upper bound a
  tiny amount higher.

* DLHWeight: Correct upper bound which was a bit too low, due to flawed logic
  in its derivation.  The new bound is slightly less tight (by a few percent).

* DLHWeight,DPHWeight: Avoid calculating log(0) when wdf is equal to the
  document length.

* TermGenerator: Handle stemmer returning empty string - the Arabic stemmer
  can currently do this (e.g. for a single tatweel) and user stemmers can too.
  Fixes #741, reported by Emmanuel Engelhart.

* Database::check(): Fix check that the first docid in each doclength chunk is
  more than the last docid in the previous chunk - this code was in the wrong
  place so didn't actually work.

* Database::get_unique_terms(): Clamp returned value to be <= document length.
  Ideally get_unique_terms() ought to only count terms with wdf > 0, but that's
  expensive to calculate on demand.

glass backend:

* When compacting we now only write the iamglass file out once, and we write it
  before we sync the tables but sync it after, which is more I/O friendly.

* Database::check(): Fix in SEGV when out == NULL and opts != 0.

* Fix potential SEGV with corrupt value stats.

chert backend:

* Fix potential SEGV with corrupt value stats.

build system:

* Add XO_REQUIRE autoconf macro to provide an easy way to handle version checks
  in user configure scripts.

tools:

* quest: Support BM25+, LM and PL2+ weighting schemes.

* xapian-check: Fix when ellipses are shown in 't' mode.  They were being shown
  when there were exactly 6 entries, but we only start omitting entries when
  there are *more* than 6.  Fix applies to both glass and chert.

portability:

* Avoid using opendir()/readdir() in our closefrom() implementation as these
  functions can call malloc(), which isn't safe to do between fork() and exec()
  in a multi-threaded program, but after fork() is exactly where we want to
  use closefrom().  Instead we now use getdirentries() on Linux and
  getdirentriesattr() on OS X (OS X support bugs shaken out with help from
  Germ?n M. Bravo).

* Support reading UUIDs from /proc/sys/kernel/random/uuid which is especially
  useful when building for Android, as it avoids having to cross-build a UUID
  library.

* Disable volatile workaround for excess precision SEGV for SSE - previously it
  was only being disabled for SSE2.

* When building for x86 using a compiler where we don't know how to disable
  use of 387 FP instructions, we now run remote servers for the testsuite under
  valgrind --tool=none, like we do when --disable-sse is explicitly specified.

* Add alignment_cast<T> which has the same effect as reinterpret_cast<T> but
  avoids warnings about alignment issues.

* Suppress warnings about unused private members.  DLHWeight and DPHWeight
  have an unused lower_bound member, which clang warns about, but we need to
  keep them there in 1.4.x to preserve ABI compatibility.

* Remove workaround for g++ 2.95 bug as we require at least 4.7 now.

* configure: Probe for <cxxabi.h>.  GCC added this header in GCC 3.1, which
  is much older than we support, so we've just assumed it was available if
  __GNUC__ was defined.  However, clang lies and defines __GNUC__ yet doesn't
  seem to reliably provide <cxxabi.h>, so we need to probe for it.

* Fix "unused assignment" warning.

* configure: Probe for __builtin_* functions.  Previously we just checked for
  __GNUC__ being defined, but it's cleaner to probe for them properly -
  compilers other than GCC and those that pretend to be GCC might provide these
  too.

* Use __builtin_clz() with compilers which support it to speed up encoding
  and especially decoding of positional data.  This speed up phrase searching
  by ~0.5% in a simple test.

* Check signed right shift behaviour at compile time - we can use a test on a
  constant expression which should optimise away to just the required version
  of the code, which means that on platforms which perform sign-extension
  (pretty much everything current it seems) we don't have to rely on the
  compiler optimising a portable idiom down to the appropriate right shift
  instruction.

* Improve configure check for log2().  We include <cmath> so the check really
  should succeed if only std::log2() is declared.

* Enable win32-dll option to LT_INIT.

debug code:

* xapian-inspect:

  + Support glass instead of chert.

  + Allow control of showing keys/tags.

  + Use more mnemonic letters than X for command arguments in help.

diffstat:

 textproc/xapian/Makefile |   4 ++--
 textproc/xapian/distinfo |  10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diffs (29 lines):

diff -r bfc8d16edba7 -r e576eebbb4a6 textproc/xapian/Makefile
--- a/textproc/xapian/Makefile  Sun Jan 01 09:15:17 2017 +0000
+++ b/textproc/xapian/Makefile  Sun Jan 01 10:40:49 2017 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.27 2016/11/23 16:11:52 wiedi Exp $
+# $NetBSD: Makefile,v 1.28 2017/01/01 10:40:49 schmonz Exp $
 
 DISTNAME=              xapian-core-${VERSION}
-VERSION=               1.4.1
+VERSION=               1.4.2
 PKGNAME=               xapian-${VERSION}
 CATEGORIES=            textproc
 MASTER_SITES=          http://oligarchy.co.uk/xapian/${VERSION}/
diff -r bfc8d16edba7 -r e576eebbb4a6 textproc/xapian/distinfo
--- a/textproc/xapian/distinfo  Sun Jan 01 09:15:17 2017 +0000
+++ b/textproc/xapian/distinfo  Sun Jan 01 10:40:49 2017 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.23 2016/11/07 13:02:17 schmonz Exp $
+$NetBSD: distinfo,v 1.24 2017/01/01 10:40:49 schmonz Exp $
 
-SHA1 (xapian-core-1.4.1.tar.xz) = 23eeb1f2883882c7c25e6d36221e3f33a40b4205
-RMD160 (xapian-core-1.4.1.tar.xz) = 6dd5dd3db4b4cc33385f7cbcb6d2f89151e27f8e
-SHA512 (xapian-core-1.4.1.tar.xz) = b1bb28e78609565a2690ef147231237dcfdd3b7f6108964962260a2678ab6483a4e1f2a795d2a3595e9d0a1567d6223b0cbe6ed9d95a455437f7f5c40e49389d
-Size (xapian-core-1.4.1.tar.xz) = 2793644 bytes
+SHA1 (xapian-core-1.4.2.tar.xz) = fe42396875c72136758ab97c1344761cbafc3b1a
+RMD160 (xapian-core-1.4.2.tar.xz) = 64d2630e5808bdebb77e9bee6e03439407e85c90
+SHA512 (xapian-core-1.4.2.tar.xz) = 2ea189068837c295b9c2065f06bdf5c4078114c0a07d5ea94f396baab806c038e0e8e8ae6b7702322255b2bc8a84025c0c03d20b87dd3de7c6854666b1c753a3
+Size (xapian-core-1.4.2.tar.xz) = 2799492 bytes
 SHA1 (patch-common_safesyssocket.h) = 032d441853914d510bc285bb682a98c4ee264d52



Home | Main Index | Thread Index | Old Index