Commit 91a600e4 authored by xoviat's avatar xoviat Committed by GitHub
Browse files

Merge branch 'devel' into build_simple

parents 2a3bc85b 180f4f76
######################################################
Utilities for building on travis-ci with OSX and Linux
######################################################
################################################
Utilities for building on Travis-CI and AppVeyor
################################################
A set of scripts to automate builds of OSX and manylinux1 wheels on travis-ci
infrastructure.
A set of scripts to automate builds of OSX and manylinux1 wheels on the
`Travis-CI <http://travis-ci.org/>`_ infrastructure, and also Windows
wheels on the `AppVeyor <https://ci.appveyor.com/>`_ infrastructure.
These scripts are designed to build *and test*:
The TravisCI scripts are designed to build *and test*:
* Dual architecture OSX wheels;
* 64-bit manylinux1_x86_64 wheels, both narrow and wide unicode builds;
* 32-bit manylinux1_i686 wheels, both narrow and wide unicode builds.
* 64-bit ``manylinux1_x86_64`` wheels, both narrow and wide unicode builds;
* 32-bit ``manylinux1_i686`` wheels, both narrow and wide unicode builds.
You can currently build and test against Pythons 2.6, 2.7, 3.3, 3.4, 3.5, 3.6.
......@@ -17,6 +18,13 @@ The small innovation here is that you can test against 32-bit builds, and both
wide and narrow unicode Python 2 builds, which was not easy on the default
travis-ci configurations.
The AppVeyor setup is designed to build *and test*:
* 64-bit Windows ``win_amd64`` wheels;
* 32-bit Windows ``win32`` wheels.
You can currently build and test against Pythons 2.7, 3.4, 3.5, 3.6.
*****************
How does it work?
*****************
......@@ -318,6 +326,19 @@ To use these scripts
* Make sure your project is set up to build on travis-ci, and you should now
be ready (to begin the long slow debugging process, probably).
* For the Windows wheels, create an ``appveyor.yml`` file, something like:
- https://github.com/MacPython/numpy-wheels/blob/master/appveyor.yml
- https://github.com/MacPython/astropy-wheels/blob/master/appveyor.yml
- https://github.com/MacPython/nipy-wheels/blob/master/appveyor.yml
- https://github.com/MacPython/pytables-wheels/blob/master/appveyor.yml
Note the Windows test customisations etc are inside ``appveyor.yml``,
and that ``config.sh`` is only for the Linux/Mac builds on TravisCI.
* Make sure your project is set up to build on appveyor, and you should now
be ready (for what could be another round of slow debugging).
If your project depends on numpy, you will want to build against the earliest
numpy that your project supports - see `forward, backward numpy compatibility
......
......@@ -52,13 +52,14 @@ function build_simple {
local name=$1
local version=$2
local url=$3
local configure_args=${@:4}
local ext=${4:-tar.gz}
local configure_args=${@:5}
if [ -e "${name}-stamp" ]; then
return
fi
local name_version="${name}-${version}"
local targz=${name_version}.tar.gz
fetch_unpack $url/$targz
local archive=${name_version}.${ext}
fetch_unpack $url/$archive
(cd $name_version \
&& ./configure --prefix=$BUILD_PREFIX $configure_args \
&& make \
......@@ -144,7 +145,11 @@ function build_openjpeg {
build_tiff
build_lcms2
local cmake=$(get_cmake)
fetch_unpack https://github.com/uclouvain/openjpeg/archive/version.${OPENJPEG_VERSION}.tar.gz
local archive_prefix="v"
if [ $(lex_ver $OPENJPEG_VERSION) -lt $(lex_ver 2.1.1) ]; then
archive_prefix="version."
fi
fetch_unpack https://github.com/uclouvain/openjpeg/archive/${archive_prefix}${OPENJPEG_VERSION}.tar.gz
(cd openjpeg-version.${OPENJPEG_VERSION} \
&& $cmake -DCMAKE_INSTALL_PREFIX=$BUILD_PREFIX . \
&& make install)
......
......@@ -12,15 +12,16 @@ GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py
DOWNLOADS_SDIR=downloads
WORKING_SDIR=working
# As of 1 August 2017 - latest Python of each version with binary download
# As of 15 October 2017 - latest Python of each version with binary download
# available.
LATEST_2p7=2.7.13
# See: https://www.python.org/downloads/mac-osx/
LATEST_2p7=2.7.14
LATEST_2p6=2.6.6
LATEST_3p2=3.2.5
LATEST_3p3=3.3.5
LATEST_3p4=3.4.4
LATEST_3p5=3.5.3
LATEST_3p6=3.6.2
LATEST_3p5=3.5.4
LATEST_3p6=3.6.3
function check_python {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment