Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
fengzch-das
multibuild
Commits
91a600e4
Commit
91a600e4
authored
Oct 16, 2017
by
xoviat
Committed by
GitHub
Oct 16, 2017
Browse files
Merge branch 'devel' into build_simple
parents
2a3bc85b
180f4f76
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
16 deletions
+43
-16
README.rst
README.rst
+29
-8
library_builders.sh
library_builders.sh
+9
-4
osx_utils.sh
osx_utils.sh
+5
-4
No files found.
README.rst
View file @
91a600e4
################################################
######
################################################
Utilities for building on
t
ravis-
ci with OSX and Linux
Utilities for building on
T
ravis-
CI and AppVeyor
################################################
######
################################################
A set of scripts to automate builds of OSX and manylinux1 wheels on travis-ci
A set of scripts to automate builds of OSX and manylinux1 wheels on the
infrastructure.
`Travis-CI <http://travis-ci.org/>`_ infrastructure, and also Windows
wheels on the `AppVeyor <https://ci.appveyor.com/>`_ infrastructure.
The
se
scripts are designed to build *and test*:
The
TravisCI
scripts are designed to build *and test*:
* Dual architecture OSX wheels;
* Dual architecture OSX wheels;
* 64-bit manylinux1_x86_64 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.
* 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.
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
...
@@ -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
wide and narrow unicode Python 2 builds, which was not easy on the default
travis-ci configurations.
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?
How does it work?
*****************
*****************
...
@@ -318,6 +326,19 @@ To use these scripts
...
@@ -318,6 +326,19 @@ To use these scripts
* Make sure your project is set up to build on travis-ci, and you should now
* 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).
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
If your project depends on numpy, you will want to build against the earliest
numpy that your project supports - see `forward, backward numpy compatibility
numpy that your project supports - see `forward, backward numpy compatibility
...
...
library_builders.sh
View file @
91a600e4
...
@@ -52,13 +52,14 @@ function build_simple {
...
@@ -52,13 +52,14 @@ function build_simple {
local
name
=
$1
local
name
=
$1
local
version
=
$2
local
version
=
$2
local
url
=
$3
local
url
=
$3
local
configure_args
=
${
@
:4
}
local
ext
=
${
4
:-
tar
.gz
}
local
configure_args
=
${
@
:5
}
if
[
-e
"
${
name
}
-stamp"
]
;
then
if
[
-e
"
${
name
}
-stamp"
]
;
then
return
return
fi
fi
local
name_version
=
"
${
name
}
-
${
version
}
"
local
name_version
=
"
${
name
}
-
${
version
}
"
local
t
ar
gz
=
${
name_version
}
.
tar.gz
local
ar
chive
=
${
name_version
}
.
${
ext
}
fetch_unpack
$url
/
$
t
ar
gz
fetch_unpack
$url
/
$ar
chive
(
cd
$name_version
\
(
cd
$name_version
\
&&
./configure
--prefix
=
$BUILD_PREFIX
$configure_args
\
&&
./configure
--prefix
=
$BUILD_PREFIX
$configure_args
\
&&
make
\
&&
make
\
...
@@ -144,7 +145,11 @@ function build_openjpeg {
...
@@ -144,7 +145,11 @@ function build_openjpeg {
build_tiff
build_tiff
build_lcms2
build_lcms2
local
cmake
=
$(
get_cmake
)
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
}
\
(
cd
openjpeg-version.
${
OPENJPEG_VERSION
}
\
&&
$cmake
-DCMAKE_INSTALL_PREFIX
=
$BUILD_PREFIX
.
\
&&
$cmake
-DCMAKE_INSTALL_PREFIX
=
$BUILD_PREFIX
.
\
&&
make
install
)
&&
make
install
)
...
...
osx_utils.sh
View file @
91a600e4
...
@@ -12,15 +12,16 @@ GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py
...
@@ -12,15 +12,16 @@ GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py
DOWNLOADS_SDIR
=
downloads
DOWNLOADS_SDIR
=
downloads
WORKING_SDIR
=
working
WORKING_SDIR
=
working
# As of 1
August
2017 - latest Python of each version with binary download
# As of 1
5 October
2017 - latest Python of each version with binary download
# available.
# 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_2p6
=
2.6.6
LATEST_3p2
=
3.2.5
LATEST_3p2
=
3.2.5
LATEST_3p3
=
3.3.5
LATEST_3p3
=
3.3.5
LATEST_3p4
=
3.4.4
LATEST_3p4
=
3.4.4
LATEST_3p5
=
3.5.
3
LATEST_3p5
=
3.5.
4
LATEST_3p6
=
3.6.
2
LATEST_3p6
=
3.6.
3
function
check_python
{
function
check_python
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment