Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 0e39420

Browse files
authored
Merge pull request #73 from mattip/update-subrepos
update submodules to latest versions
2 parents e8dc6ce + 1e6dae6 commit 0e39420

8 files changed

+45
-54
lines changed

.appveyor.yml

+4-21
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ environment:
1212
global:
1313
MINGW_32: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
1414
MINGW_64: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
15-
OPENBLAS_32: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.7-win32-gcc_7_1_0.zip"
16-
OPENBLAS_64: "https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/openblas-v0.3.7-win_amd64-gcc_7_1_0.zip"
1715

1816
CYTHON_BUILD_DEP: Cython
1917
TEST_MODE: fast
@@ -88,33 +86,18 @@ install:
8886
python -c "import sys,platform,struct;
8987
print(sys.platform, platform.machine(), struct.calcsize('P') * 8, )"
9088
89+
# Upgrade to the latest pip, setuptools, and wheel.
90+
- python -m pip install -U pip setuptools wheel urllib3
91+
9192
# Download and install static "openblas.a" to PYTHON\lib
9293
- ps: |
93-
$PYTHON_ARCH = $env:PYTHON_ARCH
9494
$PYTHON = $env:PYTHON
95-
If ($PYTHON_ARCH -eq 32) {
96-
$OPENBLAS = $env:OPENBLAS_32
97-
} Else {
98-
$OPENBLAS = $env:OPENBLAS_64
99-
}
100-
$clnt = new-object System.Net.WebClient
101-
$file = "$(New-TemporaryFile).zip"
102-
$tmpdir = New-TemporaryFile | %{ rm $_; mkdir $_ }
95+
$lib = python numpy/tools/openblas_support.py
10396
$destination = "$PYTHON\lib\openblas.a"
104-
echo $file
105-
echo $tmpdir
106-
echo $OPENBLAS
107-
$clnt.DownloadFile($OPENBLAS,$file)
108-
Expand-Archive $file $tmpdir
109-
rm $tmpdir\$PYTHON_ARCH\lib\*.dll.a
110-
$lib = ls $tmpdir\$PYTHON_ARCH\lib\*.a | ForEach { ls $_ } | Select-Object -first 1
11197
echo $lib
11298
cp $lib $destination
11399
ls $destination
114100
115-
# Upgrade to the latest pip, setuptools, and wheel.
116-
- python -m pip install -U pip setuptools wheel
117-
118101
# Install build requirements.
119102
- pip install "%CYTHON_BUILD_DEP%" --install-option="--no-cython-compile"
120103

.travis.yml

+11-9
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ env:
55
- BUILD_COMMIT=e94cec800304a6a467cf90ce4e7d3e207770b4b4
66
- BUILD_DEPENDS=cython
77
- TEST_DEPENDS="pytest hypothesis"
8-
- PLAT=x86_64
9-
- UNICODE_WIDTH=32
108
- WHEELHOUSE_UPLOADER_USERNAME=travis-worker
119
# Following generated with
1210
# travis encrypt -r MacPython/numpy-wheels WHEELHOUSE_UPLOADER_SECRET=<the api key>
@@ -17,44 +15,48 @@ env:
1715
- EXTRA_ARGV="'--disable-pytest-warnings'"
1816

1917
language: python
20-
# Default Python version is usually 2.7
21-
python: 3.6
22-
sudo: required
2318
dist: bionic
2419
services: docker
20+
os: linux
2521

26-
matrix:
27-
exclude:
28-
# Exclude the default Python 3.6 build
29-
- python: 3.6
22+
jobs:
3023
include:
3124
- os: linux
3225
env:
3326
- MB_PYTHON_VERSION=3.6
3427
- MB_ML_VER=2010
28+
- PLAT=x86_64
3529
- os: linux
3630
env:
3731
- MB_PYTHON_VERSION=3.6
3832
- MB_ML_VER=2010
3933
- PLAT=i686
34+
- ENV_VARS_PATH=env_vars_32.sh
35+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
4036
- os: linux
4137
env:
4238
- MB_PYTHON_VERSION=3.7
4339
- MB_ML_VER=2010
40+
- PLAT=x86_64
4441
- os: linux
4542
env:
4643
- MB_PYTHON_VERSION=3.7
4744
- MB_ML_VER=2010
4845
- PLAT=i686
46+
- ENV_VARS_PATH=env_vars_32.sh
47+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
4948
- os: linux
5049
env:
5150
- MB_PYTHON_VERSION=3.8
5251
- MB_ML_VER=2010
52+
- PLAT=x86_64
5353
- os: linux
5454
env:
5555
- MB_PYTHON_VERSION=3.8
5656
- MB_ML_VER=2010
5757
- PLAT=i686
58+
- ENV_VARS_PATH=env_vars_32.sh
59+
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
5860
- os: osx
5961
language: generic
6062
osx_image: xcode10.1

README.rst

+7-5
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,20 @@ How it works
1919

2020
The wheel-building repository:
2121

