Files
cproof/Dockerfile.arch
jabber.developer2 caac08a7d7
Some checks failed
CI Code / Linux (debian) (pull_request) Waiting to run
CI Code / Linux (ubuntu) (pull_request) Waiting to run
CI Code / Check spelling (pull_request) Successful in 20s
CI Code / Check coding style (pull_request) Successful in 34s
CI Code / Linux (arch) (pull_request) Failing after 3h11m46s
fix(tests): replace libexpect with forkpty() for functional tests
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
2025-12-29 21:19:30 +03:00

72 lines
1.4 KiB
Docker

FROM archlinux
ENV TERM=xterm
RUN pacman -Syu --noconfirm
RUN pacman -S --needed --noconfirm reflector && reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
RUN pacman-key --init
RUN pacman -S --needed --noconfirm \
autoconf \
autoconf-archive \
automake \
base-devel \
check \
cmake \
cmocka \
curl \
debuginfod \
doxygen \
expat \
gcc \
git \
gpgme \
gtk3 \
libgcrypt \
libmicrohttpd \
libnotify \
libsignal-protocol-c \
libotr \
libtool \
libxss \
make \
openssl \
pkg-config \
python \
wget \
sqlite \
valgrind \
gdk-pixbuf2 \
qrencode
RUN mkdir -p /usr/src/{stabber,profanity}
RUN useradd -mb /usr/src --shell=/bin/false aur && usermod -L aur
USER aur
WORKDIR /usr/src/aur
# NOTE: These will change their extension to .tar.zst if a new snapshot is built
# due to:
# https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/
RUN wget https://aur.archlinux.org/cgit/aur.git/snapshot/libstrophe-git.tar.gz
RUN tar -zxvf libstrophe-git.tar.gz
RUN pushd libstrophe-git && makepkg && popd
USER root
RUN pacman -U --noconfirm libstrophe-git/libstrophe-git-*.pkg.tar.zst
WORKDIR /usr/src
RUN git clone -c http.sslverify=false https://git.jabber.space/devs/stabber
WORKDIR /usr/src/stabber
RUN ./bootstrap.sh
RUN ./configure --prefix=/usr --disable-dependency-tracking
RUN make
RUN make install
WORKDIR /usr/src/profanity
COPY . /usr/src/profanity