When linking against a python with shared libraries, this script ONLY asked for the LD flags, not any additional libraries. This could result in a condition where required libraries (such as libutil on Centos 6.7 against Python 2.7) are not loaded and the load of the plugin thus fails. This change asks the python being linked against which libraries it was linked using, and then ensures those are also linked against by the python plugin for weechat.
Instead of splitting ${ICONV_LIBRARY}'s path and then assuming the
library is called "libiconv.so", use ${ICONV_LIBRARY}'s entire value in
the calls to check_library_exists().
If that is not done, the iconv detection fails if one sets ICONV_LIBRARY
to, for example, /usr/lib/libc.so, as the previous calls would still
pass "-liconv" to the linker instead of the chosen value.
Now the search for Ruby is first performed with pkg-config and includes
detection of Ruby 2.0.
If not found, the old code for detection is used (for old distros or
old Ruby versions).
The specific test on Ruby 1.9.0 (to disable this version) has been
removed (1.9.0 was a dev/unstable version from 2007, quite old now).
Enchant is enabled only if the new option for cmake (or configure) is enabled:
- for cmake: cmake -DENABLE_ENCHANT=ON
- for configure: ./configure --enable-enchant
Unfortunately this breaks compatibility with existing guile scripts, but this
change is needed to keep consistency with other scripting languages.
Now guile >= 2.0 is required, WeeChat can not compile any more with guile 1.8.
With this option, the python plugin will be built and linked with Python 3
(if found, or Python 2 as fallback).
This option it not (yet) recommended, because many scripts are working only
with Python 2.x. It should be used only to tests scripts with Python 3.x
in WeeChat.
Note that Python 2.x is still the only Python compiled if found:
Python 3.x is not auto-detected by cmake neither configure.
Many official Python scripts will not load/run with Python 3.x,
so Python 2.x (2.7 or 2.6) is still the recommended version.
The protocol is partial, under development, and NOT ready for usage.
New options added in relay.conf:
- relay.network.allowed_ips: allow only some IPs on relay plugin (by default
all IPs are allowed)
- relay.network.compression_level: compression level used in WeeChat protocol
(compression is made using zlib)