1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00
Commit Graph

310 Commits

Author SHA1 Message Date
Dmitry Podgorny
4a8d14c5a6 Fix OMEMO autodetection in autotools
This commit fixes few issues related to OMEMO autodetection:

1. Absence of libsignal-protocol-c doesn't turn OMEMO off, just prints a
   notice message. It should (a) set BUILD_OMEMO=false and (b) terminate
   with an error on --enable-omemo=yes.
2. Check for gcrypt continues even if libsignal-protocol-c fails. In this
   case, LIBS variable can be updated with unneeded -lgcrypt.
3. Similarly to item 2., if libsignal-protocol-c is present, but gcrypt
   isn't, variable LIBS is updated with unneeded library.

To resolve the above issues, use intermediate variable OMEMO_LIBS to
accumulate required libraries and set BUILD_OMEMO only when all checks
are passed.
2023-07-11 03:24:23 +03:00
Steffen Jaeckel
f7c6f38e1b Consider global CFLAGS and use libstrophe CFLAGS
global `CFLAGS` were ignore before

Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
2023-05-12 08:39:09 +02:00
Paul Fertser
e19a15fd27 Fix xscreensaver detection
In 28a9605a1 we migrated from AC_CHECK_LIB which defines HAVE_LIBXSS automatically. With pkg-config way you need it explicit. And also x11 is needed or else linking will fail missing XFree().

Patch provided by Paul Fertser and comitted by jubalh.
Thanks Paul!

Fix https://github.com/profanity-im/profanity/issues/1695
2023-01-11 16:08:42 +01:00
Michael Vetter
e8c927b2c9 Start new cycle 2022-10-12 17:00:29 +02:00
Michael Vetter
3e7457f42a Release 0.13.1 2022-10-12 16:56:20 +02:00
Michael Vetter
fcc20628d5
Merge pull request #1753 from wahjava/master
Fix typo in configure.ac
2022-09-19 10:00:27 +02:00
Ashish SHUKLA
6c01df040f
Fix typo in configure.ac
Signed-off-by: Ashish SHUKLA <ashish.is@lostca.se>
2022-09-15 17:37:57 +00:00
Omar Polo
39675be808 typo in configure: enable_gdk_pixbuf not enable_pixbuf
Otherwise gdk-pixbuf is always added as dependency even if disabled,
when found.
2022-09-15 18:39:54 +02:00
Michael Vetter
446027ce6c Start new cycle 2022-09-13 11:54:02 +02:00
Michael Vetter
a8e6b26ee1 Release 0.13.0 2022-09-13 11:50:49 +02:00
Michael Vetter
fc8ea4ec4f Require libstrophe 0.12.2
0.12.2 has some important fixes.
Let's require it so users don't stumble upon bugs like https://github.com/profanity-im/profanity/issues/1743
2022-08-08 12:55:19 +02:00
Michael Vetter
7713223ddb build: otr cflags -> CFLAGS 2022-06-29 09:47:13 +02:00
Michael Vetter
3557e46b6d build: dont define HAVE_QRENCODE at all in case not present
Before we got an error when libqrencode was not installed:
`src/ui/console.c:52:10: fatal error: qrencode.h: No such file or
directory`

Which looked like HAVE_QRENCODE was true.

config.status showed:
`config.status:D["HAVE_QRENCODE"]=" 0"`

Holger pointed to me that there is not just true and false but defined
and undefined.
So one solution was to use `#if HAVE_QRENCODE == 1` to check for the
actual value.

Or dont define HAVE_QRENCODE in the non present case at all.

