xapian: update to 1.4.24. Changes:

testsuite:

* apitest: Add coverage that docids generated by replace_document() don't wrap
  to nomoredocids1 testcase.

* unittest: Improve block file functions unit test which were (unintentionally)
  trying to test with a 4TB sparse file, which not all platforms support.  A
  file just over 4GB is enough to test what we want, and if we trying to create
  one fails with errno EFBIG, indicating the file size is too large, we now
  skip the rest of the testcase.

* unittest: Catch Xapian::Error exceptions and rethrow the std::string returned
  by get_description() as the utestsuite harness doesn't know about
  Xapian::Error so was confusingly reporting it as "UNKNOWN EXCEPTION".

* The testsuite no longer reports NULL as the address associated with a
  signal when running on a platform without both sigaction() and SA_SIGINFO.

matcher:

* Reorder fields in each MSet entry to avoid structure padding on x86-64
  probably other 64-bit platforms.  This reduces the memory needed to hold an
  MSet by 8 bytes per entry on such platforms.

glass backend:

* Eliminate unnecessary memory allocations.  When committing changes, we were
  allocating blocks for all possible levels of the built-in cursor in each
  writable table, even those levels that weren't in use.

  The worst case is a really small database with all optional tables existing
  which would have 54 unused allocations of blocksize + 8 bytes, which with the
  default 8K block size is ~432KB per WritableDatabase; if you explicitly ask
  for 64K block size it'll be ~3.4MB.

  For a more typical WritableDatabase it's probably going to be more like half
  these numbers.

build system:

* Add --enable-werror configure option.

* configure: Only auto-enable -D_FORTIFY_SOURCE=2 if it works without
  additional libraries and remove the hard-coded block against using it
  on mingw.  Mingw-w64 v11.0.0 eliminated the requirement to link with -lssp
  and with this change we now auto-enable -D_FORTIFY_SOURCE=2 for it.

portability:

* swig-depcomp: Strip CR from generated files which fixes an issue in some
  cases when building from git on Microsoft Windows.

* We now avoid triggering SIGPIPE in library code on most platforms.

  On Unix-like platforms we want to avoid generating SIGPIPE when writing to a
  socket when the other end has been closed since signals break the
  encapsulation of what we're doing inside the library - either user code would
  need to handle the SIGPIPE, or we set a signal handler for SIGPIPE but that
  would handle *any* SIGPIPE in the process, not just those we might trigger,
  and that could break user code which expects to trigger and handle SIGPIPE.

  We don't need SIGPIPE since we can check errno==EPIPE instead (which is
  actually simpler to do).

  It seems all current Unix-like platforms now support SO_NOSIGPIPE or
  MSG_NOSIGNAL, so currently we just fall back to setting SIGPIPE to SIG_IGN.
  If there are actually current platforms which have SIGPIPE without
  SO_NOSIGPIPE or MSG_NOSIGNAL then we can look at other ways to avoid
  generating the signal.

* Avoid MSVC warning C4312 which is a reasonable warning in general, but in
  this case we checked that the value wasn't truncated when cast to an int.

* Use TEST_EQUAL_DOUBLE in netstats1 testcase which fixes testcase failure on
  FreeBSD.

* Address GCC13 -Wredundant-move warnings.  In 1.4.10 we added std::move()
  here to address clang warnings from -Wreturn-std-move (enabled by -Wall).
  Just removing the std::move() reintroduces those warning with clang 8 and
  clang 11 (but not clang 13 or later) but changing to apply a static_cast
  to the returned type seems to make all versions of both compilers happy.

* Fix build with UCRT64 variant of mingw-w64 by stopping defining
  __MSVCRT_VERSION__ by default.  It looks like doing so hasn't been needed
  since 2015.

* Add workaround for testsuite failures under Wine where attempting to unlink a
  stub file sometimes fails with errno == EACCES and _doserrno ==
  ERROR_SHARING_VIOLATION.  This is what you'd get if the file was still open,
  but we've already closed it.  Sleeping for a second and retrying makes it
  work, so we now do that.  It'd be better to get to the bottom of what's going
  on, but I've run out of ideas and this workaround is only in the testharness
  at least.

debug code:

