~blc/olmacs

Dynamic module with libolm bindings for Emacs
Check in ChangeLog once more
Stop tracking ChangeLog in Git
; * bootstrap: Sync with Gnulib of 2025-01-09.

clone

read-only
https://git.sr.ht/~blc/olmacs
read/write
git@git.sr.ht:~blc/olmacs

You can also use your local clone with git send-email.

#Olmacs: [WIP] Olm library bindings for Emacs

builds.sr.ht status

Copyright (C) 2021-2025 Basil L. Contovounesios basil@contovou.net

See the end of the file for license conditions.

This very much WIP package provides Elisp bindings for the Olm cryptographic ratchet library, which was used to encrypt the Matrix communication protocol.

¡Olm was deprecated in 2024!

Olmacs will continue to be developed only as an experiment in using GNU Autotools as part of an Emacs package.

#Dependencies & Assumptions

¡Help with reducing or eliminating assumptions (aka porting) is most welcome!

  • Emacs ≥ 25 configured --with-modules (the default since 27)
  • GNU/Linux (tested on Debian Bullseye and Buster)
  • C compiler that understands ISO C11 or later
  • libolm (tested with versions 3.2.10, 3.2.8, 3.2.4, 3.2.1, 2.2.2)

#Usage

For an overview of the olmacs API, load the library and type M-x shortdoc-display-group RET olmacs RET on Emacs ≥ 28.

Olm objects are exposed as module user pointers whose contents are automatically deleted when garbage collected. For this reason, it is important not to keep unnecessary references to them in Lisp.

#Organization

#License

This file is part of Olmacs.

Olmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.