aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-05-07xapian: Document parse-query.Arun Isaac
* xapian/xapian.scm (parse-query): Add docstring.
2024-05-07xapian: Support common query parser flags.Arun Isaac
* xapian/xapian.scm (parse-query): Add boolean?, phrases?, love-hate?, any-case-boolean?, wildcard? flags.
2024-05-07xapian: Accept boolean prefixes in parse-query.Arun Isaac
* xapian/xapian.scm (parse-query): Accept boolean prefixes.
2024-05-07xapian: Accept range processors in parse-query.Arun Isaac
* xapian/xapian.scm (parse-query): Accept range processors.
2024-05-04xapian: Wrap DateRangeProcessor.Arun Isaac
* xapian/xapian.scm (prefixed-date-range-processor, suffixed-date-range-processor): New public functions.
2024-05-04xapian: Wrap RangeProcessor.Arun Isaac
* xapian.i.in (GuileXapianRangeProcessorWrapper): New class. * xapian/xapian.scm (prefixed-range-processor, suffixed-range-processor): New public functions.
2024-05-04xapian: Wrap new-Query.Arun Isaac
* xapian/xapian.scm (query): New public function.
2024-05-04xapian: Wrap FieldProcessor.Arun Isaac
* xapian.i.in (GuileXapianFieldProcessorWrapper): New class. * xapian/xapian.scm (field-processor): New public function.
2024-01-12guix: Add G-expression computed-file to build website.Arun Isaac
* .guix/guile-xapian-package.scm: Import emacs-minimal from (gnu packages emacs), %guile-build-system-modules from (guix build-system guile), and (guix profiles). (guile-xapian-website-gexp, guile-xapian-website): New variables.
2023-11-16xapian: Return list from inner lambda in mset-sxml-snippet.Arun Isaac
* xapian/xapian.scm (mset-sxml-snippet): Consistently written list from inner lambda.
2023-11-16xapian: Reorder incorrect order of arguments to mset-snippet.Arun Isaac
* xapian/xapian.scm (mset-sxml-snippet): Reorder arguments passed to mset-snippet.
2023-07-06.guix: Use current-source-directory in git-predicate.Arun Isaac
With "..", the git-predicate fails and filters nothing. * .guix/guile-xapian-package.scm (guile-xapian, guile2.2-xapian)[source]: Use current-source-directory in git-predicate.
2023-07-06.guix: Name source checkout of Guix package.Arun Isaac
* .guix/guile-xapian-package.scm (guile-xapian, guile2.2-xapian)[source]: Name source checkout.
2023-07-06.guix: Fix package build in channel and CI job.Arun Isaac
Guix channel builds don't play well with current-source-directory. * .guix/guile-xapian-package.scm (guile-xapian, guile2.2-xapian)[source]: Use ".." instead of dirname and current-source-directory. Add constant function as fallback for git predicate.
2023-07-06Make repository a guix channel.Arun Isaac
* .guix-authorizations, .guix-channel: New files. * guix.scm: Convert to a symlink pointing to .guix/guile-xapian-package.scm. Move original there. * .guix/guile-xapian-package.scm: Convert into a module with public packages.
2023-03-01Release version 0.3.1.v0.3.1Arun Isaac
* NEWS (Changes in 0.3.1): New section. * configure.ac: Bump to version 0.3.1.
2023-03-01Makefile: Distribute except.i.Arun Isaac
* Makefile.am (EXTRA_DIST): Add except.i.
2023-01-20configure.ac: Check for guile module (htmlprag).Arun Isaac
* configure.ac: Check for guile module (htmlprag).
2023-01-20guix.scm: Amend imports.Arun Isaac
* guix.scm: Import (guix gexp). Do not import (gnu packages autotools).
2023-01-20guix.scm: Bump copyright year.Arun Isaac
* guix.scm: Add 2022 to Arun Isaac's copyright header.
2023-01-20Catch C++ xapian exceptions and raise them as scheme exceptions.Arun Isaac
Uncaught C++ exceptions crash the guile process without providing scheme code any opportunity to respond. * except.i, xapian/error.scm: New files. * xapian.i.in: Include except.i. * Makefile.am (SOURCES): Add xapian/error.scm. (xapian_wrap.cc xapian/wrap.scm &): Depend on except.i.
2022-12-31Release version 0.3.0.v0.3.0Arun Isaac
* configure.ac: Bump to version 0.3.0. * NEWS (Changes in 0.3.0): New section.
2022-10-18xapian: Allow indexing text without position information.Arun Isaac
* xapian/xapian.scm (index-text!): Add positions? argument.
2022-10-17xapian: Explicitly specify default prefix for index-text!.Arun Isaac
* xapian/xapian.scm (index-text!): Explicitly specify default prefix.
2022-10-17xapian: Add docstring to index-text!.Arun Isaac
* xapian/xapian.scm (index-text!): Add docstring.
2022-10-17xapian: Support combining queries with OR, AND and FILTER operators.Arun Isaac
* xapian/xapian.scm: Import (srfi srfi-1). (query-combine): New function. (query-and, query-or, query-filter): New public functions.
2022-10-17xapian: Support generation of SXML snippets.Arun Isaac
* xapian/xapian.scm: Import (htmlprag). (mset-sxml-snippet): New public function.
2022-10-17xapian: Add docstring to mset-snippet.Arun Isaac
* xapian/xapian.scm (mset-snippet): Add docstring.
2022-06-20Release version 0.2.1.v0.2.1Arun Isaac
* configure.ac: Bump to version 0.2.1. * NEWS (Changes in 0.2.1): New section.
2022-06-20Makefile: Suffix libguilexapian with effective Guile version number.Arun Isaac
We need to distinguish between libguilexapian built for different versions of Guile. * Makefile.am (lib_LTLIBRARIES): Replace libguilexapian.la with libguilexapian-@GUILE_EFFECTIVE_VERSION@.la. (libguilexapian_la_SOURCES): Rename to libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_SOURCES. (libguilexapian_la_CXXFLAGS): Rename to libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_CXXFLAGS. (libguilexapian_la_LDFLAGS): Rename to libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS. (xapian.i): Substitute @GUILE_EFFECTIVE_VERSION@. (xapian/xapian.go): Depend on libguilexapian-@GUILE_EFFECTIVE_VERSION@.la instead of libguilexapian.la. * xapian.i.in: Load libguilexapian-@GUILE_EFFECTIVE_VERSION@.la instead of libguilexapian.la.
2022-06-07Release version 0.2.0.v0.2.0Arun Isaac
* configure.ac: Bump to version 0.2.0. * NEWS: New file.
2022-06-07Makefile: Add swig flag to search for include files is srcdir.Arun Isaac
* Makefile.am (xapian_wrap.cc xapian/wrap.scm &): Add -I$(srcdir) to swig invocation.
2022-06-07Makefile: Mark xapian/wrap.scm as built source file.Arun Isaac
* Makefile.am (BUILT_SOURCES, CLEANFILES): Add xapian/wrap.scm. (xapian/wrap.scm): Group with target xapian_wrap.cc.
2022-06-07Makefile: Fix typo renaming xapian_wrap.scm to xapian/wrap.scm.Arun Isaac
* Makefile.am (xapian_wrap.scm): Rename to xapian/wrap.scm.
2022-06-07Makefile: Distribute swig files.Arun Isaac
* Makefile.am (EXTRA_DIST): Add xapian.i.in, xapian-head.i and xapian-headers.i.
2022-06-07xapian: Accept bytevector slot values with document-slot-set!.Arun Isaac
* xapian/xapian.scm (make-document): Call document-slot-set! regardless of slot value type. (document-slot-set!): Accept bytevector slot values. (document-slot-set-bytes!): Deprecate.
2022-06-06xapian: Accept bytevector data with document-set-data!.Arun Isaac
* xapian/xapian.scm (make-document): Call document-set-data! regardless of data type. (document-set-data!): Accept bytevector data. (document-set-bytes!): Deprecate.
2022-06-06Recommend guix shell instead of guix environment.Arun Isaac
* README.org (Usage), guix.scm: Recommend guix shell instead of guix environment.
2022-06-06README: Thank Ludovic Courtès for bug report.Arun Isaac
* README.org (Contributors): Thank Ludovic Courtès for bug report.
2022-06-06guix.scm: Do not override native-inputs.Arun Isaac
* guix.scm (guile-xapian)[native-inputs]: Do not override.
2022-06-06guix.scm: Use source from current directory.Arun Isaac
* guix.scm: Import (guix gexp), (guix git-download) and (guix packages). (%source-dir): New variable. (guile-xapian)[source]: Set to source from current directory.
2022-06-06pre-inst-env: Set LD_LIBRARY_PATH to $abs_top_builddir/.libs.Arun Isaac
Guile >= 3.0.6 does not use libltdl. So we need to look for libguilexapian.so explicitly under .libs. * pre-inst-env.in (LD_LIBRARY_PATH): Set to $abs_top_builddir/.libs.
2021-09-08Makefile: Clean xapian.i and xapian_wrap.cc.Arun Isaac
* Makefile.am (CLEANFILES): Add xapian.i and xapian_wrap.cc
2021-09-08Makefile: Replace suffix rules with pattern rules.Arun Isaac
Suffix rules are deprecated. * Makefile.am (SUFFIXES): Delete variable. (.scm.go): Delete rule. (%.go): New rule.
2021-09-07Makefile: Silence swig.Arun Isaac
* Makefile.am (SWIG_GEN, SWIG_GEN_, SWIG_GEN_0, SWIG_GEN_1): New variables. (xapian_wrap.cc): Silence with SWIG_GEN.
2021-09-07Makefile: Silence guild with GUILD prefix.Arun Isaac
* Makefile.am (GUILD_GEN, GUILD_GEN_, GUILD_GEN_0, GUILD_GEN_1): New variables. (.scm.go): Use GUILD_GEN instead of AM_V_GEN.
2021-09-07README: Add Contributors section.Arun Isaac
* README.org (Contributors): New section.
2021-09-07tests: Add binary document tests.Bob131
This commit adds tests to smoke-test document methods dealing with bytevectors. * tests/xapian.scm ("document-data fails to decode binary data", "document-bytes reads binary data correctly", "document-slot-ref fails to decode binary value", "document-slot-ref-bytes reads binary value correctly"): New tests. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-09-07xapian: Introduce document setters.Bob131
* xapian/xapian.scm (document-set-data!, document-set-bytes!, document-slot-set!, document-slot-set-bytes!): New functions. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-09-07xapian: make-document: Accept bytevectors.Bob131
* xapian/xapian.scm (make-document): Support setting document values and body from bytevectors. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>