Files
cproof/Dockerfile.arch
jabber.developer2 49b552dcb1
All checks were successful
CI Code / Check spelling (pull_request) Successful in 21s
CI Code / Check coding style (pull_request) Successful in 35s
CI Code / Code Coverage (pull_request) Successful in 15m31s
CI Code / Linux (debian) (pull_request) Successful in 16m1s
CI Code / Linux (arch) (pull_request) Successful in 16m11s
CI Code / Linux (ubuntu) (pull_request) Successful in 18m24s
feat: add code coverage with branch coverage
- Add --enable-coverage configure option
- Add lcov targets for generating coverage reports
- Enable branch coverage (--rc branch_coverage=1)
- Install lcov in all Docker images
- Coverage report displayed via lcov --summary (no Codecov - doesn't work with Gitea)
2026-01-19 20:49:37 +03:00

77 lines
1.6 KiB
Docker

FROM archlinux
ENV TERM=xterm
ENV CC="ccache gcc"
RUN pacman -Syu --noconfirm
# reflector is optional - if it fails due to network issues, continue with default mirrorlist
RUN pacman -S --needed --noconfirm reflector && \
(reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)
RUN pacman-key --init
RUN pacman -S --needed --noconfirm \
autoconf \
autoconf-archive \
automake \
base-devel \
ccache \
check \
cmake \
cmocka \
lcov \
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 --depth 1 -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 -j$(nproc)
RUN make install
WORKDIR /usr/src/profanity
COPY . /usr/src/profanity