Remove dependency on libexpect which had a segfault bug on Arch Linux.
- Replace exp_spawnl() with forkpty() for PTY creation
- Replace exp_expectl() with custom POSIX regex matching
- Update configure.ac to check for forkpty() instead of libexpect
- Update Makefile.am to link with libutil instead of libexpect/libtcl
- Remove expect/tcl packages from all Dockerfiles
- Add Valgrind suppressions for stabber/pthread false positives
- Enable stabber build from https://git.jabber.space/devs/stabber
- Add tcl-expect-dev package for Debian/Ubuntu (required by libexpect)
- Add expect package for Arch Linux
- Enable stabber build from fork git.jabber.space/jabber.developer2/stabber
- Add tcl-expect-dev package for Debian/Ubuntu (required by libexpect)
- Add expect package for Arch Linux
- Enable stabber build from fork git.jabber.space/jabber.developer2/stabber
- Use fix/xmpp-parsing branch with XMPP stream parsing fixes
- Add tcl-expect-dev package for Debian/Ubuntu (required by libexpect)
- Add expect package for Arch Linux
* Also pass `$*` to `configure` when invoking `ci-build.sh`, so one can
e.g. run `./ci-build.sh --without-xscreensaver`
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
This pull request addresses an error in the Dockerfile.arch file caused by using an incorrect base image reference (archlinux/latest). The Docker Hub archlinux repository does not support a latest tag, which leads to a "failed to resolve source metadata" error during the Docker build process. This PR updates the base image reference to archlinux, resolving the error and allowing for a successful build.
Fix https://github.com/profanity-im/profanity/issues/2004
Note: Commit message edited by @jubalh since @tjsweetblack didn't respond.
+ Arch and Debian are run in Docker containers, as openSUSE Tumbleweed.
+ OSX/macOS doesn't use any containers.
* Homebrew is used to fetch all the dependencies.
* The dependencies are declared in the Brewfile.travis file.
+ The travis-build.sh script has been modified to check for the current
OS and the different configure flags has been moved into an array
that'll be looped through instead.
The xscreensaver (for libXScrnSaver) flags has been removed for macOS
as it only makes sense for systems running X11, which macOS doesn't
(usually) do.
+ Some minor shellcheck fixes, too.
Fixes: #1100