* xapian-inspect:

  + `goto` and `until` now go to the entry *after* the specified key if there's
    no exact match, which seems more natural.

  + New `count" command.  This is actually just the same as `until` which
    already reports a count of the number of entries advanced by, except that
    `count` suppresses printing each entry.

Lua:

* Use pkg-config for Lua flags instead of some rather ad-hoc configure probes.
  This improves portability to platforms which require linking to a Lua
  library, or which install the Lua headers directly without a versioned
  containing directory.

PHP8:

* Update configure probe PHP_LIBS on cygwin.  Based on patch found in cygwin
  packaging, authored by Yaakov Selkowitz.

Tcl:

* Fix to handle the case of tcl_pkgPath not existing, which happens on
  Microsoft Windows builds of Tcl.

* run-tcl-test: Fix not to hardcode smoketest.tcl and instead run the program
  specified on the command line.

* Use TCL_SHLIB_EXT for the installed extension which is what Tcl expects.
  Previously the installed Tcl extension used the filename extension that
  libtool thinks is right for modules on the current platform.  We're not
  currently aware of platform where these actually differ, so this may be just
  a latent bug.

* Improve configure probe for stub library to work if the tclConfig.sh we find
  forwards to a different script, as is the case with /usr/lib/tclConfig.sh on
  current Debian.  On Debian at least our method for finding the tclConfig.sh
  to use doesn't find such a forwarding script, but it seems better to be
  robust to this.

* Eliminate special cygwin handling which is no longer needed.
This commit is contained in:
schmonz 2023-11-07 22:32:52 +00:00
parent 9254aa57a9
commit fc383b6b37
8 changed files with 52 additions and 33 deletions

View File

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.29 2023/04/19 08:11:36 adam Exp $
# $NetBSD: Makefile,v 1.30 2023/11/07 22:32:52 schmonz Exp $
PKGNAME= csharp-${PKGNAME_MODULE}
PKGREVISION= 1
COMMENT= C\# bindings for Xapian search engine
HOMEPAGE= https://xapian.org/docs/bindings/csharp/

View File

@ -1,11 +1,12 @@
# $NetBSD: Makefile,v 1.6 2022/01/02 09:31:59 schmonz Exp $
# $NetBSD: Makefile,v 1.7 2023/11/07 22:32:52 schmonz Exp $
PKGNAME= ${LUA_PKGPREFIX}-${PKGNAME_MODULE}
COMMENT= Lua bindings for Xapian search engine
HOMEPAGE= https://xapian.org/docs/bindings/lua/
CONFIGURE_ARGS+= --with-lua
CONFIGURE_ENV+= LUA_INC=${BUILDLINK_INCDIRS.${LUA_PACKAGE}}
CONFIGURE_ENV+= LUA_CFLAGS=-I${PREFIX:Q}/${LUA_INCDIR:Q}
CONFIGURE_ENV+= LUA_LIBS=-L${PREFIX:Q}/${LUA_CDIR:Q}
MAKE_ENV+= LUA_PKGPREFIX=${LUA_PKGPREFIX:Q}
REPLACE_LUA= lua/docs/examples/*.lua

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.common,v 1.21 2023/07/10 15:07:26 schmonz Exp $
# $NetBSD: Makefile.common,v 1.22 2023/11/07 22:32:52 schmonz Exp $
# used by textproc/csharp-xapian/Makefile
# used by textproc/lua-xapian/Makefile
# used by textproc/p5-Xapian/Makefile
@ -9,7 +9,7 @@
# used by textproc/xapian/Makefile
# used by textproc/xapian-omega/Makefile
VERSION= 1.4.23
VERSION= 1.4.24
CATEGORIES= textproc
MASTER_SITES= http://oligarchy.co.uk/xapian/${VERSION}/
EXTRACT_SUFX= .tar.xz

View File

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.19 2021/01/14 18:17:09 schmonz Exp $
@comment $NetBSD: PLIST,v 1.20 2023/11/07 22:32:52 schmonz Exp $
bin/copydatabase
bin/quest
bin/simpleexpand
@ -71,7 +71,7 @@ share/aclocal/xapian.m4
share/doc/xapian-core/admin_notes.html
share/doc/xapian-core/apidoc/html/annotated.html
share/doc/xapian-core/apidoc/html/bc_s.png
share/doc/xapian-core/apidoc/html/bdwn.png
share/doc/xapian-core/apidoc/html/bc_sd.png
share/doc/xapian-core/apidoc/html/classXapian_1_1AssertionError-members.html
share/doc/xapian-core/apidoc/html/classXapian_1_1AssertionError.html
share/doc/xapian-core/apidoc/html/classXapian_1_1AssertionError__inherit__graph.png
@ -346,7 +346,6 @@ share/doc/xapian-core/apidoc/html/database_8h.html
share/doc/xapian-core/apidoc/html/dbfactory_8h.html
share/doc/xapian-core/apidoc/html/deprecated.html
share/doc/xapian-core/apidoc/html/dir_f63502d618711192f85ccb772536c6ae.html
share/doc/xapian-core/apidoc/html/doc.png
share/doc/xapian-core/apidoc/html/document_8h.html
share/doc/xapian-core/apidoc/html/doxygen.css
share/doc/xapian-core/apidoc/html/dynsections.js
@ -356,8 +355,6 @@ share/doc/xapian-core/apidoc/html/errorhandler_8h.html
share/doc/xapian-core/apidoc/html/eset_8h.html
share/doc/xapian-core/apidoc/html/expanddecider_8h.html
share/doc/xapian-core/apidoc/html/files.html
share/doc/xapian-core/apidoc/html/folderclosed.png
share/doc/xapian-core/apidoc/html/folderopen.png
share/doc/xapian-core/apidoc/html/functions.html
share/doc/xapian-core/apidoc/html/functions_b.html
share/doc/xapian-core/apidoc/html/functions_c.html
@ -464,8 +461,10 @@ share/doc/xapian-core/apidoc/html/namespacemembers_type.html
share/doc/xapian-core/apidoc/html/namespacemembers_vars.html
share/doc/xapian-core/apidoc/html/namespaces.html
share/doc/xapian-core/apidoc/html/nav_f.png
share/doc/xapian-core/apidoc/html/nav_fd.png
share/doc/xapian-core/apidoc/html/nav_g.png
share/doc/xapian-core/apidoc/html/nav_h.png
share/doc/xapian-core/apidoc/html/nav_hd.png
share/doc/xapian-core/apidoc/html/open.png
share/doc/xapian-core/apidoc/html/pages.html
share/doc/xapian-core/apidoc/html/positioniterator_8h.html
@ -475,15 +474,20 @@ share/doc/xapian-core/apidoc/html/query_8h.html
share/doc/xapian-core/apidoc/html/queryparser_8h.html
share/doc/xapian-core/apidoc/html/registry_8h.html
share/doc/xapian-core/apidoc/html/splitbar.png
share/doc/xapian-core/apidoc/html/splitbard.png
share/doc/xapian-core/apidoc/html/stem_8h.html
share/doc/xapian-core/apidoc/html/structXapian_1_1LatLongCoord-members.html
share/doc/xapian-core/apidoc/html/structXapian_1_1LatLongCoord.html
share/doc/xapian-core/apidoc/html/sync_off.png
share/doc/xapian-core/apidoc/html/sync_on.png
share/doc/xapian-core/apidoc/html/tab_a.png
share/doc/xapian-core/apidoc/html/tab_ad.png
share/doc/xapian-core/apidoc/html/tab_b.png
share/doc/xapian-core/apidoc/html/tab_bd.png
share/doc/xapian-core/apidoc/html/tab_h.png
share/doc/xapian-core/apidoc/html/tab_hd.png
share/doc/xapian-core/apidoc/html/tab_s.png
share/doc/xapian-core/apidoc/html/tab_sd.png
share/doc/xapian-core/apidoc/html/tabs.css
share/doc/xapian-core/apidoc/html/termgenerator_8h.html
share/doc/xapian-core/apidoc/html/termiterator_8h.html

View File

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.49 2023/07/10 15:07:26 schmonz Exp $
$NetBSD: distinfo,v 1.50 2023/11/07 22:32:52 schmonz Exp $
BLAKE2s (xapian-core-1.4.23.tar.xz) = 295624746b6dc03a6d4f7f9878e51591d2becebb0317e62d47ba7032a736e3a6
SHA512 (xapian-core-1.4.23.tar.xz) = 52dffc93301f99aa150dda8ecd5fb7cc7d0f2ce30e60f393b1058055ade24281af16cf5b5c0e6b08e4754e3d18c39bb5bc068b19330a294ad460ef8a6bc56380
Size (xapian-core-1.4.23.tar.xz) = 3024644 bytes
BLAKE2s (xapian-core-1.4.24.tar.xz) = f86954a31d24fdf9169239e698d584a032b98e6ae085ca09d30358250ec37cb2
SHA512 (xapian-core-1.4.24.tar.xz) = 2b156dd90784264d6bf64e66aca559578f946c013bb52e14e56fcd96e9c2fece71c236735b13d2baad0d7f2d410dea3ae54c94cd80f735baf1071bafe2e5c01c
Size (xapian-core-1.4.24.tar.xz) = 3194164 bytes
SHA1 (patch-common_errno__to__string.cc) = c5d9613e6676e1dcd3d9caabf113046d5e471454
SHA1 (patch-common_safesyssocket.h) = 6a619a91975283419d2c1ac70cf62e6b417fe981
SHA1 (patch-xapian-config.in) = 470d1de7f04b8b8817abbcf56b5b71a36948de97

View File

@ -1,8 +1,9 @@
$NetBSD: distinfo-bindings,v 1.27 2023/07/10 15:07:26 schmonz Exp $
$NetBSD: distinfo-bindings,v 1.28 2023/11/07 22:32:52 schmonz Exp $
BLAKE2s (xapian-bindings-1.4.23.tar.xz) = 131f15c9f4f509cd570fd359fd05c1076136397adcd52f7eca6b835bed87008d
SHA512 (xapian-bindings-1.4.23.tar.xz) = 25ac17baf1f288dedce70b983cba294d4ce100f6f5b607c76f5b697c04f6b08c276a55ccd5b9cc9c429664e1bb86f0fc31d88c72481a9cc951942efdfa9726a2
Size (xapian-bindings-1.4.23.tar.xz) = 1076480 bytes
SHA1 (patch-configure) = 60ff2a667b174879a0ae3d327a9f2467bce31b89
BLAKE2s (xapian-bindings-1.4.24.tar.xz) = 4365ab3a2127d9105a05304e37f95cd495bafb69663a47ca4ddf75f116e66724
SHA512 (xapian-bindings-1.4.24.tar.xz) = e3d178679aaaf99efa1a19f764014f835783e72b057cb8c8a83eb4cb610e93bd4e6756410321770f6d7fa14986c71be19aaa140fb8267a848d4c8c96cc26d540
Size (xapian-bindings-1.4.24.tar.xz) = 1112744 bytes
SHA1 (patch-configure) = 6e0525fb4747759e22b64a3852df71e76cc6773e
SHA1 (patch-lua_Makefile.in) = 7f1c5077f0d46dfdf33c2b65f144bb08d5031330
SHA1 (patch-ruby_Makefile.in) = ddbf3ca92b11ff6955d80f6a5609e3ce36798b0b
SHA1 (patch-tcl8_Makefile.in) = 845997abca976cdd2bc2b3f47eda3bf3ceafd24b

View File

@ -1,4 +1,4 @@
$NetBSD: patch-configure,v 1.6 2022/07/11 18:25:18 schmonz Exp $
$NetBSD: patch-configure,v 1.7 2023/11/07 22:32:52 schmonz Exp $
- Remove hackaround for old OpenBSD bugs that break builds with other
STL implementations.
@ -6,9 +6,9 @@ $NetBSD: patch-configure,v 1.6 2022/07/11 18:25:18 schmonz Exp $
- Remove broken cross-compile check (builds a bundle, complains it can't
run as executable) to fix lua-xapian on Big Sur.
--- configure.orig 2022-07-04 06:00:37.000000000 +0000
--- configure.orig 2023-11-06 04:30:33.000000000 +0000
+++ configure
@@ -4745,51 +4745,6 @@ FILE *f = fopen ("conftest.out", "w");
@@ -4713,51 +4713,6 @@ FILE *f = fopen ("conftest.out", "w");
return 0;
}
_ACEOF
@ -60,16 +60,16 @@ $NetBSD: patch-configure,v 1.6 2022/07/11 18:25:18 schmonz Exp $
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
@@ -19077,7 +19032,7 @@ fi
for x in "/tcl$tcl_version" "" ; do
TCLCONFIG_SH=$tcl_libdir_runtime$x/tclConfig.sh
if test -r "$TCLCONFIG_SH" ; then
- eval "`sed 's/^TCL_STUB_LIB_SPEC=/TCL_LIBS=/p;d' $TCLCONFIG_SH`"
+ eval "`sed 's/^TCL_BUILD_STUB_LIB_PATH=/TCL_LIBS=/p;d' $TCLCONFIG_SH`"
break
fi
done
@@ -20655,9 +20610,6 @@ SWIG_CXXFLAGS=
@@ -19438,7 +19393,7 @@ printf "%s\n" "not found" >&6; }
for x in "/tcl$tcl_version" "" ; do
TCLCONFIG_SH=$tcl_libdir_runtime$x/tclConfig.sh
if test -r "$TCLCONFIG_SH" ; then
- TCL_LIBS=`. $TCLCONFIG_SH && printf '%s' "$TCL_STUB_LIB_SPEC"`
+ TCL_LIBS=`. $TCLCONFIG_SH && printf '%s' "$TCL_BUILD_STUB_LIB_PATH"`
break
fi
done
@@ -21172,9 +21127,6 @@ SWIG_CXXFLAGS=
if test yes = "$GXX" ; then
SWIG_CXXFLAGS="-fno-strict-aliasing"

View File

@ -0,0 +1,14 @@
$NetBSD: patch-tcl8_Makefile.in,v 1.1 2023/11/07 22:32:52 schmonz Exp $
Just because it's Darwin doesn't mean we want '.dylib' here.
--- tcl8/Makefile.in.orig 2023-11-07 22:26:11.341707469 +0000
+++ tcl8/Makefile.in
@@ -529,6 +529,7 @@ TCL_INC = @TCL_INC@
TCL_LIB = @TCL_LIB@
TCL_LIBS = @TCL_LIBS@
TCL_SHLIB_EXT = @TCL_SHLIB_EXT@
+TCL_SHLIB_EXT = .so
THREAD_LOCAL = @THREAD_LOCAL@
VERSION = @VERSION@
VERSION_NO_SNAPSHOT = @VERSION_NO_SNAPSHOT@