-
-
Notifications
You must be signed in to change notification settings - Fork 645
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Fixes the Travis CI build errors reported in #2120. Diffs to .travis.yml are as follows: (1) I've added some explicit package dependencies into addons.apt.packages. This is basically the compiler toolchain needed to build gnutls from source (2) Configured $HOME/local to be cached by Travis between subsequent builds. This is done with the setting cache.directories. See Travis documentation for further information about the caching of data. Basically, the contents of that folder are rolled up into a tar ball and saved to an S3 bucket whenever the contents change. The tarball is retrieved and installed prior to the start of your CI job. (3) Added a utility script named travis-ci/travis-gnutls.sh which handles the downloading and compiling of the sources. The script is organized so that the version of gnutls can be easily updated whenever needed. Just edit the version numbers in that script and push the change. The script is able to detect when it doesn't have the specific version requested, and when that happens it deletes the cache and rebuilds gnutls. (4) While I was at it, I added emacs 25.3-travis and 26-pretest-travis to the build matrix. Note that git-snapshot-travis now reports itself as being version 27. (Also note, emacs 26 and 27 are still broken builds, but at least now it's not because of the build script itself.)
- Loading branch information
1 parent
c1a500d
commit b484daa
Showing
3 changed files
with
87 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |