diff --git a/.travis.yml b/.travis.yml index 9ca8a9f32..b5d19d0cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,54 @@ sudo: false language: emacs-lisp + +addons: + apt: + packages: + - autogen + - ca-certificates + - curl + - gcc + - libgmp-dev + - m4 + - make + - pkg-config + - xz-utils + +cache: + directories: + - $HOME/local + env: - - EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test - - EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test-bytecomp - - EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test - - EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test-bytecomp - - EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test - - EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test-bytecomp - - EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test - - EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-bytecomp - - EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-checks - - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test - - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-bytecomp - - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-checks + global: + - PATH=$HOME/local/bin:$PATH + matrix: + - EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test + - EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test + - EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test + - EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test + - EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test + - EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test-checks + - EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test + - EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test-checks + - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test + - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-bytecomp + - EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-checks before_script: + - sudo sh travis-ci/travis-gnutls.sh + - gnutls-cli -v - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh - evm install $EMACS_BINARY --use --skip - make elpa script: - emacs --version - make $MAKE_TEST -matrix: - - env: EMACS_BINARY=emacs-git-snapshot-travis notifications: webhooks: diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dae42883..5606bdb7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ * [#2088](https://github.com/clojure-emacs/cider/issues/2088): Fix functions defined with `def` being font-locked as vars instead of functions. * [#1651](https://github.com/clojure-emacs/cider/issues/1651), [cider-nrepl#445](https://github.com/clojure-emacs/cider-nrepl/pull/455): Fix `cider-expected-ns` returns `nil` on boot projects. +* [#2120](https://github.com/clojure-emacs/cider/issues/2120): Fix Travis CI build errors for emacs versions >25.2. ## 0.15.1 (2017-09-13) diff --git a/travis-ci/travis-gnutls.sh b/travis-ci/travis-gnutls.sh new file mode 100755 index 000000000..b89542f58 --- /dev/null +++ b/travis-ci/travis-gnutls.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# Setup a newer gnutls-cli on Travis CI +# We need this as long as the Travis workers are Ubuntu 14.04 +# and the TLS cert chain on elpa.gnu.org is out-of-order + +set -x + +# adjust these versions as needed +export NETTLE_VERSION=3.4 +export GNUTLS_VERSION=3.5.16 + +export WORKDIR=${HOME}/local/ +export LD_LIBRARY_PATH=${WORKDIR}/lib/ +export PKG_CONFIG_PATH=${WORKDIR}/lib/pkgconfig/ + +# exit if the cache is valid and up-to-date +if [ -f ${WORKDIR}/bin/gnutls-cli ] && \ + [ -f ${WORKDIR}/nettle-${NETTLE_VERSION}.tar.gz ] && \ + [ -f ${WORKDIR}/gnutls-${GNUTLS_VERSION}.tar.xz ] +then + exit 0 +fi + +# delete cache and rebuild +rm -rf $WORKDIR +mkdir $WORKDIR +cd $WORKDIR +curl -O https://ftp.gnu.org/gnu/nettle/nettle-${NETTLE_VERSION}.tar.gz \ + && tar xfz nettle-${NETTLE_VERSION}.tar.gz \ + && cd nettle-${NETTLE_VERSION} \ + && ./configure --prefix=${WORKDIR} \ + && make -j4 install \ + && make distclean + +cd $WORKDIR +curl -O https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-${GNUTLS_VERSION}.tar.xz \ + && xz -d -k gnutls-${GNUTLS_VERSION}.tar.xz \ + && tar xf gnutls-${GNUTLS_VERSION}.tar \ + && cd gnutls-${GNUTLS_VERSION} \ + && ./configure --prefix=${WORKDIR} \ + --with-included-libtasn1 \ + --with-included-unistring \ + --without-p11-kit \ + && make -j4 install \ + && make distclean