Use OpenSSL 3

This commit is contained in:
2021-09-09 18:18:31 +01:00
parent 3142134360
commit fd321e02d8
5 changed files with 542 additions and 489 deletions

View File

@@ -33,22 +33,15 @@ Starting again from scratch in Rust. So currently, nothing works. TODO list:
- [ ] Send/receive video messages
- [ ] Send/receive arbitrary attachments
## Build
There are some licensing issues at present, so you shouldn't build this plugin.
To get a `target/debug/libpurple_delta.so`, just run `cargo build`.
`deltachat-core-rust` uses a vendored openssl 1, unconditionally links it, and
is MPL-licensed.
`purple-plugin-delta` is GPLv3 without the [OpenSSL exemption](https://people.gnome.org/~markmc/openssl-and-the-gpl.html)
`libpurple` itself is GPLv2 without the OpenSSL exemption.
There's no point to `purple-plugin-delta` adding the OpenSSL exemption because
`libpurple` lacks it, and in any event, it will be unnecessary with the next
major version of OpenSSL. So, time should resolve this for us one way or another.
Since purple-plugin-delta is made to link against libpurple, which is GPLv2
without the "OpenSSL exemption", distributing something that linked against
OpenSSL 1 would be a licensing violation. Instead, we configure the build system
so we statically link against a vendored OpenSSL 3 instead. This has only been
possible since 2021-09-07.
Significant code using the WTFPL includes the [libpurple-rust bindings](https://github.com/sbwtw/libpurple-rust)
and the [pidgin-wechat plugin](https://github.com/sbwtw/pidgin-wechat), which
@@ -57,7 +50,7 @@ against this mess.
## Use
The easiest way to use this is to copy the `libdelta.so` file into
The easiest way to use this is to copy the `libpurple_delta.so` file into
`~/.purple/plugins`. When running pidgin, you'll now have the option to add
a "Delta Chat" account.