blob: 759258f263f019cecd6aeca306a6b008ffeb92ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
language: python
dist: trusty
sudo: false
cache:
ccache: true
directories:
- $HOME/Library/Caches/Homebrew
env:
global:
- QPDF_RELEASE=https://github.com/qpdf/qpdf/releases/download/release-qpdf-8.0.2/qpdf-8.0.2.tar.gz
- TWINE_USERNAME=ocrmypdf-travis
- secure: "d1PfCVoqvFFwAqm0QEozLLoUdEHaY0kAvawfc4lKdLSjI+yOJYoNdknU0r3TdwttNEF2VV+aY9q/4wVnYrEiF4L13E3s+UtDqIXwGk/b14JrdExIx/0yj642kbCJPycZqqRZgvGwYuhb6EF7e/QrsNYMwZ95E9oTyWa0ZaEkiPrrVJh9XSNDpw9I8REL3GecpfvF/GpHWX0VBHoaJfCgDzDDvHQPdfIXAZg+OLJOLNrR2ivvUD3gR371376fYPMPNsqMNqBghLdX8lnX2zkEc67An9ZBLi1dx46PhHjn8c06QOBQ25wcwtCxSnaXygkq5HXUXnpWmCbPcy3n98bJBE1P86M1eWo5c3KV4zwY3pvC6/ldFFAX0nC5Qr8xVpiBZIZKhqBEsX7HlCIRdN5OzmWXTkRhO05GtloH+IPuS8PH09vlaGfdCmBdJkvQjnkXL9Jdw5JJcIt9c//CgRjJ4CtHySA3I0XEnqbLHRhsYAyfJfM4ya3ou+eETpWVpnkZ4kbn8fuUkIpZL6YS9XtJCVCfh5uNpJ7BV0DzlZqdV//K3s9CTNyFac0L521YcFRwl0Nb72AlzbtGwWgWh1C8qmlJ/ENf0XI3dafvcqzPL61rwBlo0sah9DWxwUDWMUicUtp8qP5GK8VxHse+QlolJQVSb07jD6bf7+mILX0B3Mg="
matrix:
include:
- os: linux
sudo: required
python: "3.5"
addons: &gcc48
apt:
sources: [ubuntu-toolchain-r-test]
packages: [g++-4.8] # g++-4.8 supports c++11 but not c++14 at all; g++-4.9 won't work
env:
- MATRIX_EVAL="GCC=4.8" # defer setting CC to gcc- etc until before_install
- os: linux
sudo: required
python: "3.6"
addons: *gcc48
env:
- MATRIX_EVAL="GCC=4.8" # defer setting CC to gcc- etc until before_install
- os: linux
sudo: required
python: "3.6" # test other versions here
addons: &gcc7
apt:
sources: [ubuntu-toolchain-r-test]
packages: [g++-7] # g++-7 supports c++14
env:
- MATRIX_EVAL="GCC=7" # defer setting CC to gcc- etc until before_install
- os: osx
osx_image: xcode8.3
language: generic
- stage: wheels
os: osx
osx_image: xcode8.3
language: cpp # osx + language: python is broken
install:
- brew install qpdf
script:
- clang --version
- echo "CC=$CC CXX=$CXX"
- |
pip3 install pybind11 cibuildwheel
python3 setup.py sdist -d wheelhouse
export CCACHE_BASEDIR=`python3 -c "import tempfile; import os; print(os.path.realpath(tempfile.gettempdir()))"`
export CIBW_BEFORE_BUILD='{pip} install pybind11'
export CIBW_SKIP="cp27-* cp33-* cp34-*"
- cibuildwheel --output-dir wheelhouse
- |
if [[ $TRAVIS_TAG ]]; then
pip3 install twine
python3 -m twine upload wheelhouse/*.whl wheelhouse/*.tar.gz
fi
- stage: wheels
os: linux
python: "3.6" # only need one environment to build all linux wheels
sudo: required
services:
- docker
install:
- pip install pybind11
- pip install cibuildwheel # https://github.com/jbarlow83/cibuildwheel/archive/master.zip
#- mkdir gcc-x86_64 && wget -q https://github.com/Noctem/pogeo-toolchain/releases/download/v1.4/gcc-7.2-binutils-2.29-centos5-x86-64.tar.bz2 -O - | tar xj -C gcc-x86_64 --strip-components=1
#- mkdir ccache && wget -q https://www.samba.org/ftp/ccache/ccache-3.3.4.tar.bz2 -O - | tar xj -C ccache --strip-components=1
- mkdir qpdf && wget -q $QPDF_RELEASE -O - | tar xz -C qpdf --strip-components=1
script:
#- export CIBW_ENVIRONMENT='ARCH=x86_64 PATH="`pwd`/gcc-$ARCH/bin:$PATH" CC="ccache cc" CXX="ccache c++" CXXFLAGS="-static-libstdc++" LD_LIBRARY_PATH="`pwd`/gcc-$ARCH/lib" CCACHE_BASEDIR=`python -c "import tempfile; import os; print(os.path.realpath(tempfile.gettempdir()))"` CCACHE_DIR=/host'$HOME'/.ccache'
#- export CIBW_BEFORE_BUILD='{pip} install pybind11 && [ -d ccache/$ARCH ] || (unset CC CXX CXXFLAGS && mkdir ccache/$ARCH && cd ccache/$ARCH && ../configure && make install)'
#- export CIBW_ENVIRONMENT='ARCH=x86_64 PATH="`pwd`/gcc-$ARCH/bin:$PATH" CC="cc" CXX="c++" CXXFLAGS="-static-libstdc++" LD_LIBRARY_PATH="`pwd`/gcc-$ARCH/lib:$LD_LIBRARY_PATH"'
- export CIBW_BEFORE_BUILD='yum install -y libjpeg-devel zlib-devel && cd qpdf && ./autogen.sh && ./configure && make install && cd .. && {pip} install pybind11'
- export CIBW_SKIP="cp27-* cp33-* cp34-* *i686"
- cibuildwheel --output-dir wheelhouse
- |
if [[ $TRAVIS_TAG ]]; then
pip3 install twine
python3 -m twine upload wheelhouse/*.whl
fi
stages:
- name: test
- name: wheels
before_install:
- set -e
- eval "${MATRIX_EVAL}"
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
if [ -n "$GCC" ]; then
export CC="gcc-$GCC"
export CXX="g++-$GCC"
export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"
elif [ -n "$CLANG" ]; then
CC="ccache clang-$CLANG"
CXX="ccache clang++-$CLANG"
export CFLAGS="-Qunused-arguments"
export CXXFLAGS="-Qunused-arguments -stdlib=libc++"
fi
elif [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update -q
brew bundle --file=.travis/Brewfile
export PATH=/usr/local/opt/ccache/libexec:$PATH
CC=clang
CXX=clang++
fi
install:
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
mkdir qpdf
wget -q $QPDF_RELEASE -O - | tar xz -C qpdf --strip-components=1
cd qpdf/
./configure CC="ccache $CC" CXX="ccache $CXX"
make -j 2
sudo make install
cd ..
pip install --upgrade pip setuptools
PIP=pip
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
PIP=pip3
python3 -m venv venv
$PIP --version
source venv/bin/activate
$PIP --version
fi
- python3 setup.py sdist
- $PIP install pybind11
- $PIP install --verbose dist/*.tar.gz
- $PIP install -r test_requirements.txt
script:
- python3 -m pytest
|