You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
3.8 KiB

language: go
dist: xenial
sudo: required
go:
# - "1.13"
- "1.14"
env:
# - LIBVIPS=7.42.3
# - LIBVIPS=8.3.3
# - LIBVIPS=8.4.6
# - LIBVIPS=8.5.8
# - LIBVIPS=8.6.2
# - LIBVIPS=8.7.4
# - LIBVIPS=8.8.4
- LIBVIPS=8.9.2
# - LIBVIPS=master
matrix:
allow_failures:
- env: LIBVIPS=7.42.3
- env: LIBVIPS=8.4.6
- env: LIBVIPS=master
cache:
apt:
directories:
- $HOME/libvips
addons:
apt:
update: true
sources:
# use a more recent imagemagick instead of 6.8.9-9
- sourceline: 'ppa:cran/imagemagick'
- sourceline: 'ppa:strukturag/libheif'
- sourceline: 'ppa:strukturag/libde265'
packages:
- curl
- automake
- gtk-doc-tools
- gobject-introspection
- python3-pip
- python3-setuptools
- python3-wheel
- libfftw3-dev
- libexif-dev
- libjpeg-turbo8-dev
- libpng12-dev
- libwebp-dev
# missing on xenial, unfortunately
# - libwebpmux2
- libtiff5-dev
- libheif-dev
- libexpat1-dev
- libmagick++-dev
- libcfitsio3-dev
- libgsl0-dev
- libmatio-dev
- liborc-0.4-dev
- liblcms2-dev
- libpoppler-glib-dev
- librsvg2-dev
- libgif-dev
- libopenexr-dev
- libpango1.0-dev
- libgsf-1-dev
- libopenslide-dev
- libffi-dev
script:
- >
cd /tmp && \
curl -fsSLO https://github.com/libvips/libvips/releases/download/v${LIBVIPS}/vips-${LIBVIPS}.tar.gz && \
tar zvxf vips-${LIBVIPS}.tar.gz && \
cd /tmp/vips-${LIBVIPS} && \
test -f autogen.sh && ./autogen.sh || ./bootstrap.sh && \
CFLAGS="-g -O3" CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -g -O3" \
./configure \
--disable-debug \
--disable-dependency-tracking \
--disable-introspection \
--disable-static \
--enable-gtk-doc-html=no \
--enable-gtk-doc=no \
--enable-pyvips8=no \
--without-orc \
--without-python \
--prefix=$HOME/libvips $1 && \
make && \
make install && \
ldconfig
- cd ..
- export PATH=$PATH:$HOME/libvips/bin
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/libvips/lib/pkgconfig
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/libvips/lib
- vips --vips-version
- go get -u golang.org/x/lint/golint
# - >
# test "$LIBVIPS" != "master" -a "$LIBVIPS" \< "8.4" \
# && wget http://www.vips.ecs.soton.ac.uk/supported/${LIBVIPS%.*}/vips-${LIBVIPS}.tar.gz -O vips.tgz \
# || echo ":-)"
# - >
# test "$LIBVIPS" != "master" -a "$LIBVIPS" \> "8.4" \
# && wget https://github.com/libvips/libvips/archive/v${LIBVIPS}.tar.gz -O vips.tgz \
# || echo ":-)"
# - >
# test $LIBVIPS == "master" \
# && wget https://github.com/libvips/libvips/archive/${LIBVIPS}.tar.gz -O vips.tgz \
# || echo ":-)"
# - mkdir libvips
# - tar xf vips.tgz -C libvips --strip-components 1
# - cd libvips
# - test -f autogen.sh && ./autogen.sh || ./bootstrap.sh
# - >
# CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
# ./configure
# --disable-debug
# --disable-dependency-tracking
# --disable-introspection
# --disable-static
# --enable-gtk-doc-html=no
# --enable-gtk-doc=no
# --enable-pyvips8=no
# --without-orc
# --without-python
# --prefix=$HOME/libvips
# $1
# - make
# - make install
# - cd ..
# - export PATH=$PATH:$HOME/libvips/bin
# - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/libvips/lib/pkgconfig
# - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/libvips/lib
# - vips --vips-version
# script:
- diff -u <(echo -n) <(gofmt -s -d ./)
- diff -u <(echo -n) <(go vet ./)
- diff -u <(echo -n) <(golint ./)
- go test -v -race -covermode=atomic -coverprofile=coverage.out
after_success:
- goveralls -coverprofile=coverage.out -service=travis-ci