22-
* does a fresh build of any required C / C++ libraries;
23-
* builds a numpy wheel, linking against these fresh builds;
22+
* checks out either a known version of NumPy or master's HEAD
23+
* downloads OpenBLAS using numpy/tools/openblas_support.py
24+
* builds a numpy wheel, linking against the downloaded library and using
25+
the appropriate additional variables from `env_vars.sh` or `env_vars32.sh`
2426
* processes the wheel using delocate_ (OSX) or auditwheel_ ``repair``
25-
(Manylinux1_). ``delocate`` and ``auditwheel`` copy the required dynamic
27+
(manylinux_). ``delocate`` and ``auditwheel`` copy the required dynamic
2628
libraries into the wheel and relinks the extension modules against the
2729
copied libraries;
2830
* uploads the built wheels to http://wheels.scipy.org (a Rackspace container
2931
kindly donated by Rackspace to scikit-learn).
3032

3133
The resulting wheels are therefore self-contained and do not need any external
3234
dynamic libraries apart from those provided as standard by OSX / Linux as
33-
defined by the manylinux1 standard.
35+
defined by the manylinux standard.
3436

3537
The ``.travis.yml`` file in this repository has a line containing the API key
3638
for the Rackspace container encrypted with an RSA key that is unique to the
@@ -132,7 +134,7 @@ upload them to PyPI.
132134

133135
Of course, you will need permissions to upload to PyPI, for this to work.
134136

135-
.. _manylinux1: https://www.python.org/dev/peps/pep-0513
137+
.. _manylinux: https://www.python.org/dev/peps/pep-0513
136138
.. _twine: https://pypi.python.org/pypi/twine
137139
.. _bs4: https://pypi.python.org/pypi/beautifulsoup4
138140
.. _delocate: https://pypi.python.org/pypi/delocate

config.sh

+14-16
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,42 @@ function build_wheel {
77
local lib_plat=$PLAT
88
if [ -n "$IS_OSX" ]; then
99
install_gfortran
10+
else
11+
# For manylinux2010 builds with manylinux1 openblas builds
12+
$use_sudo yum install -y libgfortran-4.4.7
1013
fi
1114
build_libs $lib_plat
1215
# Fix version error for development wheels by using bdist_wheel
1316
build_bdist_wheel $@
1417
}
1518

1619
function build_libs {
17-
local plat=${1:-$PLAT}
18-
# Force 64-bit OpenBLAS library for macOS intel (dual arch)
19-
# builds. For these builds, we pretend to be dual arch, but in
20-
# fact we're only using the 64-bit build of OpenBLAS
21-
if [ -n $IS_OSX ] && [ $plat == intel ]; then
22-
plat=x86_64
23-
fi
24-
local tar_fname=$(get_gf_lib "openblas-${OPENBLAS_VERSION}" "$plat")
25-
local tar_path=$(abspath $tar_fname)
26-
# Sudo needed for macOS
27-
local use_sudo=""
28-
[ -n "$IS_OSX" ] && use_sudo="sudo"
29-
(cd / && $use_sudo tar zxf $tar_path)
20+
# Use the same incantation as numpy/tools/travis-before-install.sh to
21+
# download and un-tar the openblas libraries. The python call returns
22+
# the un-tar root directory, then the files are copied into /usr/local.
23+
# Could utilize a site.cfg instead to prevent the copy.
24+
python -mpip install urllib3
25+
basedir=$(python numpy/tools/openblas_support.py)
26+
$use_sudo cp -r $basedir/lib/* /usr/local/lib
27+
$use_sudo cp $basedir/include/* /usr/local/include
3028
}
3129

3230
function get_test_cmd {
3331
local extra_argv=${1:-$EXTRA_ARGV}
3432
echo "import sys; import numpy; \
3533
sys.exit(not numpy.test('full', \
36-
extra_argv=[${extra_argv}]))"
34+
extra_argv=['-vv', ${extra_argv}]))"
3735
}
3836

3937
function run_tests {
4038
# Runs tests on installed distribution from an empty directory
41-
# We only run the 64 bit tests as of NumPy 1.16.
4239
if [ -z "$IS_OSX" ]; then
4340
apt-get -y update && apt-get install -y gfortran
4441
fi
4542
python -c "$(get_test_cmd)"
4643
# Check bundled license file
4744
python ../check_license.py
48-
# Show BLAS / LAPACK used
45+
# Show BLAS / LAPACK used. Since this uses a wheel we cannot use
46+
# tools/openblas_config.py; tools is not part of what is shipped
4947
python -c 'import numpy; numpy.show_config()'
5048
}

env_vars_32.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Environment variables for 32-bit build.
2+
# The important difference from the 64-bit build is `-msse2` to
3+
# compile sse loops for ufuncs.
4+
OPENBLAS_VERSION="v0.3.7"
5+
MACOSX_DEPLOYMENT_TARGET=10.9
6+
CFLAGS="-msse2 -std=c99 -fno-strict-aliasing"

numpy

Submodule numpy updated 1088 files

0 commit comments

Comments
 (0)