]> granicus.if.org Git - recode/commitdiff
Add Travis and AppVeyor CI
authorReuben Thomas <rrt@sc3d.org>
Sun, 14 Jan 2018 23:32:02 +0000 (23:32 +0000)
committerReuben Thomas <rrt@sc3d.org>
Mon, 15 Jan 2018 22:57:41 +0000 (22:57 +0000)
.gitignore
.travis.yml [new file with mode: 0644]
appveyor.yml [new file with mode: 0644]
bootstrap.conf
build-aux/.gitignore [new file with mode: 0644]
build-aux/appveyor-install.sh [new file with mode: 0644]
doc/Makefile.am

index 7b9f1e5d0da999605298c5a889008749c5925a62..d58e2c94e7a8f973c190261fd6cfb277de888417 100644 (file)
@@ -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 (file)
index 0000000..20015f1
--- /dev/null
@@ -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 (file)
index 0000000..518e61e
--- /dev/null
@@ -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"
index 930592b9c785d13760f0f1eadf265bd3368054ac..bd0444065b90054f56912f9e976aa0d37bde4701 100644 (file)
@@ -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 (file)
index 0000000..c1aa10c
--- /dev/null
@@ -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 (file)
index 0000000..4e00b57
--- /dev/null
@@ -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 ..
index 19dc62bf79e105108213cbc96248b1838fbf7e2c..23e4e3efa59c1cfec8e093c5ce2c7a69c2785c14 100644 (file)
@@ -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)