Age | Commit message (Expand) | Author |
2021-09-07 | xapian: make-document: Accept bytevectors.•••* xapian/xapian.scm (make-document): Support setting document values
and body from bytevectors.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Bob131 |
2021-09-07 | xapian: Introduce document-slot-ref-bytes.•••* xapian/xapian.scm (document-slot-ref-bytes): New function.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Bob131 |
2021-09-07 | xapian: Reimplement document-bytes.•••The current implementation of document-bytes involves converting the
document data string into a list of characters, mapping over the
result with char->integer and passing the list of integers to
u8-list->integer. This is quite an expensive operation (relative to
what the user might expect), and may not reliably return a result if
the document data couldn't be decoded as a UTF-8 string in the first
place.
Now that we have SWIG wrappers that return bytevectors directly, we
can redefine document-bytes as an alias of Document-get-data-bytes.
* xapian/xapian.scm (document-bytes): Redefine function in terms of
Document-get-data-bytes.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Bob131 |
2021-09-07 | Add SWIG wrappers for bytevector method variants.•••Several Xapian methods use `std::string' to represent opaque binary
blobs. SWIG treats these as UTF-8 strings and converts them to an SCM
representation via `scm_from_utf8_string', which will throw an error
if the input is not valid UTF-8.
This commit updates the SWIG interface file to add wrappers taking or
returning bytevectors instead of strings for Xapian methods dealing
with document values and bodies.
* xapian.i.in (SWIG_bytevector, typemap_in_SWIG_bytevector,
typemap_out_SWIG_bytevector): Add machinery for defining
bytevector-variant wrappers of existing methods taking or returning
std::string.
* (Xapian::ValueIterator::get_value_bytes,
Xapian::Document::get_value_bytes, Xapian::Document::add_value_bytes,
Xapian::Document::get_data_bytes, Xapian::Document::set_data_bytes,
Xapian::Database::get_metadata_bytes,
Xapian::WritableDatabase::set_metadata_bytes,
Xapian::Query::Query): Add bytevector variants of methods.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Bob131 |
2021-09-07 | Set up testing infrastructure.•••* tests/xapian.scm: New file.
* build-aux/test-driver.scm.in: New file.
* configure.ac: Configure build-aux/test-driver.scm.
* .gitignore: Add build-aux/test-driver.scm, tests/*.log and
tests/*.trs.
* Makefile.am (EXTRA_DIST): Add TESTS.
(TEST_EXTENSIONS, SCM_TESTS, TESTS, SCM_LOG_DRIVER): New variables.
| Arun Isaac |
2021-09-06 | xapian: Support in-memory databases.•••* xapian/xapian.scm (call-with-in-memory-database): New public
function.
| Arun Isaac |
2021-09-06 | README: Remove unnecessary guile -s flag.•••* README.org (Usage): Remove unnecessary guile -s flag.
| Arun Isaac |
2021-09-02 | xapian: Fix spacing in association list.•••* examples/search.scm (search): Add a space after '.' in the prefixes
association list.
| Arun Isaac |
2021-09-02 | Update copyright years.•••This is a follow-up to commits
cb61a526c82153c09ed357901166a42b48ba9d3b and
12f12fbcb3cba4c634e10e7bf16a5c47d670f83b where the copyright year was
not updated.
* Makefile.am, build-aux/build-home-page.el, configure.ac, guix.scm:
Add 2021 to copyright.
| Arun Isaac |
2021-09-02 | README: Add continuous integration badges.•••* README.org (ci-badge): New macro.
Add continuous integration badges.
| Arun Isaac |
2021-09-02 | website: Add website.•••* website/style.css: New file.
* build-aux/build-home-page.el: New file.
* configure.ac: Look for emacs.
* Makefile.am (EMACS_GEN, EMACS_GEN_, EMACS_GEN_0, EMACS_GEN_1): New
variables.
(website, website/index.html): New target.
(CLEANFILES): Add website/index.html.
* .gitignore: Add website/index.html.
| Arun Isaac |
2021-09-02 | Add guix.scm.•••* guix.scm: New file.
* README.org (Usage): Update guix environment instructions.
| Arun Isaac |
2020-10-17 | xapian: Introduce document-bytes.•••* xapian/xapian.scm (document-bytes): New function.
| Arun Isaac |
2020-10-14 | xapian: Wrap MSet-snippet.•••* xapian/xapian.scm (get-flag, mset-snippet): New functions.
| Arun Isaac |
2020-10-14 | Use Guix's guile-xapian package for `guix environment`.•••* guix.scm: Delete file.
* README.org (Usage): Update `guix environment` instructions.
| Arun Isaac |
2020-03-07 | xapian: Rename document-ref to document-slot-ref.•••* xapian/xapian.scm (document-ref): Rename to document-slot-ref.
v0.1.0 | Arun Isaac |
2020-03-06 | xapian: Wrap document values.•••* xapian/xapian.scm (make-document): Support setting document values.
(document-ref): New function.
| Arun Isaac |
2020-03-05 | xapian: Wrap Enquire-get-mset using keyword arguments.•••* xapian/xapian.scm (enquire-mset): Introduce offset and maximum-items
keyword arguments.
* examples/search.scm (search): Pass pagesize as keyword argument to
enquire-mset. Remove argument offset.
| Arun Isaac |
2020-03-05 | xapian: Wrap Database-get-doccount.•••* xapian/xapian.scm (database-document-count): New function.
| Arun Isaac |
2020-02-26 | Add generated files to .gitignore.•••* .gitignore: Add xapian.i and xapian/wrap.scm.
| Arun Isaac |
2020-02-26 | Organize .gitignore.•••* .gitignore: Organize into sections with comments.
| Arun Isaac |
2020-02-26 | Load libguilexapian with absolute path or through a search path.•••* xapian.i: Rename to xapian.i.in.
* xapian.i.in: Try loading libguilexapian with absolute path first. If
it fails, then try searching using LD_LIBRARY_PATH and other
mechanisms.
* Makefile.am: Generate xapian.i from xapian.i.in.
| Arun Isaac |
2020-02-26 | Support guile 3.0.•••* configure.ac: Check for guile 3.0. If not found, check for guile
2.2.
| Arun Isaac |
2020-02-19 | Invoke GUILE_PKG to set GUILE_EFFECTIVE_VERSION.•••* configure.ac: Invoke GUILE_PKG.
| Arun Isaac |
2020-02-19 | Build xapian/xapian.scm after libguilexapian.la.•••* Makefile.am: Build xapian/xapian.scm only after libguilexapian.la.
| Arun Isaac |
2020-02-19 | Load libguilexapian without any specific path.•••* pre-inst-env.in (LD_LIBRARY_PATH): Set LD_LIBRARY_PATH.
* xapian.i: Load libguilexapian without any specific path. Let it be found
using LD_LIBRARY_PATH and other search mechanisms.
| Arun Isaac |
2020-02-18 | xapian: Remove generated scheme stub.•••xapian/wrap.scm is generated by swig. We need not commit it to the git
repository.
* xapian/wrap.scm: Delete file.
| Arun Isaac |
2020-02-18 | Rerun pkg-config to find xapian include flags for swig.•••* configure.ac: Rerun pkg-config to find xapian include flags for
swig. Store result in SWIG_FLAGS.
* Makefile.am: Use SWIG_CFLAGS.
| Arun Isaac |
2020-02-17 | README: Warn about unstable API.•••* README.org: Warn about unstable API.
| Arun Isaac |
2020-02-16 | examples: Add comments.•••* examples/index.scm, examples/search.scm: Add comments.
| Arun Isaac |
2020-02-15 | README: Explain the end goal of Scheme-friendly wrapping.•••* README.org: Explain the eventual complete wrapping of low level
functions from (xapian wrap).
| Arun Isaac |
2020-02-15 | Add .gitignore.•••* .gitignore: New file.
| Arun Isaac |
2020-02-15 | Add Emacs directory local variables.•••* .dir-locals.el: New file.
| Arun Isaac |
2020-02-15 | Add bootstrap script.•••* bootstrap.sh: New file.
| Arun Isaac |
2020-02-15 | First commit. | Arun Isaac |