In all the other HAVE_ variables we use this approach.
I think i at first chose the wrong way out of confusion with BUILD_ and
HAVE_.
2022-05-31 08:50:44 +02:00
Michael Vetter
1a7017e44c build: set HAVE_QRENCODE only once
and use CLFAGS not cflags
2022-05-30 19:45:05 +02:00
Michael Vetter
0c7350e2e6 Make qrencode optional and add to CI 2022-05-30 18:06:13 +02:00
Michael Vetter
cf83976b51 Add basic qrcode functions 2022-05-30 18:04:36 +02:00
Michael Vetter
3aafffded9 Add pixbuf building to CI 2022-05-30 17:49:09 +02:00
Michael Vetter
d510f3a430 Final touches for /avatar set 2022-05-27 10:46:36 +02:00
MarcoPolo-PasTonMolo
0cff111249 Add checks for whether gdk-pixbuf exists before using avatar set 2022-05-26 21:06:27 +03:00
Paul Fertser
b4857c6043 Fix xscreensaver detection
Using pkg-config to find libraries requires explicit mention of the
relevant _CFLAGS and _LIBS variables.

Fixes #1695.
2022-04-21 13:24:00 +03:00
Michael Vetter
060a5e3491 Start new cycle 2022-04-04 18:17:20 +02:00
Michael Vetter
e87d09aabf Release 0.12.1 2022-04-04 18:13:32 +02:00
Michael Vetter
7301c99676 Start new cycle 2022-03-30 14:08:49 +02:00
Michael Vetter
9214b0a10a Release 0.12.0 2022-03-30 14:08:49 +02:00
Paul Fertser
ca782b5385 Add debug information to binary
Option -ggdb3 (same as -g3) doesn't affect code-generation, just adds
to the binary size of an executable. Automake strips installed
binaries automatically when "make install-strip" is run so enabling
this option permanently doesn't affect the end result while allowing
for hassle-free interactive debugging.

If one is running a stripped binary it's still possible to attach GDB
by process PID and then use "file /path/to/unstripped/profanity" to
get all symbols and lines data.
2022-03-28 16:37:07 +03:00
Paul Fertser
08212a839a Fix AM_CFLAGS assignments (including libstrophe flags)
Autoconf can pre-populate this variable with essential parameters so
it should be appended to rather than overridden.

While at it, don't miss to append CFLAGS for libstrope which is needed
if it's installed to a non-default location.
2022-03-27 20:49:19 +03:00
Paul Fertser
90ea2fabe6 Fix autoconf warning about AC_CANONICAL_TARGET ordering
AM_INIT_AUTOMAKE requires AC_ARG_PROGRAM so should go after
AC_CANONICAL_TARGET for proper program name mangling.

This fixes "AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET"
warning as emitted by autoconf 2.69.
2022-03-27 20:40:27 +03:00
Michael Vetter
35b7555399 build: Use CPPFLAGS for obsd
Fixing build failure detected by sr.ht for OpenBSD:

```
src/ui/inputwin.c: In function '_inp_rl_startup_hook':
src/ui/inputwin.c:444:5: error: implicit declaration of function 'rl_bind_keyseq'; did you mean 'rl_bind_key'? [-Werror=implicit-function-declaration]
  444 |     rl_bind_keyseq("\\e1", _inp_rl_win_1_handler);
      |     ^~~~~~~~~~~~~~
      |     rl_bind_key
cc1: all warnings being treated as errors
```

Seems like both OSX and OpenBSD need CPPFLAGS here.
2022-02-23 12:50:03 +01:00
Michael Vetter
32f6798964 Remove link to python bug
Since 5676159aa5 the python_CPPFLAGS
isn't needed anymore. We can use python_CFLAGS.
So let's remove the comment about https://bugs.python.org/issue15018.
2022-02-18 20:16:44 +01:00
j.r
5676159aa5
Fix python executed during configure
Previously it relied on AX_PYTHON_DEVEL, which in turn executes
python-config to get the build flags. However this does not work while
cross compiling because we can't execute the python-config build for the
target platform. To circumvent this problem the python build flags are
now queried via pkgconfig, which has the drawback of not having some
extra build flags, but they do not seem to be needed.

I tested this patch with the termux build system and it build without
their existing hack of injecting python after the configure step. I also
tested non cross compile build on Arch Linux and it also still works.

Fixes #851
2022-02-18 19:45:31 +01:00
Michael Vetter
fc13a69f43 build: use target instead of host
If I understand https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Canonicalizing.html
correctly then we should use target and not host.

