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

Move travis from Ubuntu to docker+openSUSE

Travis supports only quite old Ubuntu releases.
They don't ship with libsignal-protocol-c and not with a recent enough
libgrcypt.
We could build libsignal-protocol-c manually but for libgcrypt it's more
annoying.
Let us switch to Docker and use openSUSE Tumbleweed, which is rolling
release) and thus have up to date libs.
This commit is contained in:
Michael Vetter 2019-04-13 21:51:20 +02:00
parent 4532735956
commit 9cd5dfbdaa
2 changed files with 54 additions and 44 deletions

View File

@ -1,46 +1,10 @@
dist: xenial
sudo: required sudo: required
language: c language: c
install: services:
- lsb_release -a - docker
- uname -a
- sudo apt-get update before_install:
- sudo apt-get -y install libssl-dev libexpat1-dev libncursesw5-dev libglib2.0-dev libnotify-dev libcurl3-dev libxss-dev libotr5-dev libgpgme11-dev autoconf-archive expect-dev tcl-dev libtool python-dev libgtk2.0-dev libcmocka-dev - docker build -f Dockerfile -t profanity .
- git clone git://github.com/boothj5/libmesode.git
- cd libmesode script:
- mkdir m4 - docker run -it profanity ./travis-build.sh
- ./bootstrap.sh
- ./configure --prefix=/usr
- make
- sudo make install
- cd ..
- rm -rf libmesode
- sudo apt-get install libmicrohttpd-dev
- git clone git://github.com/boothj5/stabber.git
- cd stabber
- ./bootstrap.sh
- ./configure --prefix=/usr
- make
- sudo make install
- cd ..
- rm -rf stabber
- git clone https://github.com/signalapp/libsignal-protocol-c.git
- cd libsignal-protocol-c
- git checkout v2.3.2
- mkdir build
- cd build
- cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
- make
- sudo make install
- cd ../../
- rm -rf libsignal-protocol-c
- wget https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.0.tar.bz2
- tar xfv libgcrypt-1.7.0.tar.bz2
- cd libgcrypt-1.7.0
- ./configure --prefix=/usr
- make
- sudo make install
- cd ..
- rm -rf libgcrypt-1.7.0
- cat /usr/include/gcrypt.h
script: ./travis-build.sh

46
Dockerfile Normal file
View File

@ -0,0 +1,46 @@
# Build the latest openSUSE Tumbleweed image
FROM opensuse/tumbleweed
RUN zypper --non-interactive in --no-recommends \
git \
gcc \
autoconf \
autoconf-archive \
make \
automake \
libtool \
glib2-devel \
gtk2-devel \
libXss-devel \
libcurl-devel \
libexpat-devel \
libgpgme-devel \
libmesode-devel \
libnotify-devel \
libotr-devel \
libuuid-devel \
libcmocka-devel \
ncurses-devel \
python3-devel \
python3 \
python-devel \
python \
readline-devel \
libsignal-protocol-c-devel \
libgcrypt-devel \
libmicrohttpd-devel
RUN mkdir -p /usr/src
WORKDIR /usr/src
RUN mkdir -p /usr/src/stabber
RUN git clone git://github.com/boothj5/stabber.git
WORKDIR /usr/src/stabber
RUN ./bootstrap.sh
RUN ./configure --prefix=/usr --disable-dependency-tracking
RUN make
RUN make install
RUN mkdir -p /usr/src/profanity
WORKDIR /usr/src/profanity
COPY . /usr/src/profanity