summary refs log tree commit diff stats
path: root/.travis.yml
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2016-12-13 16:12:03 -0500
committerPatrick Griffis <tingping@tingping.se>2017-06-13 23:54:51 -0400
commit628100c19f5d82747170acdf2917cba8c119ccbf (patch)
tree351a7e9714a1a58390ba349808df5703cef25c3e /.travis.yml
parent2edf50d4ddc61ce6f73bf02263c9bdd09632c66b (diff)
build: Replace Autotools with Meson
Quick rundown of benefits:

- Much faster:
  - Autotools (with autogen): 22 seconds
  - Meson: 7 seconds
  - Meson (with ccache): 2 seconds

- Simpler:
  - ~1000 lines smaller
  - Single simple language

- Potentially better Windows (Visual Studio) support

What is not done:

- Complete Windows support
- OSX support (easy)

Closes #2013
Closes #1937
Closes #1803
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml38
1 files changed, 11 insertions, 27 deletions
diff --git a/.travis.yml b/.travis.yml
index 667c14ec..7e7b4ab0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,16 @@
 sudo: required
-dist: trusty
-language: c
-cache: apt
-compiler: clang
+services: docker
+before_install:
+    - docker pull ubuntu:16.04
+    - docker run --privileged --cidfile=/tmp/cid ubuntu:16.04 /bin/sh -c 'apt-get update && apt-get install -y meson/xenial-backports libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libnotify-dev libpci-dev libperl-dev libproxy-dev libssl-dev python3-dev mono-devel desktop-file-utils'
+    - docker commit `cat /tmp/cid` hexchat/ubuntu-ci
+    - rm -f /tmp/cid
+install:
+    - docker run -d --privileged --cidfile=/tmp/cid --volume=${PWD}:/opt/hexchat hexchat/ubuntu-ci /bin/systemd --system
 script:
-    - ./autogen.sh --enable-textfe --with-theme-manager --enable-static-analysis
-    - make V=1 -j$(nproc)
+    - docker exec `cat /tmp/cid` /bin/sh -c 'meson /opt/hexchat /opt/hexchat-build -Dwith-text=true -Dwith-theme-manager=true && ninja -C /opt/hexchat-build install'
+after_script:
+    - docker kill `cat /tmp/cid`
 notifications:
     irc:
         channels: "chat.freenode.net#hexchat-devel"
@@ -13,24 +18,3 @@ notifications:
         on_success: change
 matrix:
      fast_finish: true
-addons:
-    apt:
-        packages:
-            - automake
-            - autoconf-archive
-            - imagemagick
-            - intltool
-            - libcanberra-dev
-            - libdbus-glib-1-dev
-            - libglib2.0-dev
-            - libgtk2.0-dev
-            - libluajit-5.1-dev
-            - libnotify-dev
-            - libpci-dev
-            - libperl-dev
-            - libproxy-dev
-            - libssl-dev
-            - libtool
-            - monodevelop
-            - mono-devel
-            - python-dev