Will only matter in case of crosscompiling.
2022-02-18 17:36:03 +01:00
Michael Vetter
28a9605a1f build: use PKG_CHECK_MODULES to check for xscreensaver 2022-02-18 17:35:30 +01:00
Michael Vetter
38ff3699b4 build: use CFLAGS instead of CPPFLAGS where possible
OSX seems to need CPPFLAGS for readline.
2022-02-18 15:07:27 +01:00
Michael Vetter
33106ecf9c build: remove otr3 support
All the distributions I checked have libotr 4.1.1 now.
2022-02-18 14:01:28 +01:00
Michael Vetter
3f8720d70f build: remove support for old libsignal
Remove support for libsignal-protocol-c < 2.3.2.
Debian 10 uses 2.3.2, Debian 11 and 12 use 2.3.3.
openSUSE from 15.2 onward uses 2.3.3.
Fedora since 28 uses 2.3.2.

We should be good.
2022-02-18 14:01:28 +01:00
Michael Vetter
1856c1e7fc build: remove xmpp_lib variable
Since cad934b9a0 we only support
libstrophe. libmesode is deprecated.
2022-02-18 14:01:28 +01:00
Michael Vetter
7a6a37e717 build: group related parts better together 2022-02-18 14:01:27 +01:00
Michael Vetter
9cb6fc0d23 build: change comments 2022-02-18 14:00:13 +01:00
Michael Vetter
c79ba8f80e build: define min autotools version and set url 2022-02-18 13:59:14 +01:00
Michael Vetter
201ef7394a build: use AC_MSG_NOTICE instead of echo 2022-02-18 13:54:49 +01:00
Michael Vetter
adc68bd4b1 build: add vim modeline 2022-02-17 15:48:56 +01:00
Carlo Cabrera
1194a9b85e
Improve macOS Readline checks
Instead of checking for `lib` directories, let's make sure `libreadline`
exists.

Also, let's improve the error message if we can't find it. Finally,
since we're only looking for `brew` on macOS, we don't need to use
`$PATH_SEPARATOR` since we know what the path separator is.
2021-11-24 00:10:05 +08:00
Carlo Cabrera
315d862e22
Make readline check more portable
Currently, `configure.ac` assumes Readline is installed via Homebrew in
`/usr/local`. This doesn't work for Homebrew on Apple Silicon, or
MacPorts.

Let's fix this by checking for a `brew` installation, and querying that
for Readline's prefix if available. If not, it checks for an existing
MacPorts prefix, and finally falls back to checking `/usr/local` in case
a user installed Readline for themselves there.
2021-11-23 21:57:02 +08:00
Michael Vetter
16ce42a0db bump libstrophe requirement to 0.11.0 2021-10-28 20:07:13 +02:00
Steffen Jaeckel
687714d7d6 ran autoupdate
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
2021-10-27 22:45:44 +02:00
Steffen Jaeckel
ffc0b49ab1 first step to remove libmesode
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
2021-10-27 22:45:44 +02:00
Michael Vetter
18c02e5c4d Remove Ruby comment
There most likely won't ever be Ruby plugins.

Regards https://github.com/profanity-im/profanity/issues/779
2021-09-29 17:32:54 +02:00
Michael Vetter
7486e22b77 Look for plugins to install in global location
Two options to install plugins.
Mention the whole path:
`/plugins install ~/src/profanity-plugins/my.py`

Mention only the plugin name:
`/plugins install my.py`

The latter will look in `/usr/local/share/profanity/plugins/` for the
file and copy it over to `~/.local/share/profanity/plugins`.

At first I was thinking about loading the plugins from the global
location. But users most likely don't want to have all plugins activated
that an admin installs on a system.

Regards https://github.com/profanity-im/profanity/issues/945
2021-09-29 17:32:54 +02:00
Michael Vetter
e943ababb9 Start new cycle 2021-09-28 19:53:05 +02:00
Michael Vetter
e6f96cd7d7 Release 0.11.1 2021-09-28 19:48:42 +02:00