From: Reuben Thomas Date: Sun, 14 Jan 2018 23:32:02 +0000 (+0000) Subject: Add Travis and AppVeyor CI X-Git-Tag: v3.7~128 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64efb54c88762c8e2e7eba7a7ff4f79ba72bc80c;p=recode Add Travis and AppVeyor CI --- diff --git a/.gitignore b/.gitignore index 7b9f1e5..d58e2c9 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ html/ /ABOUT-NLS /aclocal.m4 /autom4te.cache -/build-aux /compile /config.guess /config.h diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..20015f1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,54 @@ +language: c + +dist: trusty +sudo: required + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: &default_deps + - python + - cython + - flex + - help2man + - texinfo + - g++-5 + +env: + global: + - VERBOSE=1 # Get test logs in Travis logs + +matrix: + include: + - os: linux + env: + - COMPILER=g++-5 + - os: osx + osx_image: xcode9.2 + - compiler: gcc + env: + - COMPILER=g++-6 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - *default_deps + - [g++-6] + +before_install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python cython flex help2man texinfo ; fi + +# Need gettext 0.19, not in trusty; xenial doesn’t seem to work well yet on Travis +install: + - wget ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.gz + - tar zxvf gettext-0.19.8.1.tar.gz + - cd gettext-0.19.8.1 && ./configure && sudo make install && cd .. + +script: + - ./bootstrap + - ./configure + - make + - make distcheck diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..518e61e --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,20 @@ +version: "{build}" +clone_folder: c:\projects\recode + +environment: + global: + # Only need one flavour of dictionary + VERBOSE: 1 # Get test logs in output + matrix: + - MSYSTEM: MSYS + - MSYSTEM: MINGW64 + - MSYSTEM: MINGW32 + +init: + - git config --global core.autocrlf input + +install: + - C:\msys64\usr\bin\bash.exe -l c:/projects/recode/build-aux/appveyor-install.sh + +build_script: + - C:\msys64\usr\bin\bash.exe -lc "cd c:/projects/recode && ./bootstrap && ./configure %CONFIGURE_FLAGS% && make && make distcheck" diff --git a/bootstrap.conf b/bootstrap.conf index 930592b..bd04440 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -1,4 +1,4 @@ -# bootstrap.conf (Recode) version 2018-01-13 +# bootstrap.conf (Recode) version 2018-01-15 # This file is part of Recode. # @@ -29,8 +29,12 @@ checkout_only_file=.gitignore # Build prerequisites buildreq=' - git 1.5.5 http://git-scm.com - tar - http://www.gnu.org/s/tar + git 1.5.5 https://git-scm.com + gpg 1.4.11 https://www.gnupg.org + help2man 1.29 https://www.gnu.org/s/help2man + perl 5.5 https://perl.com + tar - https://www.gnu.org/s/tar + makeinfo 5.2 https://www.gnu.org/s/texinfo ' # Non-default gnulib directory options. diff --git a/build-aux/.gitignore b/build-aux/.gitignore new file mode 100644 index 0000000..c1aa10c --- /dev/null +++ b/build-aux/.gitignore @@ -0,0 +1,15 @@ +/bootstrap.in +/extract-trace +/funclib.sh +/inline-source +/options-parser +/compile +/config.guess +/config.rpath +/config.sub +/depcomp +/install-sh +/ltmain.sh +/mdate-sh +/missing +/texinfo.tex diff --git a/build-aux/appveyor-install.sh b/build-aux/appveyor-install.sh new file mode 100644 index 0000000..4e00b57 --- /dev/null +++ b/build-aux/appveyor-install.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Pre-install script for appveyor: install build deps + +# Get mingw type, if any, from MSYSTEM +case $MSYSTEM in + MINGW32) + MINGW_BITS=i686 + PREFIX=/mingw32 + ;; + MINGW64) + MINGW_BITS=x86_64 + PREFIX=/mingw64 + ;; + MSYS) + PREFIX=/usr + ;; +esac + +# Build dependencies +pacman --noconfirm -S base-devel rsync python2 texinfo + +# Cython +wget https://github.com/cython/cython/archive/0.27.3.tar.gz +tar zxvf 0.27.3.tar.gz +cd cython-0.27.3 +python2 setup.py install +cd .. diff --git a/doc/Makefile.am b/doc/Makefile.am index 19dc62b..23e4e3e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -34,6 +34,10 @@ TABLES_PY = $(PYTHON) $(top_srcdir)/tables.py $(srcdir)/recode.info: rfc1345.texi recode.dvi: rfc1345.texi +# Disable dvi target, to avoid needing TeX for make distcheck +# (and in any case, no-one wants DVI) +dvi: + # There is duplication of work with making src/strip-{pool,data}.c. # This used to be combined, but it seems clearer to keep both separate. rfc1345.texi: ../tables.py $(MNEMONICS_DS) $(CHARSETS_DEF)