Skip to content

Commit

Permalink
Merge pull request #648 from jakirkham/add_scipy
Browse files Browse the repository at this point in the history
Add scipy
  • Loading branch information
jakirkham committed May 21, 2016
2 parents c2819e2 + 0df8dc1 commit 71dc76a
Show file tree
Hide file tree
Showing 4 changed files with 188 additions and 0 deletions.
17 changes: 17 additions & 0 deletions recipes/scipy/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
set COMP_DIR=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows

set DISTUTILS_USE_SDK=1
set MSSdk=1

if %PY_VER%==3.5 (
REM This one is essential for getting DLL linkage on Py3.5+
set "PY_VCRUNTIME_REDIST=%LIBARARY_BIN%\vcruntime140.dll"
set VS=vs2015
) else (
set VS=vs2010
)

call "%COMP_DIR%\bin\ifortvars.bat" %INTEL_ARCH% %VS%

%PYTHON% setup.py install
if errorlevel 1 exit 1
34 changes: 34 additions & 0 deletions recipes/scipy/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash


# Letting SciPy set these for us.
# This may not be the best long term strategy,
# but it works fine to get our first build.
unset LDFLAGS

# Depending on our platform, shared libraries end with either .so or .dylib
if [[ `uname` == 'Darwin' ]]; then
DYLIB_EXT=dylib
else
DYLIB_EXT=so
fi

# If OpenBLAS is being used, we should be able to find the libraries.
# As OpenBLAS now will have all symbols that BLAS or LAPACK have,
# create libraries with the standard names that are linked back to
# OpenBLAS. This will make it easy for NumPy to find it.
test -f "${PREFIX}/lib/libopenblas.a" && ln -fs "${PREFIX}/lib/libopenblas.a" "${PREFIX}/lib/libblas.a"
test -f "${PREFIX}/lib/libopenblas.a" && ln -fs "${PREFIX}/lib/libopenblas.a" "${PREFIX}/lib/liblapack.a"
test -f "${PREFIX}/lib/libopenblas.${DYLIB_EXT}" && ln -fs "${PREFIX}/lib/libopenblas.${DYLIB_EXT}" "${PREFIX}/lib/libblas.${DYLIB_EXT}"
test -f "${PREFIX}/lib/libopenblas.${DYLIB_EXT}" && ln -fs "${PREFIX}/lib/libopenblas.${DYLIB_EXT}" "${PREFIX}/lib/liblapack.${DYLIB_EXT}"

$PYTHON setup.py install

# Need to clean these up as we don't want them as part of the NumPy package.
# If these are part of a BLAS (e.g. ATLAS), this won't cause us any problems
# as those would have been existing packages and `conda-build` would have
# ignored packaging those files anyways.
rm -f "${PREFIX}/lib/libblas.a"
rm -f "${PREFIX}/lib/liblapack.a"
rm -f "${PREFIX}/lib/libblas.${DYLIB_EXT}"
rm -f "${PREFIX}/lib/liblapack.${DYLIB_EXT}"
62 changes: 62 additions & 0 deletions recipes/scipy/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{% set version = "0.17.1" %}

{% set variant = "openblas" %}


package:
name: scipy
version: {{ version }}

source:
fn: scipy-{{ version }}.tar.gz
url: https://pypi.io/packages/source/s/scipy/scipy-{{ version }}.tar.gz
md5: 8987b9a3e3cd79218a0a423b21c8e4de

build:
number: 200
# We lack openblas on Windows, and therefore can't build scipy there either currently.
skip: true # [win]
features:
- blas_{{ variant }}

requirements:
build:
- gcc
- python
- cython
- blas 1.1 {{ variant }}
- openblas 0.2.18*
- numpy x.x
run:
- libgcc
- python
- blas 1.1 {{ variant }}
- openblas 0.2.18*
- numpy x.x

test:
requires:
- nose
imports:
- scipy
- scipy.integrate.vode
- scipy.linalg._fblas
- scipy.linalg._flapack
- scipy.sparse.linalg.eigen.arpack._arpack
- scipy.sparse.linalg.isolve._iterative

about:
home: http://www.scipy.org/
license: BSD 3-Clause
license_file: LICENSE.txt
summary: Scientific Library for Python
description: |
SciPy is a Python-based ecosystem of open-source software for mathematics,
science, and engineering.
doc_url: http://www.scipy.org/docs.html
dev_url: https://github.com/scipy/scipy

extra:
recipe-maintainers:
- jakirkham
- msarahan
75 changes: 75 additions & 0 deletions recipes/scipy/run_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import sys

import scipy
import scipy.cluster._hierarchy
import scipy.cluster._vq
import scipy.fftpack._fftpack
import scipy.fftpack.convolve
import scipy.integrate._dop
import scipy.integrate._odepack
import scipy.integrate._quadpack
import scipy.integrate._test_multivariate
import scipy.integrate._test_odeint_banded
import scipy.integrate.lsoda
import scipy.integrate.vode
import scipy.interpolate._fitpack
import scipy.interpolate._interpolate
import scipy.interpolate._ppoly
import scipy.interpolate.dfitpack
import scipy.interpolate.interpnd
import scipy.io.matlab.mio5_utils
import scipy.io.matlab.mio_utils
import scipy.io.matlab.streams
import scipy.linalg._calc_lwork
import scipy.linalg._decomp_update
import scipy.linalg._fblas
import scipy.linalg._flapack
import scipy.linalg._flinalg
import scipy.linalg._interpolative
import scipy.linalg._solve_toeplitz
import scipy.linalg.cython_blas
import scipy.linalg.cython_lapack
import scipy.ndimage._nd_image
import scipy.ndimage._ni_label
import scipy.odr.__odrpack
import scipy.optimize._cobyla
import scipy.optimize._group_columns
import scipy.optimize._lbfgsb
import scipy.optimize._lsq.givens_elimination
import scipy.optimize._minpack
import scipy.optimize._nnls
import scipy.optimize._slsqp
import scipy.optimize._zeros
import scipy.optimize.minpack2
import scipy.optimize.moduleTNC
import scipy.signal._max_len_seq_inner
import scipy.signal._spectral
import scipy.signal.sigtools
import scipy.signal.spline
import scipy.sparse._csparsetools
import scipy.sparse._sparsetools
import scipy.sparse.csgraph._min_spanning_tree
import scipy.sparse.csgraph._reordering
import scipy.sparse.csgraph._shortest_path
import scipy.sparse.csgraph._tools
import scipy.sparse.csgraph._traversal
import scipy.sparse.linalg.dsolve._superlu
import scipy.sparse.linalg.eigen.arpack._arpack
import scipy.sparse.linalg.isolve._iterative
import scipy.spatial._distance_wrap
import scipy.spatial.ckdtree
import scipy.spatial.qhull
import scipy.special._ellip_harm_2
import scipy.special._ufuncs
import scipy.special._ufuncs_cxx
import scipy.special.specfun
import scipy.stats._rank
import scipy.stats.mvn
import scipy.stats.statlib
import scipy.stats.vonmises_cython

import scipy.stats
import scipy.special


sys.exit(not scipy.test().wasSuccessful())

0 comments on commit 71dc76a

Please sign in to comment.